From 92078dc2f0a1b7b8af09f24522b5ebb4a3229896 Mon Sep 17 00:00:00 2001 From: Xylonity Date: Sat, 6 Jul 2024 14:59:11 +0200 Subject: [PATCH] Initial commit for 1.20.1-forge branch --- .gitattributes | 9 + .gitignore | 40 + build.gradle | 221 +++++ gradle.properties | 24 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 62076 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 244 ++++++ gradlew.bat | 92 +++ settings.gradle | 15 + .../5abdec05dd995a633321c56aa748c00d0b22870b | 25 + .../loot_modifiers/global_loot_modifiers.json | 28 + .../entities/bad_patch_small_essence.json | 11 + .../entities/blaze_small_essence.json | 11 + .../entities/cave_spider_small_essence.json | 11 + .../entities/creeper_small_essence.json | 11 + .../entities/drowned_small_essence.json | 11 + .../entities/eldbomb_small_essence.json | 11 + .../entities/eldknight_small_essence.json | 11 + .../entities/enderman_small_essence.json | 11 + .../entities/ghast_small_essence.json | 11 + .../entities/gremlin_small_essence.json | 11 + .../entities/lizzy_lizzy_scale.json | 11 + .../entities/lizzy_small_essence.json | 11 + .../entities/magma_cube_small_essence.json | 11 + .../entities/phantom_small_essence.json | 11 + .../entities/ratman_ratman_eye.json | 11 + .../entities/ratman_small_essence.json | 11 + .../entities/samhain_small_essence.json | 11 + .../entities/skeleton_small_essence.json | 11 + .../entities/slime_small_essence.json | 11 + .../entities/stray_small_essence.json | 11 + .../entities/swampman_small_essence.json | 11 + .../entities/vex_small_essence.json | 11 + .../entities/zombie_small_essence.json | 11 + .../net/xylonity/knightquest/KnightQuest.java | 73 ++ .../common/block/ChaliceBlock.java | 186 +++++ .../common/client/GeoItemArmor.java | 64 ++ .../common/client/GeoItemArmorModel.java | 32 + .../common/client/GeoItemArmorRenderer.java | 9 + .../common/entity/client/BadPatchModel.java | 41 + .../entity/client/BadPatchRenderer.java | 33 + .../common/entity/client/EldBombModel.java | 41 + .../common/entity/client/EldBombRenderer.java | 36 + .../common/entity/client/EldKnightModel.java | 41 + .../entity/client/EldKnightRenderer.java | 37 + .../common/entity/client/GhostyModel.java | 41 + .../common/entity/client/GhostyRenderer.java | 33 + .../common/entity/client/GremlinModel.java | 45 ++ .../common/entity/client/GremlinRenderer.java | 44 + .../common/entity/client/LizzyModel.java | 41 + .../common/entity/client/LizzyRenderer.java | 33 + .../common/entity/client/MommaLizzyModel.java | 41 + .../entity/client/MommaLizzyRenderer.java | 33 + .../common/entity/client/RatmanModel.java | 41 + .../common/entity/client/RatmanRenderer.java | 37 + .../common/entity/client/SamhainModel.java | 47 ++ .../common/entity/client/SamhainRenderer.java | 41 + .../common/entity/client/ShieldModel.java | 41 + .../common/entity/client/ShieldRenderer.java | 37 + .../common/entity/client/SwampmanModel.java | 41 + .../entity/client/SwampmanRenderer.java | 37 + .../entity/entities/BadPatchEntity.java | 112 +++ .../common/entity/entities/EldBombEntity.java | 138 ++++ .../entity/entities/EldKnightEntity.java | 232 ++++++ .../common/entity/entities/GhostyEntity.java | 197 +++++ .../common/entity/entities/GremlinEntity.java | 203 +++++ .../common/entity/entities/LizzyEntity.java | 107 +++ .../entity/entities/MommaLizzyEntity.java | 116 +++ .../common/entity/entities/RatmanEntity.java | 236 ++++++ .../common/entity/entities/SamhainEntity.java | 373 +++++++++ .../common/entity/entities/ShieldEntity.java | 202 +++++ .../entity/entities/SwampmanEntity.java | 113 +++ .../common/event/KQClientEventProviders.java | 23 + .../common/event/KQEventRegisters.java | 62 ++ .../common/event/KQExtraEvents.java | 40 + .../knightquest/common/item/KQArmorItem.java | 562 +++++++++++++ .../common/item/KQFullSetChecker.java | 27 + .../knightquest/common/item/KQItem.java | 28 + .../common/material/KQArmorMaterials.java | 171 ++++ .../common/material/KQItemMaterials.java | 62 ++ .../common/particle/GhostyParticle.java | 78 ++ .../common/particle/GremlinParticle.java | 99 +++ .../common/particle/StarsetParticle.java | 104 +++ .../common/particle/YellowParticle.java | 60 ++ .../knightquest/common/tags/KQTags.java | 27 + .../config/KnightQuestCommonConfigs.java | 36 + .../config/values/KQConfigValues.java | 20 + .../datagen/KQAddItemModifier.java | 61 ++ .../KQGlobalLootModifiersProvider.java | 68 ++ .../datagen/KQItemModelProvider.java | 16 + .../knightquest/datagen/KQLootModifiers.java | 17 + .../registry/KnightQuestBlocks.java | 50 ++ .../registry/KnightQuestCreativeModeTabs.java | 267 ++++++ .../registry/KnightQuestEntities.java | 43 + .../registry/KnightQuestItems.java | 521 ++++++++++++ .../registry/KnightQuestParticles.java | 24 + src/main/resources/META-INF/mods.toml | 70 ++ .../animations/bad_patch.animation.json | 274 +++++++ .../animations/eldbomb.animation.json | 407 ++++++++++ .../animations/eldknight.animation.json | 706 ++++++++++++++++ .../animations/gremlin.animation.json | 694 ++++++++++++++++ .../animations/helmet.animation.json | 9 + .../animations/lizzy.animation.json | 760 ++++++++++++++++++ .../animations/momma_lizzy.animation.json | 298 +++++++ .../animations/ratman.animation.json | 517 ++++++++++++ .../animations/samhain.animation.json | 503 ++++++++++++ .../animations/swampman.animation.json | 302 +++++++ .../blockstates/great_chalice.json | 9 + .../knightquest/geo/apple_helmet.geo.json | 32 + .../assets/knightquest/geo/bad_patch.geo.json | 68 ++ .../knightquest/geo/bamboo_helmet.geo.json | 31 + .../geo/bambooblue_helmet.geo.json | 35 + .../geo/bamboogreen_helmet.geo.json | 32 + .../knightquest/geo/bat_helmet.geo.json | 32 + .../knightquest/geo/blaze_helmet.geo.json | 32 + .../knightquest/geo/bow_helmet.geo.json | 31 + .../geo/chainmail_helmet2.geo.json | 30 + .../geo/conquistador2_helmet.geo.json | 31 + .../geo/conquistador3_helmet.geo.json | 33 + .../geo/conquistador_helmet.geo.json | 31 + .../knightquest/geo/deepslate_helmet.geo.json | 34 + .../knightquest/geo/dragon_helmet.geo.json | 32 + .../assets/knightquest/geo/eldbomb.geo.json | 58 ++ .../assets/knightquest/geo/eldknight.geo.json | 72 ++ .../knightquest/geo/enderman_helmet.geo.json | 31 + .../knightquest/geo/evoker_helmet.geo.json | 31 + .../knightquest/geo/forze_helmet.geo.json | 34 + .../knightquest/geo/forze_main.geo.json | 55 ++ .../assets/knightquest/geo/ghosty.geo.json | 55 ++ .../assets/knightquest/geo/gremlin.geo.json | 82 ++ .../knightquest/geo/hollow_helmet.geo.json | 34 + .../knightquest/geo/horn_helmet.geo.json | 34 + .../knightquest/geo/husk_helmet.geo.json | 33 + .../knightquest/geo/husk_helmet2.geo.json | 35 + .../knightquest/geo/husk_helmet3.geo.json | 34 + .../assets/knightquest/geo/lizzy.geo.json | 82 ++ .../knightquest/geo/momma_lizzy.geo.json | 101 +++ .../knightquest/geo/nether_helmet.geo.json | 34 + .../knightquest/geo/path_helmet.geo.json | 30 + .../knightquest/geo/phantom_helmet.geo.json | 31 + .../knightquest/geo/pirate2_helmet.geo.json | 30 + .../knightquest/geo/pirate3_helmet.geo.json | 30 + .../knightquest/geo/pirate_helmet.geo.json | 31 + .../knightquest/geo/polar_helmet.geo.json | 30 + .../assets/knightquest/geo/ratman.geo.json | 85 ++ .../assets/knightquest/geo/samhain.geo.json | 73 ++ .../knightquest/geo/samhain_squire.geo.json | 81 ++ .../knightquest/geo/sea_helmet.geo.json | 33 + .../assets/knightquest/geo/shield.geo.json | 25 + .../knightquest/geo/shield_helmet.geo.json | 32 + .../knightquest/geo/shinobi_helmet.geo.json | 30 + .../knightquest/geo/silver_helmet.geo.json | 34 + .../knightquest/geo/silver_main.geo.json | 55 ++ .../geo/silverfish_helmet.geo.json | 31 + .../knightquest/geo/skeleton_helmet.geo.json | 30 + .../knightquest/geo/skulk2_helmet.geo.json | 38 + .../knightquest/geo/skulk3_helmet.geo.json | 38 + .../knightquest/geo/skulk4_helmet.geo.json | 34 + .../knightquest/geo/skulk_helmet.geo.json | 34 + .../knightquest/geo/spider_helmet.geo.json | 30 + .../knightquest/geo/spider_main.geo.json | 54 ++ .../knightquest/geo/squire_helmet.geo.json | 31 + .../knightquest/geo/strawhat_helmet.geo.json | 33 + .../assets/knightquest/geo/swampman.geo.json | 86 ++ .../knightquest/geo/tengu_helmet.geo.json | 31 + .../knightquest/geo/veteran_helmet.geo.json | 36 + .../knightquest/geo/veteran_leggings.geo.json | 54 ++ .../knightquest/geo/veteran_main.geo.json | 55 ++ .../knightquest/geo/warlord_helmet.geo.json | 30 + .../knightquest/geo/witch_helmet.geo.json | 30 + .../knightquest/geo/zombie_helmet.geo.json | 34 + .../knightquest/geo/zombie_helmet2.geo.json | 32 + .../item_skins/khopesh_claymore.json | 11 + .../knightquest/item_skins/paladin_sword.json | 11 + .../item_skins/uchigatana_katana.json | 11 + .../assets/knightquest/lang/de_de.json | 230 ++++++ .../assets/knightquest/lang/en_us.json | 268 ++++++ .../assets/knightquest/lang/es_es.json | 236 ++++++ .../assets/knightquest/lang/fr_fr.json | 234 ++++++ .../assets/knightquest/lang/ja_jp.json | 236 ++++++ .../assets/knightquest/lang/pt_pt.json | 235 ++++++ .../assets/knightquest/lang/ru_ru.json | 230 ++++++ .../assets/knightquest/lang/tr_tr.json | 230 ++++++ .../assets/knightquest/lang/zh_cn.json | 241 ++++++ .../assets/knightquest/lang/zh_tw.json | 241 ++++++ .../models/block/great_chalice.json | 150 ++++ .../models/block/great_chalice_1.json | 150 ++++ .../models/block/great_chalice_2.json | 150 ++++ .../models/block/great_chalice_3.json | 150 ++++ .../models/block/great_chalice_4.json | 150 ++++ .../knightquest/models/item/apple_boots.json | 6 + .../models/item/apple_chestplate.json | 6 + .../knightquest/models/item/apple_helmet.json | 6 + .../models/item/apple_leggings.json | 6 + .../models/item/bad_patch_spawn_egg.json | 3 + .../models/item/bamboo_blue_boots.json | 6 + .../models/item/bamboo_blue_chestplate.json | 6 + .../models/item/bamboo_blue_helmet.json | 6 + .../models/item/bamboo_blue_leggings.json | 6 + .../knightquest/models/item/bamboo_boots.json | 6 + .../models/item/bamboo_chestplate.json | 6 + .../models/item/bamboo_green_boots.json | 6 + .../models/item/bamboo_green_chestplate.json | 6 + .../models/item/bamboo_green_helmet.json | 6 + .../models/item/bamboo_green_leggings.json | 6 + .../models/item/bamboo_helmet.json | 6 + .../models/item/bamboo_leggings.json | 6 + .../knightquest/models/item/bat_boots.json | 6 + .../models/item/bat_chestplate.json | 6 + .../knightquest/models/item/bat_helmet.json | 6 + .../knightquest/models/item/bat_leggings.json | 6 + .../knightquest/models/item/blaze_boots.json | 6 + .../models/item/blaze_chestplate.json | 6 + .../knightquest/models/item/blaze_helmet.json | 6 + .../models/item/blaze_leggings.json | 6 + .../knightquest/models/item/bow_boots.json | 6 + .../models/item/bow_chestplate.json | 6 + .../knightquest/models/item/bow_helmet.json | 6 + .../knightquest/models/item/bow_leggings.json | 6 + .../models/item/chainmail_helmet.json | 6 + .../models/item/chainmail_helmet2.json | 6 + .../models/item/cleaver_heavy_axe.json | 6 + .../models/item/conquistador2_helmet.json | 6 + .../models/item/conquistador3_helmet.json | 6 + .../models/item/conquistador_boots.json | 6 + .../models/item/conquistador_chestplate.json | 6 + .../models/item/conquistador_helmet.json | 6 + .../models/item/conquistador_leggings.json | 6 + .../models/item/creeper_boots.json | 6 + .../models/item/creeper_chestplate.json | 6 + .../models/item/creeper_helmet.json | 6 + .../models/item/creeper_leggings.json | 6 + .../models/item/crimson_sword.json | 6 + .../models/item/deepslate_boots.json | 6 + .../models/item/deepslate_chestplate.json | 6 + .../models/item/deepslate_helmet.json | 6 + .../models/item/deepslate_leggings.json | 6 + .../knightquest/models/item/dragon_boots.json | 6 + .../models/item/dragon_chestplate.json | 6 + .../models/item/dragon_helmet.json | 6 + .../models/item/dragon_leggings.json | 6 + .../models/item/eldbomb_spawn_egg.json | 3 + .../models/item/eldknight_spawn_egg.json | 3 + .../knightquest/models/item/empty_goblet.json | 6 + .../models/item/enderman_boots.json | 6 + .../models/item/enderman_chestplate.json | 6 + .../models/item/enderman_helmet.json | 6 + .../models/item/enderman_leggings.json | 6 + .../knightquest/models/item/evoker_boots.json | 6 + .../models/item/evoker_chestplate.json | 6 + .../models/item/evoker_helmet.json | 6 + .../models/item/evoker_leggings.json | 6 + .../models/item/filled_goblet.json | 6 + .../knightquest/models/item/forze_boots.json | 6 + .../models/item/forze_chestplate.json | 6 + .../knightquest/models/item/forze_helmet.json | 6 + .../models/item/forze_leggings.json | 6 + .../models/item/ghastling_spawn_egg.json | 3 + .../models/item/ghosty_spawn_egg.json | 3 + .../models/item/great_chalice.json | 3 + .../models/item/great_essence.json | 6 + .../models/item/gremlin_spawn_egg.json | 3 + .../knightquest/models/item/hollow_boots.json | 6 + .../models/item/hollow_chestplate.json | 6 + .../models/item/hollow_helmet.json | 6 + .../models/item/hollow_leggings.json | 6 + .../knightquest/models/item/horn_boots.json | 6 + .../models/item/horn_chestplate.json | 6 + .../knightquest/models/item/horn_helmet.json | 6 + .../models/item/horn_leggings.json | 6 + .../knightquest/models/item/husk_boots.json | 6 + .../models/item/husk_chestplate.json | 6 + .../knightquest/models/item/husk_helmet.json | 6 + .../knightquest/models/item/husk_helmet2.json | 6 + .../knightquest/models/item/husk_helmet3.json | 6 + .../models/item/husk_leggings.json | 6 + .../models/item/khopesh_claymore.json | 6 + .../knightquest/models/item/kukri_dagger.json | 6 + .../knightquest/models/item/lizzy_scale.json | 6 + .../models/item/lizzy_spawn_egg.json | 3 + .../models/item/momma_lizzy_spawn_egg.json | 3 + .../knightquest/models/item/nail_glaive.json | 6 + .../knightquest/models/item/nether_boots.json | 6 + .../models/item/nether_chestplate.json | 6 + .../models/item/nether_helmet.json | 6 + .../models/item/nether_leggings.json | 6 + .../models/item/paladin_sword.json | 6 + .../knightquest/models/item/path_boots.json | 6 + .../models/item/path_chestplate.json | 6 + .../knightquest/models/item/path_helmet.json | 6 + .../models/item/path_leggings.json | 6 + .../models/item/phantom_boots.json | 6 + .../models/item/phantom_chestplate.json | 6 + .../models/item/phantom_helmet.json | 6 + .../models/item/phantom_leggings.json | 6 + .../models/item/pirate2_helmet.json | 6 + .../models/item/pirate3_helmet.json | 6 + .../knightquest/models/item/pirate_boots.json | 6 + .../models/item/pirate_chestplate.json | 6 + .../models/item/pirate_helmet.json | 6 + .../models/item/pirate_leggings.json | 6 + .../knightquest/models/item/polar_boots.json | 6 + .../models/item/polar_chestplate.json | 6 + .../knightquest/models/item/polar_helmet.json | 6 + .../models/item/polar_leggings.json | 6 + .../knightquest/models/item/ratman_eye.json | 6 + .../models/item/ratman_spawn_egg.json | 3 + .../models/item/samhain_spawn_egg.json | 3 + .../knightquest/models/item/sea_boots.json | 6 + .../models/item/sea_chestplate.json | 6 + .../knightquest/models/item/sea_helmet.json | 6 + .../knightquest/models/item/sea_leggings.json | 6 + .../knightquest/models/item/shield_boots.json | 6 + .../models/item/shield_chestplate.json | 6 + .../models/item/shield_helmet.json | 6 + .../models/item/shield_leggings.json | 6 + .../models/item/shinobi_boots.json | 6 + .../models/item/shinobi_chestplate.json | 6 + .../models/item/shinobi_helmet.json | 6 + .../models/item/shinobi_leggings.json | 6 + .../knightquest/models/item/silver_boots.json | 6 + .../models/item/silver_chestplate.json | 6 + .../models/item/silver_helmet.json | 6 + .../models/item/silver_leggings.json | 6 + .../models/item/silverfish_boots.json | 6 + .../models/item/silverfish_chestplate.json | 6 + .../models/item/silverfish_helmet.json | 6 + .../models/item/silverfish_leggings.json | 6 + .../models/item/skeleton_boots.json | 6 + .../models/item/skeleton_chestplate.json | 6 + .../models/item/skeleton_helmet.json | 6 + .../models/item/skeleton_leggings.json | 6 + .../models/item/skulk2_helmet.json | 6 + .../models/item/skulk3_helmet.json | 6 + .../models/item/skulk4_helmet.json | 6 + .../knightquest/models/item/skulk_boots.json | 6 + .../models/item/skulk_chestplate.json | 6 + .../knightquest/models/item/skulk_helmet.json | 6 + .../models/item/skulk_leggings.json | 6 + .../models/item/small_essence.json | 6 + .../knightquest/models/item/spider_boots.json | 6 + .../models/item/spider_chestplate.json | 6 + .../models/item/spider_helmet.json | 6 + .../models/item/spider_leggings.json | 6 + .../knightquest/models/item/squire_boots.json | 6 + .../models/item/squire_chestplate.json | 6 + .../models/item/squire_helmet.json | 6 + .../models/item/squire_leggings.json | 6 + .../knightquest/models/item/steel_axe.json | 6 + .../knightquest/models/item/steel_sword.json | 6 + .../models/item/strawhat_boots.json | 6 + .../models/item/strawhat_chestplate.json | 6 + .../models/item/strawhat_helmet.json | 6 + .../models/item/strawhat_leggings.json | 6 + .../models/item/swampman_spawn_egg.json | 3 + .../knightquest/models/item/tengu_helmet.json | 6 + .../models/item/tunic_blue_leggings.json | 6 + .../models/item/tunic_green_leggings.json | 6 + .../models/item/tunic_red_leggings.json | 6 + .../models/item/tunic_sea_leggings.json | 6 + .../models/item/tunic_yellow_leggings.json | 6 + .../models/item/uchigatana_katana.json | 6 + .../models/item/veteran_boots.json | 6 + .../models/item/veteran_chestplate.json | 6 + .../models/item/veteran_helmet.json | 6 + .../models/item/veteran_leggings.json | 6 + .../models/item/warlord_boots.json | 6 + .../models/item/warlord_chestplate.json | 6 + .../models/item/warlord_helmet.json | 6 + .../models/item/warlord_leggings.json | 6 + .../knightquest/models/item/water_axe.json | 6 + .../knightquest/models/item/water_sword.json | 6 + .../knightquest/models/item/witch_boots.json | 6 + .../models/item/witch_chestplate.json | 6 + .../knightquest/models/item/witch_helmet.json | 6 + .../models/item/witch_leggings.json | 6 + .../knightquest/models/item/wither_boots.json | 6 + .../models/item/wither_chestplate.json | 6 + .../models/item/wither_helmet.json | 6 + .../models/item/wither_leggings.json | 6 + .../knightquest/models/item/zombie_boots.json | 6 + .../models/item/zombie_chestplate.json | 6 + .../models/item/zombie_helmet.json | 6 + .../models/item/zombie_helmet2.json | 6 + .../models/item/zombie_leggings.json | 6 + .../assets/knightquest/particles/ghosty.json | 10 + .../assets/knightquest/particles/gremlin.json | 23 + .../assets/knightquest/particles/starset.json | 23 + .../assets/knightquest/particles/yellow.json | 8 + .../textures/armor/apple_helmet.png | Bin 0 -> 1234 bytes .../textures/armor/bamboo_blue_helmet.png | Bin 0 -> 978 bytes .../textures/armor/bamboo_green_helmet.png | Bin 0 -> 937 bytes .../textures/armor/bamboo_helmet.png | Bin 0 -> 844 bytes .../knightquest/textures/armor/bat_helmet.png | Bin 0 -> 987 bytes .../textures/armor/blaze_helmet.png | Bin 0 -> 1006 bytes .../knightquest/textures/armor/bow_helmet.png | Bin 0 -> 638 bytes .../textures/armor/chainmail_helmet2.png | Bin 0 -> 732 bytes .../textures/armor/conquistador2_helmet.png | Bin 0 -> 1352 bytes .../textures/armor/conquistador3_helmet.png | Bin 0 -> 1481 bytes .../textures/armor/conquistador_helmet.png | Bin 0 -> 1081 bytes .../textures/armor/creeper_helmet.png | Bin 0 -> 1107 bytes .../textures/armor/deepslate_helmet.png | Bin 0 -> 854 bytes .../textures/armor/dragon_helmet.png | Bin 0 -> 947 bytes .../textures/armor/enderman_helmet.png | Bin 0 -> 1146 bytes .../textures/armor/evoker_helmet.png | Bin 0 -> 781 bytes .../textures/armor/forze_helmet.png | Bin 0 -> 1192 bytes .../knightquest/textures/armor/forze_main.png | Bin 0 -> 1344 bytes .../textures/armor/hollow_helmet.png | Bin 0 -> 749 bytes .../textures/armor/horn_helmet.png | Bin 0 -> 1031 bytes .../textures/armor/husk_helmet.png | Bin 0 -> 1168 bytes .../textures/armor/husk_helmet2.png | Bin 0 -> 1196 bytes .../textures/armor/husk_helmet3.png | Bin 0 -> 1467 bytes .../textures/armor/nether_helmet.png | Bin 0 -> 1068 bytes .../textures/armor/path_helmet.png | Bin 0 -> 592 bytes .../textures/armor/phantom_helmet.png | Bin 0 -> 1166 bytes .../textures/armor/pirate2_helmet.png | Bin 0 -> 259 bytes .../textures/armor/pirate3_helmet.png | Bin 0 -> 738 bytes .../textures/armor/pirate_helmet.png | Bin 0 -> 953 bytes .../textures/armor/polar_helmet.png | Bin 0 -> 1038 bytes .../knightquest/textures/armor/sea_helmet.png | Bin 0 -> 891 bytes .../textures/armor/shield_helmet.png | Bin 0 -> 1117 bytes .../textures/armor/shinobi_helmet.png | Bin 0 -> 1229 bytes .../textures/armor/silver_helmet.png | Bin 0 -> 1057 bytes .../textures/armor/silver_main.png | Bin 0 -> 1324 bytes .../textures/armor/silverfish_helmet.png | Bin 0 -> 914 bytes .../textures/armor/skeleton_helmet.png | Bin 0 -> 1311 bytes .../textures/armor/skulk2_helmet.png | Bin 0 -> 1424 bytes .../textures/armor/skulk3_helmet.png | Bin 0 -> 1436 bytes .../textures/armor/skulk4_helmet.png | Bin 0 -> 1461 bytes .../textures/armor/skulk_helmet.png | Bin 0 -> 1257 bytes .../textures/armor/spider_helmet.png | Bin 0 -> 749 bytes .../textures/armor/spider_main.png | Bin 0 -> 1013 bytes .../textures/armor/squire_helmet.png | Bin 0 -> 1107 bytes .../textures/armor/strawhat_helmet.png | Bin 0 -> 1691 bytes .../textures/armor/tengu_helmet.png | Bin 0 -> 612 bytes .../textures/armor/veteran_helmet.png | Bin 0 -> 1320 bytes .../textures/armor/veteran_leggings.png | Bin 0 -> 771 bytes .../textures/armor/veteran_main.png | Bin 0 -> 866 bytes .../textures/armor/warlord_helmet.png | Bin 0 -> 1092 bytes .../textures/armor/witch_helmet.png | Bin 0 -> 766 bytes .../textures/armor/zombie_helmet.png | Bin 0 -> 1780 bytes .../textures/armor/zombie_helmet2.png | Bin 0 -> 1721 bytes .../block/advancement_tab_background.png | Bin 0 -> 254 bytes .../textures/block/great_chalice.png | Bin 0 -> 13264 bytes .../textures/block/great_chalice.png.mcmeta | 12 + .../knightquest/textures/entity/bad_patch.png | Bin 0 -> 1521 bytes .../knightquest/textures/entity/eldbomb.png | Bin 0 -> 1456 bytes .../textures/entity/eldbomb_glowmask.png | Bin 0 -> 354 bytes .../knightquest/textures/entity/eldknight.png | Bin 0 -> 4998 bytes .../textures/entity/eldknight_glowmask.png | Bin 0 -> 275 bytes .../knightquest/textures/entity/ghosty.png | Bin 0 -> 1548 bytes .../knightquest/textures/entity/gremlin.png | Bin 0 -> 1663 bytes .../textures/entity/gremlin_angry.png | Bin 0 -> 1580 bytes .../entity/gremlin_angry_glowmask.png | Bin 0 -> 328 bytes .../textures/entity/gremlin_glowmask.png | Bin 0 -> 328 bytes .../knightquest/textures/entity/lizzy.png | Bin 0 -> 1347 bytes .../textures/entity/momma_lizzy.png | Bin 0 -> 2004 bytes .../knightquest/textures/entity/ratman.png | Bin 0 -> 2942 bytes .../textures/entity/ratman_glowmask.png | Bin 0 -> 178 bytes .../knightquest/textures/entity/samhain.png | Bin 0 -> 2195 bytes .../textures/entity/samhain_glowmask.png | Bin 0 -> 131 bytes .../textures/entity/samhain_squire.png | Bin 0 -> 3549 bytes .../entity/samhain_squire_glowmask.png | Bin 0 -> 131 bytes .../knightquest/textures/entity/shield.png | Bin 0 -> 474 bytes .../knightquest/textures/entity/swampman.png | Bin 0 -> 4188 bytes .../textures/entity/swampman_glowmask.png | Bin 0 -> 253 bytes .../creative_inventory/tab_knightquest.png | Bin 0 -> 1292 bytes .../creative_inventory/tabs_knightquest.png | Bin 0 -> 1246 bytes .../textures/item/apple_boots_icon.png | Bin 0 -> 172 bytes .../textures/item/apple_helmet_icon.png | Bin 0 -> 499 bytes .../textures/item/apple_leggings_icon.png | Bin 0 -> 314 bytes .../textures/item/apple_main_icon.png | Bin 0 -> 354 bytes .../textures/item/bamboo_blue_boots_icon.png | Bin 0 -> 207 bytes .../textures/item/bamboo_blue_helmet_icon.png | Bin 0 -> 347 bytes .../item/bamboo_blue_leggings_icon.png | Bin 0 -> 287 bytes .../textures/item/bamboo_blue_main_icon.png | Bin 0 -> 350 bytes .../textures/item/bamboo_boots_icon.png | Bin 0 -> 221 bytes .../textures/item/bamboo_green_boots_icon.png | Bin 0 -> 189 bytes .../item/bamboo_green_helmet_icon.png | Bin 0 -> 377 bytes .../item/bamboo_green_leggings_icon.png | Bin 0 -> 294 bytes .../textures/item/bamboo_green_main_icon.png | Bin 0 -> 386 bytes .../textures/item/bamboo_helmet_icon.png | Bin 0 -> 355 bytes .../textures/item/bamboo_leggings_icon.png | Bin 0 -> 308 bytes .../textures/item/bamboo_main_icon.png | Bin 0 -> 410 bytes .../textures/item/bat_boots_icon.png | Bin 0 -> 153 bytes .../textures/item/bat_helmet_icon.png | Bin 0 -> 316 bytes .../textures/item/bat_leggings_icon.png | Bin 0 -> 292 bytes .../textures/item/bat_main_icon.png | Bin 0 -> 309 bytes .../textures/item/blaze_boots_icon.png | Bin 0 -> 214 bytes .../textures/item/blaze_helmet_icon.png | Bin 0 -> 290 bytes .../textures/item/blaze_leggings_icon.png | Bin 0 -> 284 bytes .../textures/item/blaze_main_icon.png | Bin 0 -> 366 bytes .../textures/item/bow_boots_icon.png | Bin 0 -> 212 bytes .../textures/item/bow_helmet_icon.png | Bin 0 -> 292 bytes .../textures/item/bow_leggings_icon.png | Bin 0 -> 310 bytes .../textures/item/bow_main_icon.png | Bin 0 -> 408 bytes .../textures/item/chainmail_helmet2_icon.png | Bin 0 -> 327 bytes .../textures/item/chainmail_helmet_icon.png | Bin 0 -> 325 bytes .../knightquest/textures/item/cleaver.png | Bin 0 -> 264 bytes .../item/conquistador2_helmet_icon.png | Bin 0 -> 442 bytes .../item/conquistador3_helmet_icon.png | Bin 0 -> 451 bytes .../textures/item/conquistador_boots_icon.png | Bin 0 -> 219 bytes .../item/conquistador_helmet_icon.png | Bin 0 -> 500 bytes .../item/conquistador_leggings_icon.png | Bin 0 -> 334 bytes .../textures/item/conquistador_main_icon.png | Bin 0 -> 446 bytes .../textures/item/creeper_boots_icon.png | Bin 0 -> 176 bytes .../textures/item/creeper_helmet_icon.png | Bin 0 -> 270 bytes .../textures/item/creeper_leggings_icon.png | Bin 0 -> 271 bytes .../textures/item/creeper_main_icon.png | Bin 0 -> 256 bytes .../textures/item/crimson_sword.png | Bin 0 -> 295 bytes .../textures/item/deepslate_boots_icon.png | Bin 0 -> 223 bytes .../textures/item/deepslate_helmet_icon.png | Bin 0 -> 405 bytes .../textures/item/deepslate_leggings_icon.png | Bin 0 -> 347 bytes .../textures/item/deepslate_main_icon.png | Bin 0 -> 355 bytes .../textures/item/dragon_boots_icon.png | Bin 0 -> 178 bytes .../textures/item/dragon_helmet_icon.png | Bin 0 -> 360 bytes .../textures/item/dragon_leggings_icon.png | Bin 0 -> 289 bytes .../textures/item/dragon_main_icon.png | Bin 0 -> 337 bytes .../textures/item/empty_goblet.png | Bin 0 -> 312 bytes .../textures/item/enderman_boots_icon.png | Bin 0 -> 162 bytes .../textures/item/enderman_helmet_icon.png | Bin 0 -> 286 bytes .../textures/item/enderman_leggings_icon.png | Bin 0 -> 286 bytes .../textures/item/enderman_main_icon.png | Bin 0 -> 369 bytes .../textures/item/evoker_boots_icon.png | Bin 0 -> 169 bytes .../textures/item/evoker_helmet_icon.png | Bin 0 -> 373 bytes .../textures/item/evoker_leggings_icon.png | Bin 0 -> 305 bytes .../textures/item/evoker_main_icon.png | Bin 0 -> 216 bytes .../textures/item/filled_goblet.png | Bin 0 -> 350 bytes .../textures/item/forze_boots_icon.png | Bin 0 -> 298 bytes .../textures/item/forze_helmet_icon.png | Bin 0 -> 531 bytes .../textures/item/forze_leggings_icon.png | Bin 0 -> 352 bytes .../textures/item/forze_main_icon.png | Bin 0 -> 508 bytes .../textures/item/great_essence.png | Bin 0 -> 489 bytes .../textures/item/great_essence.png.mcmeta | 37 + .../textures/item/hollow_boots_icon.png | Bin 0 -> 223 bytes .../textures/item/hollow_helmet_icon.png | Bin 0 -> 424 bytes .../textures/item/hollow_leggings_icon.png | Bin 0 -> 347 bytes .../textures/item/hollow_main_icon.png | Bin 0 -> 355 bytes .../textures/item/horn_boots_icon.png | Bin 0 -> 173 bytes .../textures/item/horn_helmet_icon.png | Bin 0 -> 341 bytes .../textures/item/horn_leggings_icon.png | Bin 0 -> 336 bytes .../textures/item/horn_main_icon.png | Bin 0 -> 371 bytes .../textures/item/husk_boots_icon.png | Bin 0 -> 180 bytes .../textures/item/husk_helmet2_icon.png | Bin 0 -> 461 bytes .../textures/item/husk_helmet3_icon.png | Bin 0 -> 460 bytes .../textures/item/husk_helmet_icon.png | Bin 0 -> 447 bytes .../textures/item/husk_leggings_icon.png | Bin 0 -> 285 bytes .../textures/item/husk_main_icon.png | Bin 0 -> 380 bytes .../knightquest/textures/item/khopesh.png | Bin 0 -> 374 bytes .../textures/item/khopesh.png.mcmeta | 38 + .../knightquest/textures/item/kukri.png | Bin 0 -> 197 bytes .../knightquest/textures/item/lizzy_scale.png | Bin 0 -> 374 bytes .../knightquest/textures/item/nail_sword.png | Bin 0 -> 343 bytes .../textures/item/nether_boots_icon.png | Bin 0 -> 163 bytes .../textures/item/nether_helmet_icon.png | Bin 0 -> 336 bytes .../textures/item/nether_leggings_icon.png | Bin 0 -> 293 bytes .../textures/item/nether_main_icon.png | Bin 0 -> 365 bytes .../textures/item/paladin_sword.png | Bin 0 -> 426 bytes .../textures/item/paladin_sword.png.mcmeta | 37 + .../textures/item/path_boots_icon.png | Bin 0 -> 178 bytes .../textures/item/path_helmet_icon.png | Bin 0 -> 348 bytes .../textures/item/path_leggings_icon.png | Bin 0 -> 294 bytes .../textures/item/path_main_icon.png | Bin 0 -> 321 bytes .../textures/item/phantom_boots_icon.png | Bin 0 -> 144 bytes .../textures/item/phantom_helmet_icon.png | Bin 0 -> 299 bytes .../textures/item/phantom_leggings_icon.png | Bin 0 -> 298 bytes .../textures/item/phantom_main_icon.png | Bin 0 -> 224 bytes .../textures/item/pirate2_helmet_icon.png | Bin 0 -> 270 bytes .../textures/item/pirate3_helmet_icon.png | Bin 0 -> 411 bytes .../textures/item/pirate_boots_icon.png | Bin 0 -> 203 bytes .../textures/item/pirate_helmet_icon.png | Bin 0 -> 501 bytes .../textures/item/pirate_leggings_icon.png | Bin 0 -> 333 bytes .../textures/item/pirate_main_icon.png | Bin 0 -> 349 bytes .../textures/item/polar_boots_icon.png | Bin 0 -> 149 bytes .../textures/item/polar_helmet_icon.png | Bin 0 -> 284 bytes .../textures/item/polar_leggings_icon.png | Bin 0 -> 288 bytes .../textures/item/polar_main_icon.png | Bin 0 -> 278 bytes .../knightquest/textures/item/ratman_eye.png | Bin 0 -> 632 bytes .../textures/item/ratman_eye.png.mcmeta | 40 + .../textures/item/sea_boots_icon.png | Bin 0 -> 170 bytes .../textures/item/sea_helmet_icon.png | Bin 0 -> 312 bytes .../textures/item/sea_leggings_icon.png | Bin 0 -> 348 bytes .../textures/item/sea_main_icon.png | Bin 0 -> 318 bytes .../textures/item/shield_boots_icon.png | Bin 0 -> 156 bytes .../textures/item/shield_helmet_icon.png | Bin 0 -> 365 bytes .../textures/item/shield_leggings_icon.png | Bin 0 -> 280 bytes .../textures/item/shield_main_icon.png | Bin 0 -> 245 bytes .../textures/item/shinobi_boots_icon.png | Bin 0 -> 228 bytes .../textures/item/shinobi_helmet_icon.png | Bin 0 -> 369 bytes .../textures/item/shinobi_leggings_icon.png | Bin 0 -> 349 bytes .../textures/item/shinobi_main_icon.png | Bin 0 -> 373 bytes .../textures/item/silver_boots_icon.png | Bin 0 -> 268 bytes .../textures/item/silver_helmet_icon.png | Bin 0 -> 450 bytes .../textures/item/silver_leggings_icon.png | Bin 0 -> 352 bytes .../textures/item/silver_main_icon.png | Bin 0 -> 480 bytes .../textures/item/silverfish_boots_icon.png | Bin 0 -> 170 bytes .../textures/item/silverfish_helmet_icon.png | Bin 0 -> 306 bytes .../item/silverfish_leggings_icon.png | Bin 0 -> 288 bytes .../textures/item/silverfish_main_icon.png | Bin 0 -> 311 bytes .../textures/item/skeleton_boots_icon.png | Bin 0 -> 167 bytes .../textures/item/skeleton_helmet_icon.png | Bin 0 -> 279 bytes .../textures/item/skeleton_leggings_icon.png | Bin 0 -> 283 bytes .../textures/item/skeleton_main_icon.png | Bin 0 -> 365 bytes .../textures/item/skulk2_helmet_icon.png | Bin 0 -> 328 bytes .../textures/item/skulk3_helmet_icon.png | Bin 0 -> 425 bytes .../textures/item/skulk4_helmet_icon.png | Bin 0 -> 382 bytes .../textures/item/skulk_boots_icon.png | Bin 0 -> 295 bytes .../textures/item/skulk_helmet_icon.png | Bin 0 -> 451 bytes .../textures/item/skulk_leggings_icon.png | Bin 0 -> 332 bytes .../textures/item/skulk_main_icon.png | Bin 0 -> 446 bytes .../item/skulk_marbled_helmet_icon.png | Bin 0 -> 467 bytes .../textures/item/small_essence.png | Bin 0 -> 399 bytes .../textures/item/small_essence.png.mcmeta | 38 + .../textures/item/spider_boots_icon.png | Bin 0 -> 191 bytes .../textures/item/spider_helmet_icon.png | Bin 0 -> 334 bytes .../textures/item/spider_leggings_icon.png | Bin 0 -> 264 bytes .../textures/item/spider_main_icon.png | Bin 0 -> 351 bytes .../textures/item/squire_boots_icon.png | Bin 0 -> 157 bytes .../textures/item/squire_helmet_icon.png | Bin 0 -> 378 bytes .../textures/item/squire_leggings_icon.png | Bin 0 -> 249 bytes .../textures/item/squire_main_icon.png | Bin 0 -> 314 bytes .../knightquest/textures/item/steel_axe.png | Bin 0 -> 363 bytes .../knightquest/textures/item/steel_sword.png | Bin 0 -> 278 bytes .../textures/item/strawhat_boots_icon.png | Bin 0 -> 285 bytes .../textures/item/strawhat_helmet_icon.png | Bin 0 -> 478 bytes .../textures/item/strawhat_leggings_icon.png | Bin 0 -> 373 bytes .../textures/item/strawhat_main_icon.png | Bin 0 -> 527 bytes .../textures/item/tengu_helmet_icon.png | Bin 0 -> 346 bytes .../item/tunic_blue_leggings_icon.png | Bin 0 -> 289 bytes .../item/tunic_green_leggings_icon.png | Bin 0 -> 292 bytes .../textures/item/tunic_red_leggings_icon.png | Bin 0 -> 319 bytes .../textures/item/tunic_sea_leggings_icon.png | Bin 0 -> 349 bytes .../item/tunic_yellow_leggings_icon.png | Bin 0 -> 335 bytes .../knightquest/textures/item/uchigatana.png | Bin 0 -> 292 bytes .../textures/item/veteran_boots_icon.png | Bin 0 -> 232 bytes .../textures/item/veteran_helmet_icon.png | Bin 0 -> 370 bytes .../textures/item/veteran_leggings_icon.png | Bin 0 -> 349 bytes .../textures/item/veteran_main_icon.png | Bin 0 -> 375 bytes .../textures/item/warlord_boots_icon.png | Bin 0 -> 301 bytes .../textures/item/warlord_helmet_icon.png | Bin 0 -> 541 bytes .../textures/item/warlord_leggings_icon.png | Bin 0 -> 370 bytes .../textures/item/warlord_main_icon.png | Bin 0 -> 511 bytes .../knightquest/textures/item/water_axe.png | Bin 0 -> 345 bytes .../knightquest/textures/item/water_sword.png | Bin 0 -> 276 bytes .../textures/item/witch_boots_icon.png | Bin 0 -> 182 bytes .../textures/item/witch_helmet_icon.png | Bin 0 -> 289 bytes .../textures/item/witch_leggings_icon.png | Bin 0 -> 258 bytes .../textures/item/witch_main_icon.png | Bin 0 -> 222 bytes .../textures/item/wither_boots_icon.png | Bin 0 -> 171 bytes .../textures/item/wither_helmet_icon.png | Bin 0 -> 246 bytes .../textures/item/wither_leggings_icon.png | Bin 0 -> 259 bytes .../textures/item/wither_main_icon.png | Bin 0 -> 384 bytes .../textures/item/zombie_boots_icon.png | Bin 0 -> 172 bytes .../textures/item/zombie_helmet2_icon.png | Bin 0 -> 355 bytes .../textures/item/zombie_helmet_icon.png | Bin 0 -> 366 bytes .../textures/item/zombie_leggings_icon.png | Bin 0 -> 268 bytes .../textures/item/zombie_main_icon.png | Bin 0 -> 338 bytes .../models/armor/appleset_layer_1.png | Bin 0 -> 1182 bytes .../models/armor/appleset_layer_2.png | Bin 0 -> 671 bytes .../models/armor/bamboo_blue_layer_1.png | Bin 0 -> 1429 bytes .../models/armor/bamboo_blue_layer_2.png | Bin 0 -> 644 bytes .../models/armor/bamboo_green_layer_1.png | Bin 0 -> 1440 bytes .../models/armor/bamboo_green_layer_2.png | Bin 0 -> 636 bytes .../textures/models/armor/bamboo_layer_1.png | Bin 0 -> 1386 bytes .../textures/models/armor/bamboo_layer_2.png | Bin 0 -> 661 bytes .../textures/models/armor/bat_layer_1.png | Bin 0 -> 718 bytes .../textures/models/armor/bat_layer_2.png | Bin 0 -> 641 bytes .../textures/models/armor/blaze_layer_1.png | Bin 0 -> 1559 bytes .../textures/models/armor/blaze_layer_2.png | Bin 0 -> 736 bytes .../textures/models/armor/bow_layer_1.png | Bin 0 -> 807 bytes .../textures/models/armor/bow_layer_2.png | Bin 0 -> 700 bytes .../models/armor/chainmail_layer_1.png | Bin 0 -> 878 bytes .../models/armor/conquistador_layer_1.png | Bin 0 -> 767 bytes .../models/armor/conquistador_layer_2.png | Bin 0 -> 552 bytes .../textures/models/armor/creeper_layer_1.png | Bin 0 -> 760 bytes .../textures/models/armor/creeper_layer_2.png | Bin 0 -> 700 bytes .../models/armor/deepslate_layer_1.png | Bin 0 -> 757 bytes .../models/armor/deepslate_layer_2.png | Bin 0 -> 668 bytes .../textures/models/armor/dragon_layer_1.png | Bin 0 -> 1431 bytes .../textures/models/armor/dragon_layer_2.png | Bin 0 -> 686 bytes .../models/armor/enderman_layer_1.png | Bin 0 -> 1540 bytes .../models/armor/enderman_layer_2.png | Bin 0 -> 683 bytes .../textures/models/armor/evoker_layer_1.png | Bin 0 -> 360 bytes .../textures/models/armor/evoker_layer_2.png | Bin 0 -> 804 bytes .../textures/models/armor/forze_layer_1.png | Bin 0 -> 229 bytes .../textures/models/armor/forze_layer_2.png | Bin 0 -> 689 bytes .../textures/models/armor/hollow_layer_1.png | Bin 0 -> 757 bytes .../textures/models/armor/hollow_layer_2.png | Bin 0 -> 668 bytes .../textures/models/armor/horn_layer_1.png | Bin 0 -> 805 bytes .../textures/models/armor/horn_layer_2.png | Bin 0 -> 736 bytes .../textures/models/armor/husk_layer_1.png | Bin 0 -> 1343 bytes .../textures/models/armor/husk_layer_2.png | Bin 0 -> 745 bytes .../textures/models/armor/nether_layer_1.png | Bin 0 -> 1425 bytes .../textures/models/armor/nether_layer_2.png | Bin 0 -> 712 bytes .../textures/models/armor/path_layer_1.png | Bin 0 -> 702 bytes .../textures/models/armor/path_layer_2.png | Bin 0 -> 700 bytes .../textures/models/armor/phantom_layer_1.png | Bin 0 -> 1409 bytes .../textures/models/armor/phantom_layer_2.png | Bin 0 -> 743 bytes .../textures/models/armor/pirate_layer_1.png | Bin 0 -> 705 bytes .../textures/models/armor/pirate_layer_2.png | Bin 0 -> 673 bytes .../textures/models/armor/polar_layer_1.png | Bin 0 -> 1038 bytes .../textures/models/armor/polar_layer_2.png | Bin 0 -> 635 bytes .../textures/models/armor/sea_layer_1.png | Bin 0 -> 796 bytes .../textures/models/armor/sea_layer_2.png | Bin 0 -> 727 bytes .../textures/models/armor/shield_layer_1.png | Bin 0 -> 1012 bytes .../textures/models/armor/shield_layer_2.png | Bin 0 -> 619 bytes .../textures/models/armor/shinobi_layer_1.png | Bin 0 -> 1229 bytes .../textures/models/armor/shinobi_layer_2.png | Bin 0 -> 783 bytes .../textures/models/armor/silver_layer_1.png | Bin 0 -> 237 bytes .../textures/models/armor/silver_layer_2.png | Bin 0 -> 835 bytes .../models/armor/silverfish_layer_1.png | Bin 0 -> 646 bytes .../models/armor/silverfish_layer_2.png | Bin 0 -> 650 bytes .../models/armor/skeleton_layer_1.png | Bin 0 -> 1324 bytes .../models/armor/skeleton_layer_2.png | Bin 0 -> 588 bytes .../textures/models/armor/skulk_layer_1.png | Bin 0 -> 650 bytes .../textures/models/armor/skulk_layer_2.png | Bin 0 -> 886 bytes .../textures/models/armor/spider_layer_1.png | Bin 0 -> 1013 bytes .../textures/models/armor/spider_layer_2.png | Bin 0 -> 658 bytes .../textures/models/armor/squire_layer_1.png | Bin 0 -> 701 bytes .../textures/models/armor/squire_layer_2.png | Bin 0 -> 540 bytes .../models/armor/strawhat_layer_1.png | Bin 0 -> 884 bytes .../models/armor/strawhat_layer_2.png | Bin 0 -> 682 bytes .../models/armor/tunic_blue_layer_2.png | Bin 0 -> 607 bytes .../models/armor/tunic_green_layer_2.png | Bin 0 -> 700 bytes .../models/armor/tunic_red_layer_2.png | Bin 0 -> 661 bytes .../models/armor/tunic_sea_layer_2.png | Bin 0 -> 680 bytes .../models/armor/tunic_yellow_layer_2.png | Bin 0 -> 732 bytes .../textures/models/armor/veteran_layer_1.png | Bin 0 -> 216 bytes .../textures/models/armor/veteran_layer_2.png | 0 .../textures/models/armor/warlord_layer_1.png | Bin 0 -> 900 bytes .../textures/models/armor/warlord_layer_2.png | Bin 0 -> 729 bytes .../textures/models/armor/witch_layer_1.png | Bin 0 -> 766 bytes .../textures/models/armor/witch_layer_2.png | Bin 0 -> 740 bytes .../textures/models/armor/wither_layer_1.png | Bin 0 -> 1285 bytes .../textures/models/armor/wither_layer_2.png | Bin 0 -> 688 bytes .../textures/models/armor/zombie_layer_1.png | Bin 0 -> 895 bytes .../textures/models/armor/zombie_layer_2.png | Bin 0 -> 679 bytes .../knightquest/textures/particle/ghosty1.png | Bin 0 -> 1935 bytes .../knightquest/textures/particle/ghosty2.png | Bin 0 -> 1935 bytes .../knightquest/textures/particle/ghosty3.png | Bin 0 -> 1935 bytes .../knightquest/textures/particle/ghosty4.png | Bin 0 -> 1935 bytes .../knightquest/textures/particle/ghosty5.png | Bin 0 -> 1935 bytes .../knightquest/textures/particle/ghosty6.png | Bin 0 -> 1936 bytes .../textures/particle/gremlin1.png | Bin 0 -> 140 bytes .../textures/particle/gremlin10.png | Bin 0 -> 356 bytes .../textures/particle/gremlin11.png | Bin 0 -> 308 bytes .../textures/particle/gremlin12.png | Bin 0 -> 254 bytes .../textures/particle/gremlin13.png | Bin 0 -> 286 bytes .../textures/particle/gremlin14.png | Bin 0 -> 213 bytes .../textures/particle/gremlin15.png | Bin 0 -> 274 bytes .../textures/particle/gremlin16.png | Bin 0 -> 274 bytes .../textures/particle/gremlin17.png | Bin 0 -> 305 bytes .../textures/particle/gremlin18.png | Bin 0 -> 229 bytes .../textures/particle/gremlin19.png | Bin 0 -> 229 bytes .../textures/particle/gremlin2.png | Bin 0 -> 146 bytes .../textures/particle/gremlin20.png | Bin 0 -> 224 bytes .../textures/particle/gremlin21.png | Bin 0 -> 231 bytes .../textures/particle/gremlin3.png | Bin 0 -> 192 bytes .../textures/particle/gremlin4.png | Bin 0 -> 210 bytes .../textures/particle/gremlin5.png | Bin 0 -> 253 bytes .../textures/particle/gremlin6.png | Bin 0 -> 282 bytes .../textures/particle/gremlin7.png | Bin 0 -> 336 bytes .../textures/particle/gremlin8.png | Bin 0 -> 353 bytes .../textures/particle/gremlin9.png | Bin 0 -> 370 bytes .../textures/particle/starset1.png | Bin 0 -> 175 bytes .../textures/particle/starset10.png | Bin 0 -> 261 bytes .../textures/particle/starset11.png | Bin 0 -> 280 bytes .../textures/particle/starset12.png | Bin 0 -> 249 bytes .../textures/particle/starset13.png | Bin 0 -> 266 bytes .../textures/particle/starset14.png | Bin 0 -> 266 bytes .../textures/particle/starset15.png | Bin 0 -> 285 bytes .../textures/particle/starset16.png | Bin 0 -> 253 bytes .../textures/particle/starset17.png | Bin 0 -> 253 bytes .../textures/particle/starset18.png | Bin 0 -> 253 bytes .../textures/particle/starset19.png | Bin 0 -> 253 bytes .../textures/particle/starset2.png | Bin 0 -> 176 bytes .../textures/particle/starset3.png | Bin 0 -> 209 bytes .../textures/particle/starset4.png | Bin 0 -> 225 bytes .../textures/particle/starset5.png | Bin 0 -> 246 bytes .../textures/particle/starset6.png | Bin 0 -> 257 bytes .../textures/particle/starset7.png | Bin 0 -> 265 bytes .../textures/particle/starset8.png | Bin 0 -> 262 bytes .../textures/particle/starset9.png | Bin 0 -> 273 bytes .../knightquest/textures/particle/yellow1.png | Bin 0 -> 140 bytes .../knightquest/textures/particle/yellow2.png | Bin 0 -> 165 bytes .../knightquest/textures/particle/yellow3.png | Bin 0 -> 203 bytes .../knightquest/textures/particle/yellow4.png | Bin 0 -> 118 bytes .../knightquest/advancements/knightquest.json | 29 + .../recipes/misc/apple_boots.json | 61 ++ .../recipes/misc/apple_chestplate.json | 61 ++ .../recipes/misc/apple_helmet.json | 61 ++ .../recipes/misc/apple_leggings.json | 61 ++ .../recipes/misc/bamboo_blue_boots.json | 87 ++ .../recipes/misc/bamboo_blue_chestplate.json | 87 ++ .../recipes/misc/bamboo_blue_helmet.json | 87 ++ .../recipes/misc/bamboo_blue_leggings.json | 87 ++ .../recipes/misc/bamboo_boots.json | 87 ++ .../recipes/misc/bamboo_chestplate.json | 87 ++ .../recipes/misc/bamboo_green_boots.json | 87 ++ .../recipes/misc/bamboo_green_chestplate.json | 87 ++ .../recipes/misc/bamboo_green_helmet.json | 87 ++ .../recipes/misc/bamboo_green_leggings.json | 87 ++ .../recipes/misc/bamboo_helmet.json | 87 ++ .../recipes/misc/bamboo_leggings.json | 87 ++ .../advancements/recipes/misc/bat_boots.json | 87 ++ .../recipes/misc/bat_chestplate.json | 87 ++ .../advancements/recipes/misc/bat_helmet.json | 87 ++ .../recipes/misc/bat_leggings.json | 87 ++ .../recipes/misc/blaze_boots.json | 87 ++ .../recipes/misc/blaze_chestplate.json | 87 ++ .../recipes/misc/blaze_helmet.json | 87 ++ .../recipes/misc/blaze_leggings.json | 87 ++ .../advancements/recipes/misc/bow_boots.json | 87 ++ .../recipes/misc/bow_chestplate.json | 87 ++ .../advancements/recipes/misc/bow_helmet.json | 87 ++ .../recipes/misc/bow_leggings.json | 87 ++ .../recipes/misc/chainmail_helmet.json | 87 ++ .../recipes/misc/chainmail_helmet2.json | 87 ++ .../advancements/recipes/misc/cleaver.json | 61 ++ .../recipes/misc/cleaver_heavy_axe.json | 61 ++ .../recipes/misc/conquistador2_helmet.json | 87 ++ .../recipes/misc/conquistador3_helmet.json | 87 ++ .../recipes/misc/conquistador_boots.json | 87 ++ .../recipes/misc/conquistador_chestplate.json | 87 ++ .../recipes/misc/conquistador_helmet.json | 87 ++ .../recipes/misc/conquistador_leggings.json | 87 ++ .../recipes/misc/creeper_boots.json | 87 ++ .../recipes/misc/creeper_chestplate.json | 87 ++ .../recipes/misc/creeper_helmet.json | 87 ++ .../recipes/misc/creeper_leggings.json | 87 ++ .../recipes/misc/deepslate_boots.json | 87 ++ .../recipes/misc/deepslate_chestplate.json | 87 ++ .../recipes/misc/deepslate_helmet.json | 87 ++ .../recipes/misc/deepslate_leggings.json | 87 ++ .../recipes/misc/dragon_boots.json | 87 ++ .../recipes/misc/dragon_chestplate.json | 87 ++ .../recipes/misc/dragon_helmet.json | 87 ++ .../recipes/misc/dragon_leggings.json | 87 ++ .../recipes/misc/elytra_great_essence.json | 48 ++ .../recipes/misc/elytra_to_small_essence.json | 13 + .../recipes/misc/empty_goblet.json | 18 + .../recipes/misc/enderman_boots.json | 87 ++ .../recipes/misc/enderman_chestplate.json | 87 ++ .../recipes/misc/enderman_helmet.json | 87 ++ .../recipes/misc/enderman_leggings.json | 87 ++ .../recipes/misc/evoker_boots.json | 87 ++ .../recipes/misc/evoker_chestplate.json | 87 ++ .../recipes/misc/evoker_helmet.json | 87 ++ .../recipes/misc/evoker_leggings.json | 87 ++ .../recipes/misc/forze_boots.json | 87 ++ .../recipes/misc/forze_chestplate.json | 87 ++ .../recipes/misc/forze_helmet.json | 87 ++ .../recipes/misc/forze_leggings.json | 87 ++ .../recipes/misc/great_chalice.json | 19 + .../misc/great_essence_to_small_essence.json | 13 + .../heart_of_the_sea_to_small_essence.json | 13 + .../recipes/misc/hollow_boots.json | 87 ++ .../recipes/misc/hollow_chestplate.json | 87 ++ .../recipes/misc/hollow_helmet.json | 87 ++ .../recipes/misc/hollow_leggings.json | 87 ++ .../advancements/recipes/misc/horn_boots.json | 87 ++ .../recipes/misc/horn_chestplate.json | 87 ++ .../recipes/misc/horn_helmet.json | 87 ++ .../recipes/misc/horn_leggings.json | 87 ++ .../advancements/recipes/misc/husk_boots.json | 87 ++ .../recipes/misc/husk_chestplate.json | 87 ++ .../recipes/misc/husk_helmet.json | 87 ++ .../recipes/misc/husk_helmet2.json | 87 ++ .../recipes/misc/husk_helmet3.json | 87 ++ .../recipes/misc/husk_leggings.json | 87 ++ .../advancements/recipes/misc/khopesh.json | 61 ++ .../recipes/misc/khopesh_claymore.json | 61 ++ .../advancements/recipes/misc/kukri.json | 48 ++ .../recipes/misc/kukri_dagger.json | 48 ++ .../recipes/misc/nail_glaive.json | 61 ++ .../advancements/recipes/misc/nail_sword.json | 61 ++ .../recipes/misc/nether_boots.json | 87 ++ .../recipes/misc/nether_chestplate.json | 87 ++ .../recipes/misc/nether_helmet.json | 87 ++ .../recipes/misc/nether_leggings.json | 87 ++ .../misc/nether_star_to_small_essence.json | 13 + .../recipes/misc/paladin_sword.json | 61 ++ .../advancements/recipes/misc/path_boots.json | 87 ++ .../recipes/misc/path_chestplate.json | 87 ++ .../recipes/misc/path_helmet.json | 87 ++ .../recipes/misc/path_leggings.json | 87 ++ .../recipes/misc/phantom_boots.json | 87 ++ .../recipes/misc/phantom_chestplate.json | 87 ++ .../recipes/misc/phantom_helmet.json | 87 ++ .../recipes/misc/phantom_leggings.json | 87 ++ .../recipes/misc/pirate2_helmet.json | 87 ++ .../recipes/misc/pirate3_helmet.json | 87 ++ .../recipes/misc/pirate_boots.json | 87 ++ .../recipes/misc/pirate_chestplate.json | 87 ++ .../recipes/misc/pirate_helmet.json | 87 ++ .../recipes/misc/pirate_leggings.json | 87 ++ .../recipes/misc/polar_boots.json | 87 ++ .../recipes/misc/polar_chestplate.json | 87 ++ .../recipes/misc/polar_helmet.json | 87 ++ .../recipes/misc/polar_leggings.json | 87 ++ .../advancements/recipes/misc/sea_boots.json | 87 ++ .../recipes/misc/sea_chestplate.json | 87 ++ .../advancements/recipes/misc/sea_helmet.json | 87 ++ .../recipes/misc/sea_leggings.json | 87 ++ .../recipes/misc/shield_boots.json | 87 ++ .../recipes/misc/shield_chestplate.json | 87 ++ .../recipes/misc/shield_helmet.json | 87 ++ .../recipes/misc/shield_leggings.json | 87 ++ .../recipes/misc/shinobi_boots.json | 87 ++ .../recipes/misc/shinobi_chestplate.json | 87 ++ .../recipes/misc/shinobi_helmet.json | 87 ++ .../recipes/misc/shinobi_leggings.json | 87 ++ .../recipes/misc/silver_boots.json | 87 ++ .../recipes/misc/silver_chestplate.json | 87 ++ .../recipes/misc/silver_helmet.json | 87 ++ .../recipes/misc/silver_leggings.json | 87 ++ .../recipes/misc/silverfish_boots.json | 87 ++ .../recipes/misc/silverfish_chestplate.json | 87 ++ .../recipes/misc/silverfish_helmet.json | 87 ++ .../recipes/misc/silverfish_leggings.json | 87 ++ .../recipes/misc/skeleton_boots.json | 87 ++ .../recipes/misc/skeleton_chestplate.json | 87 ++ .../recipes/misc/skeleton_helmet.json | 87 ++ .../recipes/misc/skeleton_leggings.json | 87 ++ .../recipes/misc/skulk2_helmet.json | 87 ++ .../recipes/misc/skulk3_helmet.json | 87 ++ .../recipes/misc/skulk4_helmet.json | 87 ++ .../recipes/misc/skulk_boots.json | 87 ++ .../recipes/misc/skulk_chestplate.json | 87 ++ .../recipes/misc/skulk_helmet.json | 87 ++ .../recipes/misc/skulk_leggings.json | 87 ++ .../misc/small_essence_to_great_essence.json | 17 + .../recipes/misc/spider_boots.json | 87 ++ .../recipes/misc/spider_chestplate.json | 87 ++ .../recipes/misc/spider_helmet.json | 87 ++ .../recipes/misc/spider_leggings.json | 87 ++ .../recipes/misc/squire_boots.json | 87 ++ .../recipes/misc/squire_chestplate.json | 87 ++ .../recipes/misc/squire_helmet.json | 87 ++ .../recipes/misc/squire_leggings.json | 87 ++ .../advancements/recipes/misc/steel_axe.json | 61 ++ .../recipes/misc/steel_sword.json | 61 ++ .../recipes/misc/strawhat_boots.json | 87 ++ .../recipes/misc/strawhat_chestplate.json | 87 ++ .../recipes/misc/strawhat_helmet.json | 87 ++ .../recipes/misc/strawhat_leggings.json | 87 ++ .../recipes/misc/tengu_helmet.json | 87 ++ .../totem_of_undying_to_small_essence.json | 13 + .../recipes/misc/tunic_blue_leggings.json | 87 ++ .../recipes/misc/tunic_green_leggings.json | 87 ++ .../recipes/misc/tunic_red_leggings.json | 87 ++ .../recipes/misc/tunic_sea_leggings.json | 87 ++ .../recipes/misc/tunic_yellow_leggings.json | 87 ++ .../advancements/recipes/misc/uchigatana.json | 61 ++ .../recipes/misc/uchigatana_katana.json | 61 ++ .../recipes/misc/veteran_boots.json | 87 ++ .../recipes/misc/veteran_chestplate.json | 87 ++ .../recipes/misc/veteran_helmet.json | 87 ++ .../recipes/misc/veteran_leggings.json | 87 ++ .../recipes/misc/warlord_boots.json | 87 ++ .../recipes/misc/warlord_chestplate.json | 87 ++ .../recipes/misc/warlord_helmet.json | 87 ++ .../recipes/misc/warlord_leggings.json | 87 ++ .../recipes/misc/witch_boots.json | 87 ++ .../recipes/misc/witch_chestplate.json | 87 ++ .../recipes/misc/witch_helmet.json | 87 ++ .../recipes/misc/witch_leggings.json | 87 ++ .../recipes/misc/wither_boots.json | 87 ++ .../recipes/misc/wither_chestplate.json | 87 ++ .../recipes/misc/wither_helmet.json | 87 ++ .../recipes/misc/wither_leggings.json | 87 ++ .../recipes/misc/zombie_boots.json | 87 ++ .../recipes/misc/zombie_chestplate.json | 87 ++ .../recipes/misc/zombie_helmet.json | 87 ++ .../recipes/misc/zombie_helmet2.json | 87 ++ .../recipes/misc/zombie_leggings.json | 87 ++ .../weapons/khopesh_claymore.json | 16 + .../capabilities/weapons/paladin_sword.json | 11 + .../weapons/uchigatana_katana.json | 9 + .../forge/biome_modifier/spawn_bad_patch.json | 13 + .../forge/biome_modifier/spawn_eldbomb.json | 18 + .../forge/biome_modifier/spawn_eldknight.json | 16 + .../forge/biome_modifier/spawn_ghosty.json | 15 + .../forge/biome_modifier/spawn_gremlin.json | 14 + .../forge/biome_modifier/spawn_lizzy.json | 16 + .../forge/biome_modifier/spawn_ratman.json | 15 + .../forge/biome_modifier/spawn_samhain.json | 13 + .../forge/biome_modifier/spawn_swampman.json | 15 + .../loot_tables/blocks/great_chalice.json | 20 + .../loot_tables/entities/bad_patch.json | 4 + .../loot_tables/entities/eldbomb.json | 4 + .../loot_tables/entities/eldknight.json | 4 + .../loot_tables/entities/gremlin.json | 4 + .../loot_tables/entities/lizzy.json | 4 + .../loot_tables/entities/ratman.json | 4 + .../loot_tables/entities/samhain.json | 4 + .../loot_tables/entities/swampman.json | 4 + .../data/knightquest/recipes/apple_boots.json | 18 + .../knightquest/recipes/apple_chestplate.json | 18 + .../knightquest/recipes/apple_helmet.json | 18 + .../knightquest/recipes/apple_leggings.json | 18 + .../recipes/bamboo_blue_boots.json | 24 + .../recipes/bamboo_blue_chestplate.json | 24 + .../recipes/bamboo_blue_helmet.json | 24 + .../recipes/bamboo_blue_leggings.json | 24 + .../knightquest/recipes/bamboo_boots.json | 24 + .../recipes/bamboo_chestplate.json | 24 + .../recipes/bamboo_green_boots.json | 24 + .../recipes/bamboo_green_chestplate.json | 24 + .../recipes/bamboo_green_helmet.json | 24 + .../recipes/bamboo_green_leggings.json | 24 + .../knightquest/recipes/bamboo_helmet.json | 24 + .../knightquest/recipes/bamboo_leggings.json | 24 + .../data/knightquest/recipes/bat_boots.json | 24 + .../knightquest/recipes/bat_chestplate.json | 24 + .../data/knightquest/recipes/bat_helmet.json | 24 + .../knightquest/recipes/bat_leggings.json | 24 + .../data/knightquest/recipes/blaze_boots.json | 24 + .../knightquest/recipes/blaze_chestplate.json | 24 + .../knightquest/recipes/blaze_helmet.json | 24 + .../knightquest/recipes/blaze_leggings.json | 24 + .../data/knightquest/recipes/bow_boots.json | 24 + .../knightquest/recipes/bow_chestplate.json | 24 + .../data/knightquest/recipes/bow_helmet.json | 24 + .../knightquest/recipes/bow_leggings.json | 24 + .../knightquest/recipes/chainmail_helmet.json | 24 + .../recipes/chainmail_helmet2.json | 24 + .../recipes/cleaver_heavy_axe.json | 24 + .../recipes/conquistador2_helmet.json | 24 + .../recipes/conquistador3_helmet.json | 24 + .../recipes/conquistador_boots.json | 24 + .../recipes/conquistador_chestplate.json | 24 + .../recipes/conquistador_helmet.json | 24 + .../recipes/conquistador_leggings.json | 24 + .../knightquest/recipes/creeper_boots.json | 24 + .../recipes/creeper_chestplate.json | 24 + .../knightquest/recipes/creeper_helmet.json | 24 + .../knightquest/recipes/creeper_leggings.json | 24 + .../knightquest/recipes/deepslate_boots.json | 24 + .../recipes/deepslate_chestplate.json | 24 + .../knightquest/recipes/deepslate_helmet.json | 24 + .../recipes/deepslate_leggings.json | 24 + .../knightquest/recipes/dragon_boots.json | 24 + .../recipes/dragon_chestplate.json | 24 + .../knightquest/recipes/dragon_helmet.json | 24 + .../knightquest/recipes/dragon_leggings.json | 24 + .../recipes/elytra_great_essence.json | 16 + .../knightquest/recipes/empty_goblet.json | 18 + .../knightquest/recipes/enderman_boots.json | 24 + .../recipes/enderman_chestplate.json | 24 + .../knightquest/recipes/enderman_helmet.json | 24 + .../recipes/enderman_leggings.json | 24 + .../knightquest/recipes/evoker_boots.json | 24 + .../recipes/evoker_chestplate.json | 24 + .../knightquest/recipes/evoker_helmet.json | 24 + .../knightquest/recipes/evoker_leggings.json | 24 + .../data/knightquest/recipes/forze_boots.json | 24 + .../knightquest/recipes/forze_chestplate.json | 24 + .../knightquest/recipes/forze_helmet.json | 24 + .../knightquest/recipes/forze_leggings.json | 24 + .../knightquest/recipes/great_chalice.json | 19 + .../great_essence_to_small_essence.json | 13 + .../heart_of_the_sea_to_small_essence.json | 13 + .../knightquest/recipes/hollow_boots.json | 24 + .../recipes/hollow_chestplate.json | 24 + .../knightquest/recipes/hollow_helmet.json | 24 + .../knightquest/recipes/hollow_leggings.json | 24 + .../data/knightquest/recipes/horn_boots.json | 24 + .../knightquest/recipes/horn_chestplate.json | 24 + .../data/knightquest/recipes/horn_helmet.json | 24 + .../knightquest/recipes/horn_leggings.json | 24 + .../data/knightquest/recipes/husk_boots.json | 24 + .../knightquest/recipes/husk_chestplate.json | 24 + .../data/knightquest/recipes/husk_helmet.json | 24 + .../knightquest/recipes/husk_helmet2.json | 24 + .../knightquest/recipes/husk_helmet3.json | 24 + .../knightquest/recipes/husk_leggings.json | 24 + .../knightquest/recipes/khopesh_claymore.json | 24 + .../knightquest/recipes/kukri_dagger.json | 20 + .../data/knightquest/recipes/nail_glaive.json | 24 + .../knightquest/recipes/nether_boots.json | 24 + .../recipes/nether_chestplate.json | 24 + .../knightquest/recipes/nether_helmet.json | 24 + .../knightquest/recipes/nether_leggings.json | 24 + .../recipes/nether_star_to_small_essence.json | 13 + .../knightquest/recipes/paladin_sword.json | 24 + .../data/knightquest/recipes/path_boots.json | 24 + .../knightquest/recipes/path_chestplate.json | 24 + .../data/knightquest/recipes/path_helmet.json | 24 + .../knightquest/recipes/path_leggings.json | 24 + .../knightquest/recipes/phantom_boots.json | 24 + .../recipes/phantom_chestplate.json | 24 + .../knightquest/recipes/phantom_helmet.json | 24 + .../knightquest/recipes/phantom_leggings.json | 24 + .../knightquest/recipes/pirate2_helmet.json | 24 + .../knightquest/recipes/pirate3_helmet.json | 24 + .../knightquest/recipes/pirate_boots.json | 24 + .../recipes/pirate_chestplate.json | 24 + .../knightquest/recipes/pirate_helmet.json | 24 + .../knightquest/recipes/pirate_leggings.json | 24 + .../data/knightquest/recipes/polar_boots.json | 24 + .../knightquest/recipes/polar_chestplate.json | 24 + .../knightquest/recipes/polar_helmet.json | 24 + .../knightquest/recipes/polar_leggings.json | 24 + .../data/knightquest/recipes/sea_boots.json | 24 + .../knightquest/recipes/sea_chestplate.json | 24 + .../data/knightquest/recipes/sea_helmet.json | 24 + .../knightquest/recipes/sea_leggings.json | 24 + .../knightquest/recipes/shield_boots.json | 24 + .../recipes/shield_chestplate.json | 24 + .../knightquest/recipes/shield_helmet.json | 24 + .../knightquest/recipes/shield_leggings.json | 24 + .../knightquest/recipes/shinobi_boots.json | 24 + .../recipes/shinobi_chestplate.json | 24 + .../knightquest/recipes/shinobi_helmet.json | 24 + .../knightquest/recipes/shinobi_leggings.json | 24 + .../knightquest/recipes/silver_boots.json | 24 + .../recipes/silver_chestplate.json | 24 + .../knightquest/recipes/silver_helmet.json | 24 + .../knightquest/recipes/silver_leggings.json | 24 + .../knightquest/recipes/silverfish_boots.json | 24 + .../recipes/silverfish_chestplate.json | 24 + .../recipes/silverfish_helmet.json | 24 + .../recipes/silverfish_leggings.json | 24 + .../knightquest/recipes/skeleton_boots.json | 24 + .../recipes/skeleton_chestplate.json | 24 + .../knightquest/recipes/skeleton_helmet.json | 24 + .../recipes/skeleton_leggings.json | 24 + .../knightquest/recipes/skulk2_helmet.json | 24 + .../knightquest/recipes/skulk3_helmet.json | 24 + .../knightquest/recipes/skulk4_helmet.json | 24 + .../data/knightquest/recipes/skulk_boots.json | 24 + .../knightquest/recipes/skulk_chestplate.json | 24 + .../knightquest/recipes/skulk_helmet.json | 24 + .../knightquest/recipes/skulk_leggings.json | 24 + .../small_essence_to_great_essence.json | 17 + .../knightquest/recipes/spider_boots.json | 24 + .../recipes/spider_chestplate.json | 24 + .../knightquest/recipes/spider_helmet.json | 24 + .../knightquest/recipes/spider_leggings.json | 24 + .../knightquest/recipes/squire_boots.json | 24 + .../recipes/squire_chestplate.json | 24 + .../knightquest/recipes/squire_helmet.json | 24 + .../knightquest/recipes/squire_leggings.json | 24 + .../data/knightquest/recipes/steel_axe.json | 24 + .../data/knightquest/recipes/steel_sword.json | 24 + .../knightquest/recipes/strawhat_boots.json | 24 + .../recipes/strawhat_chestplate.json | 24 + .../knightquest/recipes/strawhat_helmet.json | 24 + .../recipes/strawhat_leggings.json | 24 + .../knightquest/recipes/tengu_helmet.json | 24 + .../totem_of_undying_to_small_essence.json | 13 + .../recipes/tunic_blue_leggings.json | 24 + .../recipes/tunic_green_leggings.json | 24 + .../recipes/tunic_red_leggings.json | 24 + .../recipes/tunic_sea_leggings.json | 24 + .../recipes/tunic_yellow_leggings.json | 24 + .../recipes/uchigatana_katana.json | 24 + .../knightquest/recipes/veteran_boots.json | 24 + .../recipes/veteran_chestplate.json | 24 + .../knightquest/recipes/veteran_helmet.json | 24 + .../knightquest/recipes/veteran_leggings.json | 24 + .../knightquest/recipes/warlord_boots.json | 24 + .../recipes/warlord_chestplate.json | 24 + .../knightquest/recipes/warlord_helmet.json | 24 + .../knightquest/recipes/warlord_leggings.json | 24 + .../data/knightquest/recipes/witch_boots.json | 24 + .../knightquest/recipes/witch_chestplate.json | 24 + .../knightquest/recipes/witch_helmet.json | 24 + .../knightquest/recipes/witch_leggings.json | 24 + .../knightquest/recipes/wither_boots.json | 24 + .../recipes/wither_chestplate.json | 24 + .../knightquest/recipes/wither_helmet.json | 24 + .../knightquest/recipes/wither_leggings.json | 24 + .../knightquest/recipes/zombie_boots.json | 24 + .../recipes/zombie_chestplate.json | 24 + .../knightquest/recipes/zombie_helmet.json | 24 + .../knightquest/recipes/zombie_helmet2.json | 24 + .../knightquest/recipes/zombie_leggings.json | 24 + .../tags/blocks/mineable/pickaxe.json | 6 + .../tags/blocks/needs_stone_tool.json | 6 + src/main/resources/knightquest.png | Bin 0 -> 75255 bytes src/main/resources/pack.mcmeta | 8 + 1183 files changed, 38265 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 src/generated/resources/.cache/5abdec05dd995a633321c56aa748c00d0b22870b create mode 100644 src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/bad_patch_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/blaze_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/cave_spider_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/creeper_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/drowned_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/eldbomb_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/eldknight_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/enderman_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/ghast_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/gremlin_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_lizzy_scale.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/magma_cube_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/phantom_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_ratman_eye.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/samhain_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/skeleton_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/slime_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/stray_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/swampman_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/vex_small_essence.json create mode 100644 src/generated/resources/data/knightquest/loot_modifiers/entities/zombie_small_essence.json create mode 100644 src/main/java/net/xylonity/knightquest/KnightQuest.java create mode 100644 src/main/java/net/xylonity/knightquest/common/block/ChaliceBlock.java create mode 100644 src/main/java/net/xylonity/knightquest/common/client/GeoItemArmor.java create mode 100644 src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/EldBombModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/EldBombRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/GhostyModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/GhostyRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/GremlinModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/GremlinRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/LizzyModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/LizzyRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/RatmanModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/RatmanRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/SamhainModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/SamhainRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/ShieldModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/ShieldRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanModel.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanRenderer.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/BadPatchEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/EldBombEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/EldKnightEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/GhostyEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/GremlinEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/LizzyEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/MommaLizzyEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/RatmanEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/SamhainEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/ShieldEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/entity/entities/SwampmanEntity.java create mode 100644 src/main/java/net/xylonity/knightquest/common/event/KQClientEventProviders.java create mode 100644 src/main/java/net/xylonity/knightquest/common/event/KQEventRegisters.java create mode 100644 src/main/java/net/xylonity/knightquest/common/event/KQExtraEvents.java create mode 100644 src/main/java/net/xylonity/knightquest/common/item/KQArmorItem.java create mode 100644 src/main/java/net/xylonity/knightquest/common/item/KQFullSetChecker.java create mode 100644 src/main/java/net/xylonity/knightquest/common/item/KQItem.java create mode 100644 src/main/java/net/xylonity/knightquest/common/material/KQArmorMaterials.java create mode 100644 src/main/java/net/xylonity/knightquest/common/material/KQItemMaterials.java create mode 100644 src/main/java/net/xylonity/knightquest/common/particle/GhostyParticle.java create mode 100644 src/main/java/net/xylonity/knightquest/common/particle/GremlinParticle.java create mode 100644 src/main/java/net/xylonity/knightquest/common/particle/StarsetParticle.java create mode 100644 src/main/java/net/xylonity/knightquest/common/particle/YellowParticle.java create mode 100644 src/main/java/net/xylonity/knightquest/common/tags/KQTags.java create mode 100644 src/main/java/net/xylonity/knightquest/config/KnightQuestCommonConfigs.java create mode 100644 src/main/java/net/xylonity/knightquest/config/values/KQConfigValues.java create mode 100644 src/main/java/net/xylonity/knightquest/datagen/KQAddItemModifier.java create mode 100644 src/main/java/net/xylonity/knightquest/datagen/KQGlobalLootModifiersProvider.java create mode 100644 src/main/java/net/xylonity/knightquest/datagen/KQItemModelProvider.java create mode 100644 src/main/java/net/xylonity/knightquest/datagen/KQLootModifiers.java create mode 100644 src/main/java/net/xylonity/knightquest/registry/KnightQuestBlocks.java create mode 100644 src/main/java/net/xylonity/knightquest/registry/KnightQuestCreativeModeTabs.java create mode 100644 src/main/java/net/xylonity/knightquest/registry/KnightQuestEntities.java create mode 100644 src/main/java/net/xylonity/knightquest/registry/KnightQuestItems.java create mode 100644 src/main/java/net/xylonity/knightquest/registry/KnightQuestParticles.java create mode 100644 src/main/resources/META-INF/mods.toml create mode 100644 src/main/resources/assets/knightquest/animations/bad_patch.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/eldbomb.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/eldknight.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/gremlin.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/helmet.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/lizzy.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/momma_lizzy.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/ratman.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/samhain.animation.json create mode 100644 src/main/resources/assets/knightquest/animations/swampman.animation.json create mode 100644 src/main/resources/assets/knightquest/blockstates/great_chalice.json create mode 100644 src/main/resources/assets/knightquest/geo/apple_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bad_patch.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bamboo_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bambooblue_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bamboogreen_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bat_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/blaze_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/bow_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/chainmail_helmet2.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/conquistador2_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/conquistador3_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/conquistador_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/deepslate_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/dragon_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/eldbomb.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/eldknight.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/enderman_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/evoker_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/forze_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/forze_main.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/ghosty.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/gremlin.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/hollow_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/horn_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/husk_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/husk_helmet2.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/husk_helmet3.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/lizzy.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/momma_lizzy.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/nether_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/path_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/phantom_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/pirate2_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/pirate3_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/pirate_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/polar_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/ratman.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/samhain.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/samhain_squire.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/sea_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/shield.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/shield_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/shinobi_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/silver_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/silver_main.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/silverfish_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/skeleton_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/skulk2_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/skulk3_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/skulk4_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/skulk_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/spider_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/spider_main.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/squire_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/strawhat_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/swampman.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/tengu_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/veteran_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/veteran_leggings.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/veteran_main.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/warlord_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/witch_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/zombie_helmet.geo.json create mode 100644 src/main/resources/assets/knightquest/geo/zombie_helmet2.geo.json create mode 100644 src/main/resources/assets/knightquest/item_skins/khopesh_claymore.json create mode 100644 src/main/resources/assets/knightquest/item_skins/paladin_sword.json create mode 100644 src/main/resources/assets/knightquest/item_skins/uchigatana_katana.json create mode 100644 src/main/resources/assets/knightquest/lang/de_de.json create mode 100644 src/main/resources/assets/knightquest/lang/en_us.json create mode 100644 src/main/resources/assets/knightquest/lang/es_es.json create mode 100644 src/main/resources/assets/knightquest/lang/fr_fr.json create mode 100644 src/main/resources/assets/knightquest/lang/ja_jp.json create mode 100644 src/main/resources/assets/knightquest/lang/pt_pt.json create mode 100644 src/main/resources/assets/knightquest/lang/ru_ru.json create mode 100644 src/main/resources/assets/knightquest/lang/tr_tr.json create mode 100644 src/main/resources/assets/knightquest/lang/zh_cn.json create mode 100644 src/main/resources/assets/knightquest/lang/zh_tw.json create mode 100644 src/main/resources/assets/knightquest/models/block/great_chalice.json create mode 100644 src/main/resources/assets/knightquest/models/block/great_chalice_1.json create mode 100644 src/main/resources/assets/knightquest/models/block/great_chalice_2.json create mode 100644 src/main/resources/assets/knightquest/models/block/great_chalice_3.json create mode 100644 src/main/resources/assets/knightquest/models/block/great_chalice_4.json create mode 100644 src/main/resources/assets/knightquest/models/item/apple_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/apple_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/apple_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/apple_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/bad_patch_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_blue_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_blue_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_blue_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_blue_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_green_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_green_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_green_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_green_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/bamboo_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/bat_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/bat_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/bat_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/bat_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/blaze_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/blaze_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/blaze_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/blaze_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/bow_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/bow_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/bow_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/bow_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/chainmail_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/chainmail_helmet2.json create mode 100644 src/main/resources/assets/knightquest/models/item/cleaver_heavy_axe.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador2_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador3_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/conquistador_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/creeper_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/creeper_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/creeper_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/creeper_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/crimson_sword.json create mode 100644 src/main/resources/assets/knightquest/models/item/deepslate_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/deepslate_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/deepslate_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/deepslate_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/dragon_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/dragon_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/dragon_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/dragon_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/eldbomb_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/eldknight_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/empty_goblet.json create mode 100644 src/main/resources/assets/knightquest/models/item/enderman_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/enderman_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/enderman_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/enderman_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/evoker_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/evoker_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/evoker_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/evoker_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/filled_goblet.json create mode 100644 src/main/resources/assets/knightquest/models/item/forze_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/forze_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/forze_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/forze_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/ghastling_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/ghosty_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/great_chalice.json create mode 100644 src/main/resources/assets/knightquest/models/item/great_essence.json create mode 100644 src/main/resources/assets/knightquest/models/item/gremlin_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/hollow_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/hollow_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/hollow_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/hollow_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/horn_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/horn_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/horn_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/horn_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_helmet2.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_helmet3.json create mode 100644 src/main/resources/assets/knightquest/models/item/husk_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/khopesh_claymore.json create mode 100644 src/main/resources/assets/knightquest/models/item/kukri_dagger.json create mode 100644 src/main/resources/assets/knightquest/models/item/lizzy_scale.json create mode 100644 src/main/resources/assets/knightquest/models/item/lizzy_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/momma_lizzy_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/nail_glaive.json create mode 100644 src/main/resources/assets/knightquest/models/item/nether_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/nether_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/nether_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/nether_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/paladin_sword.json create mode 100644 src/main/resources/assets/knightquest/models/item/path_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/path_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/path_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/path_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/phantom_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/phantom_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/phantom_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/phantom_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate2_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate3_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/pirate_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/polar_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/polar_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/polar_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/polar_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/ratman_eye.json create mode 100644 src/main/resources/assets/knightquest/models/item/ratman_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/samhain_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/sea_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/sea_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/sea_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/sea_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/shield_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/shield_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/shield_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/shield_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/shinobi_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/shinobi_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/shinobi_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/shinobi_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/silver_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/silver_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/silver_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/silver_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/silverfish_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/silverfish_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/silverfish_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/silverfish_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/skeleton_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/skeleton_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/skeleton_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/skeleton_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk2_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk3_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk4_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/skulk_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/small_essence.json create mode 100644 src/main/resources/assets/knightquest/models/item/spider_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/spider_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/spider_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/spider_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/squire_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/squire_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/squire_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/squire_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/steel_axe.json create mode 100644 src/main/resources/assets/knightquest/models/item/steel_sword.json create mode 100644 src/main/resources/assets/knightquest/models/item/strawhat_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/strawhat_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/strawhat_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/strawhat_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/swampman_spawn_egg.json create mode 100644 src/main/resources/assets/knightquest/models/item/tengu_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/tunic_blue_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/tunic_green_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/tunic_red_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/tunic_sea_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/tunic_yellow_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/uchigatana_katana.json create mode 100644 src/main/resources/assets/knightquest/models/item/veteran_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/veteran_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/veteran_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/veteran_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/warlord_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/warlord_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/warlord_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/warlord_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/water_axe.json create mode 100644 src/main/resources/assets/knightquest/models/item/water_sword.json create mode 100644 src/main/resources/assets/knightquest/models/item/witch_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/witch_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/witch_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/witch_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/wither_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/wither_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/wither_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/wither_leggings.json create mode 100644 src/main/resources/assets/knightquest/models/item/zombie_boots.json create mode 100644 src/main/resources/assets/knightquest/models/item/zombie_chestplate.json create mode 100644 src/main/resources/assets/knightquest/models/item/zombie_helmet.json create mode 100644 src/main/resources/assets/knightquest/models/item/zombie_helmet2.json create mode 100644 src/main/resources/assets/knightquest/models/item/zombie_leggings.json create mode 100644 src/main/resources/assets/knightquest/particles/ghosty.json create mode 100644 src/main/resources/assets/knightquest/particles/gremlin.json create mode 100644 src/main/resources/assets/knightquest/particles/starset.json create mode 100644 src/main/resources/assets/knightquest/particles/yellow.json create mode 100644 src/main/resources/assets/knightquest/textures/armor/apple_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/bamboo_blue_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/bamboo_green_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/bamboo_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/bat_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/blaze_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/bow_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/chainmail_helmet2.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/conquistador2_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/conquistador3_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/conquistador_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/creeper_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/deepslate_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/dragon_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/enderman_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/evoker_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/forze_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/forze_main.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/hollow_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/horn_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/husk_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/husk_helmet2.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/husk_helmet3.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/nether_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/path_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/phantom_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/pirate2_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/pirate3_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/pirate_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/polar_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/sea_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/shield_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/shinobi_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/silver_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/silver_main.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/silverfish_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/skeleton_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/skulk2_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/skulk3_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/skulk4_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/skulk_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/spider_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/spider_main.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/squire_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/strawhat_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/tengu_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/veteran_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/veteran_leggings.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/veteran_main.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/warlord_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/witch_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/zombie_helmet.png create mode 100644 src/main/resources/assets/knightquest/textures/armor/zombie_helmet2.png create mode 100644 src/main/resources/assets/knightquest/textures/block/advancement_tab_background.png create mode 100644 src/main/resources/assets/knightquest/textures/block/great_chalice.png create mode 100644 src/main/resources/assets/knightquest/textures/block/great_chalice.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/entity/bad_patch.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/eldbomb.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/eldbomb_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/eldknight.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/eldknight_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/ghosty.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/gremlin.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/gremlin_angry.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/gremlin_angry_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/gremlin_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/lizzy.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/momma_lizzy.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/ratman.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/ratman_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/samhain.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/samhain_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/samhain_squire.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/samhain_squire_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/shield.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/swampman.png create mode 100644 src/main/resources/assets/knightquest/textures/entity/swampman_glowmask.png create mode 100644 src/main/resources/assets/knightquest/textures/gui/container/creative_inventory/tab_knightquest.png create mode 100644 src/main/resources/assets/knightquest/textures/gui/container/creative_inventory/tabs_knightquest.png create mode 100644 src/main/resources/assets/knightquest/textures/item/apple_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/apple_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/apple_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/apple_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_blue_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_blue_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_blue_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_blue_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_green_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_green_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_green_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_green_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bamboo_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bat_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bat_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bat_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bat_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/blaze_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/blaze_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/blaze_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/blaze_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bow_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bow_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bow_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/bow_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/chainmail_helmet2_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/chainmail_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/cleaver.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador2_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador3_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/conquistador_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/creeper_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/creeper_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/creeper_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/creeper_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/crimson_sword.png create mode 100644 src/main/resources/assets/knightquest/textures/item/deepslate_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/deepslate_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/deepslate_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/deepslate_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/dragon_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/dragon_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/dragon_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/dragon_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/empty_goblet.png create mode 100644 src/main/resources/assets/knightquest/textures/item/enderman_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/enderman_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/enderman_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/enderman_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/evoker_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/evoker_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/evoker_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/evoker_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/filled_goblet.png create mode 100644 src/main/resources/assets/knightquest/textures/item/forze_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/forze_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/forze_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/forze_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/great_essence.png create mode 100644 src/main/resources/assets/knightquest/textures/item/great_essence.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/item/hollow_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/hollow_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/hollow_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/hollow_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/horn_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/horn_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/horn_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/horn_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_helmet2_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_helmet3_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/husk_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/khopesh.png create mode 100644 src/main/resources/assets/knightquest/textures/item/khopesh.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/item/kukri.png create mode 100644 src/main/resources/assets/knightquest/textures/item/lizzy_scale.png create mode 100644 src/main/resources/assets/knightquest/textures/item/nail_sword.png create mode 100644 src/main/resources/assets/knightquest/textures/item/nether_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/nether_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/nether_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/nether_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/paladin_sword.png create mode 100644 src/main/resources/assets/knightquest/textures/item/paladin_sword.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/item/path_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/path_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/path_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/path_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/phantom_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/phantom_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/phantom_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/phantom_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate2_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate3_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/pirate_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/polar_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/polar_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/polar_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/polar_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/ratman_eye.png create mode 100644 src/main/resources/assets/knightquest/textures/item/ratman_eye.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/item/sea_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/sea_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/sea_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/sea_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shield_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shield_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shield_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shield_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shinobi_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shinobi_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shinobi_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/shinobi_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silver_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silver_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silver_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silver_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silverfish_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silverfish_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silverfish_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/silverfish_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skeleton_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skeleton_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skeleton_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skeleton_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk2_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk3_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk4_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/skulk_marbled_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/small_essence.png create mode 100644 src/main/resources/assets/knightquest/textures/item/small_essence.png.mcmeta create mode 100644 src/main/resources/assets/knightquest/textures/item/spider_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/spider_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/spider_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/spider_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/squire_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/squire_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/squire_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/squire_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/steel_axe.png create mode 100644 src/main/resources/assets/knightquest/textures/item/steel_sword.png create mode 100644 src/main/resources/assets/knightquest/textures/item/strawhat_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/strawhat_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/strawhat_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/strawhat_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tengu_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tunic_blue_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tunic_green_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tunic_red_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tunic_sea_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/tunic_yellow_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/uchigatana.png create mode 100644 src/main/resources/assets/knightquest/textures/item/veteran_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/veteran_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/veteran_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/veteran_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/warlord_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/warlord_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/warlord_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/warlord_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/water_axe.png create mode 100644 src/main/resources/assets/knightquest/textures/item/water_sword.png create mode 100644 src/main/resources/assets/knightquest/textures/item/witch_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/witch_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/witch_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/witch_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/wither_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/wither_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/wither_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/wither_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/zombie_boots_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/zombie_helmet2_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/zombie_helmet_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/zombie_leggings_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/item/zombie_main_icon.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/appleset_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/appleset_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_blue_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_blue_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_green_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_green_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bamboo_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bat_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bat_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/blaze_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/blaze_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bow_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/bow_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/chainmail_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/creeper_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/creeper_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/deepslate_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/deepslate_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/dragon_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/dragon_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/enderman_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/enderman_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/evoker_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/evoker_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/forze_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/forze_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/horn_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/horn_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/husk_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/husk_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/nether_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/nether_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/path_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/path_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/phantom_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/phantom_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/polar_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/polar_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/sea_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/sea_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/shield_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/shield_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/silver_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/silver_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/silverfish_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/silverfish_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/skeleton_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/skeleton_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/skulk_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/skulk_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/spider_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/spider_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/squire_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/squire_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/strawhat_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/strawhat_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/tunic_blue_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/tunic_green_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/tunic_red_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/tunic_sea_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/tunic_yellow_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/veteran_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/veteran_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/warlord_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/warlord_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/witch_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/witch_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/wither_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/wither_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/zombie_layer_1.png create mode 100644 src/main/resources/assets/knightquest/textures/models/armor/zombie_layer_2.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty1.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty2.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty3.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty4.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty5.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/ghosty6.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin1.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin10.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin11.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin12.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin13.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin14.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin15.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin16.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin17.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin18.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin19.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin2.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin20.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin21.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin3.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin4.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin5.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin6.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin7.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin8.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/gremlin9.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset1.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset10.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset11.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset12.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset13.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset14.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset15.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset16.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset17.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset18.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset19.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset2.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset3.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset4.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset5.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset6.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset7.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset8.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/starset9.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/yellow1.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/yellow2.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/yellow3.png create mode 100644 src/main/resources/assets/knightquest/textures/particle/yellow4.png create mode 100644 src/main/resources/data/knightquest/advancements/knightquest.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/apple_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/apple_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/apple_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/apple_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bat_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bat_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bat_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bat_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/blaze_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/blaze_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/blaze_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/blaze_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bow_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bow_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bow_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/bow_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet2.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/cleaver.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/cleaver_heavy_axe.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador2_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador3_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/creeper_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/creeper_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/creeper_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/creeper_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/dragon_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/dragon_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/dragon_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/dragon_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/elytra_great_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/elytra_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/empty_goblet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/enderman_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/enderman_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/enderman_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/enderman_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/evoker_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/evoker_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/evoker_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/evoker_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/forze_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/forze_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/forze_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/forze_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/great_chalice.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/great_essence_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/heart_of_the_sea_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/hollow_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/hollow_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/hollow_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/hollow_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/horn_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/horn_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/horn_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/horn_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet2.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet3.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/husk_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/khopesh.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/khopesh_claymore.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/kukri.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/kukri_dagger.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nail_glaive.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nail_sword.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nether_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nether_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nether_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nether_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/nether_star_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/paladin_sword.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/path_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/path_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/path_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/path_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/phantom_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/phantom_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/phantom_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/phantom_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate2_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate3_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/pirate_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/polar_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/polar_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/polar_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/polar_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/sea_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/sea_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/sea_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/sea_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shield_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shield_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shield_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shield_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silver_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silver_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silver_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silver_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk2_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk3_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk4_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/skulk_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/small_essence_to_great_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/spider_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/spider_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/spider_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/spider_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/squire_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/squire_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/squire_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/squire_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/steel_axe.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/steel_sword.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tengu_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/totem_of_undying_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tunic_blue_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tunic_green_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tunic_red_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tunic_sea_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/tunic_yellow_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana_katana.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/veteran_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/veteran_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/veteran_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/veteran_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/warlord_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/warlord_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/warlord_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/warlord_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/witch_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/witch_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/witch_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/witch_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/wither_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/wither_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/wither_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/wither_leggings.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/zombie_boots.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/zombie_chestplate.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet2.json create mode 100644 src/main/resources/data/knightquest/advancements/recipes/misc/zombie_leggings.json create mode 100644 src/main/resources/data/knightquest/capabilities/weapons/khopesh_claymore.json create mode 100644 src/main/resources/data/knightquest/capabilities/weapons/paladin_sword.json create mode 100644 src/main/resources/data/knightquest/capabilities/weapons/uchigatana_katana.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_bad_patch.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldbomb.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldknight.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_ghosty.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_gremlin.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_lizzy.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_ratman.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_samhain.json create mode 100644 src/main/resources/data/knightquest/forge/biome_modifier/spawn_swampman.json create mode 100644 src/main/resources/data/knightquest/loot_tables/blocks/great_chalice.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/bad_patch.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/eldbomb.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/eldknight.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/gremlin.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/lizzy.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/ratman.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/samhain.json create mode 100644 src/main/resources/data/knightquest/loot_tables/entities/swampman.json create mode 100644 src/main/resources/data/knightquest/recipes/apple_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/apple_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/apple_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/apple_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_blue_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_blue_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_blue_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_blue_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_green_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_green_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_green_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_green_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/bamboo_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/bat_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/bat_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/bat_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/bat_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/blaze_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/blaze_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/blaze_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/blaze_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/bow_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/bow_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/bow_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/bow_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/chainmail_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/chainmail_helmet2.json create mode 100644 src/main/resources/data/knightquest/recipes/cleaver_heavy_axe.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador2_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador3_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/conquistador_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/creeper_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/creeper_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/creeper_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/creeper_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/deepslate_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/deepslate_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/deepslate_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/deepslate_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/dragon_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/dragon_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/dragon_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/dragon_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/elytra_great_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/empty_goblet.json create mode 100644 src/main/resources/data/knightquest/recipes/enderman_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/enderman_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/enderman_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/enderman_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/evoker_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/evoker_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/evoker_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/evoker_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/forze_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/forze_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/forze_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/forze_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/great_chalice.json create mode 100644 src/main/resources/data/knightquest/recipes/great_essence_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/heart_of_the_sea_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/hollow_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/hollow_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/hollow_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/hollow_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/horn_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/horn_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/horn_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/horn_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_helmet2.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_helmet3.json create mode 100644 src/main/resources/data/knightquest/recipes/husk_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/khopesh_claymore.json create mode 100644 src/main/resources/data/knightquest/recipes/kukri_dagger.json create mode 100644 src/main/resources/data/knightquest/recipes/nail_glaive.json create mode 100644 src/main/resources/data/knightquest/recipes/nether_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/nether_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/nether_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/nether_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/nether_star_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/paladin_sword.json create mode 100644 src/main/resources/data/knightquest/recipes/path_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/path_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/path_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/path_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/phantom_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/phantom_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/phantom_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/phantom_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate2_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate3_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/pirate_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/polar_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/polar_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/polar_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/polar_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/sea_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/sea_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/sea_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/sea_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/shield_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/shield_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/shield_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/shield_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/shinobi_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/shinobi_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/shinobi_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/shinobi_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/silver_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/silver_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/silver_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/silver_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/silverfish_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/silverfish_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/silverfish_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/silverfish_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/skeleton_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/skeleton_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/skeleton_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/skeleton_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk2_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk3_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk4_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/skulk_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/small_essence_to_great_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/spider_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/spider_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/spider_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/spider_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/squire_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/squire_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/squire_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/squire_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/steel_axe.json create mode 100644 src/main/resources/data/knightquest/recipes/steel_sword.json create mode 100644 src/main/resources/data/knightquest/recipes/strawhat_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/strawhat_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/strawhat_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/strawhat_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/tengu_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/totem_of_undying_to_small_essence.json create mode 100644 src/main/resources/data/knightquest/recipes/tunic_blue_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/tunic_green_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/tunic_red_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/tunic_sea_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/tunic_yellow_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/uchigatana_katana.json create mode 100644 src/main/resources/data/knightquest/recipes/veteran_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/veteran_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/veteran_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/veteran_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/warlord_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/warlord_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/warlord_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/warlord_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/witch_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/witch_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/witch_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/witch_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/wither_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/wither_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/wither_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/wither_leggings.json create mode 100644 src/main/resources/data/knightquest/recipes/zombie_boots.json create mode 100644 src/main/resources/data/knightquest/recipes/zombie_chestplate.json create mode 100644 src/main/resources/data/knightquest/recipes/zombie_helmet.json create mode 100644 src/main/resources/data/knightquest/recipes/zombie_helmet2.json create mode 100644 src/main/resources/data/knightquest/recipes/zombie_leggings.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json create mode 100644 src/main/resources/knightquest.png create mode 100644 src/main/resources/pack.mcmeta diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..097f9f98 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c476faf2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# gradle + +.gradle/ +build/ +out/ +classes/ + +# eclipse + +*.launch + +# idea + +.idea/ +*.iml +*.ipr +*.iws + +# vscode + +.settings/ +.vscode/ +bin/ +.classpath +.project + +# macos + +*.DS_Store + +# fabric + +run/ + +# java + +hs_err_*.log +replay_*.log +*.hprof +*.jfr diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..334422eb --- /dev/null +++ b/build.gradle @@ -0,0 +1,221 @@ +plugins { + id 'eclipse' + id 'idea' + id 'maven-publish' + id 'net.minecraftforge.gradle' version '[6.0,6.2)' + id 'org.parchmentmc.librarian.forgegradle' version '1.+' + id 'org.spongepowered.mixin' version '0.7.+' +} + +version = mod_version +group = mod_group_id + +base { + archivesName = mod_id +} + +// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. +java.toolchain.languageVersion = JavaLanguageVersion.of(17) + +println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" +minecraft { + // The mappings can be changed at any time and must be in the following format. + // Channel: Version: + // official MCVersion Official field/method names from Mojang mapping files + // parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official + // + // You must be aware of the Mojang license when using the 'official' or 'parchment' mappings. + // See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md + // + // Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge + // Additional setup is needed to use their mappings: https://parchmentmc.org/docs/getting-started + // + // Use non-default mappings at your own risk. They may not always work. + // Simply re-run your setup task after changing the mappings to update your workspace. + mappings channel: mapping_channel, version: mapping_version + + // When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game. + // In most cases, it is not necessary to enable. + // enableEclipsePrepareRuns = true + // enableIdeaPrepareRuns = true + + // This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game. + // It is REQUIRED to be set to true for this template to function. + // See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html + copyIdeResources = true + + // When true, this property will add the folder name of all declared run configurations to generated IDE run configurations. + // The folder name can be set on a run configuration using the "folderName" property. + // By default, the folder name of a run configuration is the name of the Gradle project containing it. + // generateRunFolders = true + + // This property enables access transformers for use in development. + // They will be applied to the Minecraft artifact. + // The access transformer file can be anywhere in the project. + // However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge. + // This default location is a best practice to automatically put the file in the right place in the final jar. + // See https://docs.minecraftforge.net/en/latest/advanced/accesstransformers/ for more information. + // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') + + // Default run configurations. + // These can be tweaked, removed, or duplicated as needed. + runs { + // applies to all the run configs below + configureEach { + workingDirectory project.file('run') + + // Recommended logging data for a userdev environment + // The markers can be added/remove as needed separated by commas. + // "SCAN": For mods scan. + // "REGISTRIES": For firing of registry events. + // "REGISTRYDUMP": For getting the contents of all registries. + property 'forge.logging.markers', 'REGISTRIES' + + // Recommended logging level for the console + // You can set various levels here. + // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels + property 'forge.logging.console.level', 'debug' + + mods { + "${mod_id}" { + source sourceSets.main + } + } + } + + client { + // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. + property 'forge.enabledGameTestNamespaces', mod_id + } + + server { + property 'forge.enabledGameTestNamespaces', mod_id + args '--nogui' + } + + // This run config launches GameTestServer and runs all registered gametests, then exits. + // By default, the server will crash when no gametests are provided. + // The gametest system is also enabled by default for other run configs under the /test command. + gameTestServer { + property 'forge.enabledGameTestNamespaces', mod_id + } + + data { + // example of overriding the workingDirectory set in configureEach above + workingDirectory project.file('run-data') + + // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. + args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') + } + } +} + +// Include resources generated by data generators. +sourceSets.main.resources { srcDir 'src/generated/resources' } + +repositories { + // Put repositories for dependencies here + // ForgeGradle automatically adds the Forge maven and Maven Central for you + + // If you have mod jar dependencies in ./libs, you can declare them as a repository like so. + // See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver + // flatDir { + // dir 'libs' + // } + + maven { + name = 'GeckoLib' + url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/' + content { + includeGroupByRegex("software\\.bernie.*") + includeGroup("com.eliotlash.mclib") + } + } + +} + +dependencies { + // Specify the version of Minecraft to use. + // Any artifact can be supplied so long as it has a "userdev" classifier artifact and is a compatible patcher artifact. + // The "userdev" classifier will be requested and setup by ForgeGradle. + // If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"], + // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository. + minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" + + // Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings + // The JEI API is declared for compile time use, while the full JEI artifact is used at runtime + // compileOnly fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}") + // compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}") + // runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}") + + // Example mod dependency using a mod jar from ./libs with a flat dir repository + // This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar + // The group id is ignored when searching -- in this case, it is "blank" + // implementation fg.deobf("blank:coolmod-${mc_version}:${coolmod_version}") + + // For more info: + // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html + // http://www.gradle.org/docs/current/userguide/dependency_management.html + implementation fg.deobf("software.bernie.geckolib:geckolib-forge-${minecraft_version}:${geckolib_version}") + implementation("com.eliotlash.mclib:mclib:20") +} + +// This block of code expands all declared replace properties in the specified resource targets. +// A missing property will result in an error. Properties are expanded using ${} Groovy notation. +// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments. +// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html +tasks.named('processResources', ProcessResources).configure { + var replaceProperties = [ + minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range, + forge_version: forge_version, forge_version_range: forge_version_range, + loader_version_range: loader_version_range, + mod_id: mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version, + mod_authors: mod_authors, mod_description: mod_description, + ] + inputs.properties replaceProperties + + filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { + expand replaceProperties + [project: project] + } +} + +// Example for how to get properties into the manifest for reading at runtime. +tasks.named('jar', Jar).configure { + manifest { + attributes([ + 'Specification-Title' : mod_id, + 'Specification-Vendor' : mod_authors, + 'Specification-Version' : '1', // We are version 1 of ourselves + 'Implementation-Title' : project.name, + 'Implementation-Version' : project.jar.archiveVersion, + 'Implementation-Vendor' : mod_authors, + 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") + ]) + } + + // This is the preferred method to reobfuscate your jar file + finalizedBy 'reobfJar' +} + +// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing: +// tasks.named('publish').configure { +// dependsOn 'reobfJar' +// } + +// Example configuration to allow publishing using the maven-publish plugin +publishing { + publications { + register('mavenJava', MavenPublication) { + artifact jar + } + } + repositories { + maven { + url "file://${project.projectDir}/mcmodsrepo" + } + } +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..c9c25b6a --- /dev/null +++ b/gradle.properties @@ -0,0 +1,24 @@ +org.gradle.jvmargs=-Xmx3G +org.gradle.daemon=false + + +## Environment Properties +geckolib_version=4.4.4 +minecraft_version=1.20.1 +minecraft_version_range=[1.20.1,1.21) +forge_version=47.2.32 +forge_version_range=[47,) +loader_version_range=[47,) + +mapping_channel=parchment +mapping_version=2023.09.03-1.20.1 + + +## Mod Properties +mod_id=knightquest +mod_name=Knight Quest +mod_license=GNU GPL v3.0 +mod_version=1.4.0 +mod_group_id=net.xylonity.knightquest +mod_authors=Xylonity +mod_description=Unravel a questline full of mysteries and treasures, battle new enemies and obtain rare materials, and craft armor and equipment with unique designs. With over 30 armor sets to discover, you're sure to find the perfect one that'll make you a true paladin. \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c1962a79e29d3e0ab67b14947c167a862655af9b GIT binary patch literal 62076 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..bb6c1919 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 00000000..65dcd68d --- /dev/null +++ b/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..93e3f59f --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..cb5b2926 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,15 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven { + name = 'MinecraftForge' + url = 'https://maven.minecraftforge.net/' + } + maven { url = 'https://maven.parchmentmc.org' } + maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } + } +} + +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' +} \ No newline at end of file diff --git a/src/generated/resources/.cache/5abdec05dd995a633321c56aa748c00d0b22870b b/src/generated/resources/.cache/5abdec05dd995a633321c56aa748c00d0b22870b new file mode 100644 index 00000000..c6a30374 --- /dev/null +++ b/src/generated/resources/.cache/5abdec05dd995a633321c56aa748c00d0b22870b @@ -0,0 +1,25 @@ +// 1.20.1 2024-06-10T04:28:58.3486535 Global Loot Modifiers : knightquest +ecfe73982bfaf986b69021179d9fb5dfddfa9829 data/forge/loot_modifiers/global_loot_modifiers.json +e455c2d2d3a6b2e6c49d9a45b4ac28eae52805f7 data/knightquest/loot_modifiers/entities/bad_patch_small_essence.json +77253ec90ef97944de68e34efd24d06cc6c0934b data/knightquest/loot_modifiers/entities/blaze_small_essence.json +04a6959a4d29c593bec37a22787fb438be10796a data/knightquest/loot_modifiers/entities/cave_spider_small_essence.json +d9f5c0244fe5553abe6b0e82e3b7bc96f9a36ec6 data/knightquest/loot_modifiers/entities/creeper_small_essence.json +9f6c2a1bbbef44bee211d9cf0357d52b8bf6cb61 data/knightquest/loot_modifiers/entities/drowned_small_essence.json +fddb5599c6d67ab217899492ab0da1716b45ba71 data/knightquest/loot_modifiers/entities/eldbomb_small_essence.json +292009d59919610abf9c99cb8d9cdc9092504040 data/knightquest/loot_modifiers/entities/eldknight_small_essence.json +8844612b9774eabde57fe1b00694b6ebd1e79d81 data/knightquest/loot_modifiers/entities/enderman_small_essence.json +6192c868ed018ca9336a8e7d7dd16b42829fceb7 data/knightquest/loot_modifiers/entities/ghast_small_essence.json +87abb398c423c2023240d00cc0d681036536041e data/knightquest/loot_modifiers/entities/gremlin_small_essence.json +730bfb3f349e329cffdd8f08904cc394c9d94251 data/knightquest/loot_modifiers/entities/lizzy_lizzy_scale.json +1bdc811a7a57c160d0dc599fea787e9ab6b6b6a9 data/knightquest/loot_modifiers/entities/lizzy_small_essence.json +d73917bb55e27e04ae35fd625c350ee74747250a data/knightquest/loot_modifiers/entities/magma_cube_small_essence.json +d4db47234344444412819bcaafaec3f73285572b data/knightquest/loot_modifiers/entities/phantom_small_essence.json +2c42ede132ecaa36f812337e78ae3d99dbf6cff2 data/knightquest/loot_modifiers/entities/ratman_ratman_eye.json +3da26bfcba8165652673e2c35515e470a22f9d99 data/knightquest/loot_modifiers/entities/ratman_small_essence.json +69e4b5fced57f13387e537b062ca8f704803b462 data/knightquest/loot_modifiers/entities/samhain_small_essence.json +b3da66d4a955b7808a43c16fe3e17931bfb43d91 data/knightquest/loot_modifiers/entities/skeleton_small_essence.json +d32b4978fd12ea44286b2333cbe3841d9926cd98 data/knightquest/loot_modifiers/entities/slime_small_essence.json +860ab2f4e217d39e88a7859d184585bf816d352c data/knightquest/loot_modifiers/entities/stray_small_essence.json +f9fd57a0c465e1142cb71c8a3bd901c7d7834fb4 data/knightquest/loot_modifiers/entities/swampman_small_essence.json +4b24b9e5a46a509bd12fa57b1b194b1d13d27a4f data/knightquest/loot_modifiers/entities/vex_small_essence.json +b08f4947131ea343748047d6a2f2a71ac36aa0eb data/knightquest/loot_modifiers/entities/zombie_small_essence.json diff --git a/src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json b/src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json new file mode 100644 index 00000000..fb14209f --- /dev/null +++ b/src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json @@ -0,0 +1,28 @@ +{ + "entries": [ + "knightquest:entities/vex_small_essence", + "knightquest:entities/ghast_small_essence", + "knightquest:entities/samhain_small_essence", + "knightquest:entities/slime_small_essence", + "knightquest:entities/swampman_small_essence", + "knightquest:entities/skeleton_small_essence", + "knightquest:entities/cave_spider_small_essence", + "knightquest:entities/lizzy_small_essence", + "knightquest:entities/eldbomb_small_essence", + "knightquest:entities/phantom_small_essence", + "knightquest:entities/blaze_small_essence", + "knightquest:entities/enderman_small_essence", + "knightquest:entities/lizzy_lizzy_scale", + "knightquest:entities/creeper_small_essence", + "knightquest:entities/zombie_small_essence", + "knightquest:entities/ratman_small_essence", + "knightquest:entities/drowned_small_essence", + "knightquest:entities/bad_patch_small_essence", + "knightquest:entities/gremlin_small_essence", + "knightquest:entities/magma_cube_small_essence", + "knightquest:entities/eldknight_small_essence", + "knightquest:entities/ratman_ratman_eye", + "knightquest:entities/stray_small_essence" + ], + "replace": false +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/bad_patch_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/bad_patch_small_essence.json new file mode 100644 index 00000000..6765007f --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/bad_patch_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/bad_patch" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/blaze_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/blaze_small_essence.json new file mode 100644 index 00000000..c070bf09 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/blaze_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/blaze" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/cave_spider_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/cave_spider_small_essence.json new file mode 100644 index 00000000..f1e0088d --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/cave_spider_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/cave_spider" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/creeper_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/creeper_small_essence.json new file mode 100644 index 00000000..78b046ba --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/creeper_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/creeper" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/drowned_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/drowned_small_essence.json new file mode 100644 index 00000000..61cb25bb --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/drowned_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/drowned" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/eldbomb_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/eldbomb_small_essence.json new file mode 100644 index 00000000..f5d842c9 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/eldbomb_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/eldbomb" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/eldknight_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/eldknight_small_essence.json new file mode 100644 index 00000000..319e2a6f --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/eldknight_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/eldknight" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/enderman_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/enderman_small_essence.json new file mode 100644 index 00000000..c553b606 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/enderman_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/enderman" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/ghast_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/ghast_small_essence.json new file mode 100644 index 00000000..38408eab --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/ghast_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/ghast" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/gremlin_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/gremlin_small_essence.json new file mode 100644 index 00000000..5e3a364a --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/gremlin_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/gremlin" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_lizzy_scale.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_lizzy_scale.json new file mode 100644 index 00000000..bdd31e8a --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_lizzy_scale.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/lizzy" + } + ], + "item": "knightquest:lizzy_scale" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_small_essence.json new file mode 100644 index 00000000..87ae6642 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/lizzy_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/lizzy" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/magma_cube_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/magma_cube_small_essence.json new file mode 100644 index 00000000..f060c5ab --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/magma_cube_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/magma_cube" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/phantom_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/phantom_small_essence.json new file mode 100644 index 00000000..b652f861 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/phantom_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/phantom" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_ratman_eye.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_ratman_eye.json new file mode 100644 index 00000000..88d8455b --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_ratman_eye.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/ratman" + } + ], + "item": "knightquest:ratman_eye" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_small_essence.json new file mode 100644 index 00000000..545b9e3f --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/ratman_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/ratman" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/samhain_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/samhain_small_essence.json new file mode 100644 index 00000000..97af4ce3 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/samhain_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/samhain" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/skeleton_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/skeleton_small_essence.json new file mode 100644 index 00000000..6d1a2bdf --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/skeleton_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/skeleton" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/slime_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/slime_small_essence.json new file mode 100644 index 00000000..58d8d8a1 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/slime_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/slime" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/stray_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/stray_small_essence.json new file mode 100644 index 00000000..ca3be54d --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/stray_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/stray" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/swampman_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/swampman_small_essence.json new file mode 100644 index 00000000..4f718a50 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/swampman_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "knightquest:entities/swampman" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/vex_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/vex_small_essence.json new file mode 100644 index 00000000..9f9b8b26 --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/vex_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/vex" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/generated/resources/data/knightquest/loot_modifiers/entities/zombie_small_essence.json b/src/generated/resources/data/knightquest/loot_modifiers/entities/zombie_small_essence.json new file mode 100644 index 00000000..604c2beb --- /dev/null +++ b/src/generated/resources/data/knightquest/loot_modifiers/entities/zombie_small_essence.json @@ -0,0 +1,11 @@ +{ + "type": "knightquest:add_item", + "chance": 0.5, + "conditions": [ + { + "condition": "forge:loot_table_id", + "loot_table_id": "minecraft:entities/zombie" + } + ], + "item": "knightquest:small_essence" +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/KnightQuest.java b/src/main/java/net/xylonity/knightquest/KnightQuest.java new file mode 100644 index 00000000..c194a2a4 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/KnightQuest.java @@ -0,0 +1,73 @@ +package net.xylonity.knightquest; + +import com.mojang.logging.LogUtils; +import net.minecraft.client.renderer.entity.EntityRenderers; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.server.ServerStartingEvent; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModLoadingContext; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.config.ModConfig; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.xylonity.knightquest.registry.KnightQuestBlocks; +import net.xylonity.knightquest.registry.KnightQuestCreativeModeTabs; +import net.xylonity.knightquest.registry.KnightQuestItems; +import net.xylonity.knightquest.registry.KnightQuestEntities; +import net.xylonity.knightquest.common.entity.client.*; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import net.xylonity.knightquest.config.KnightQuestCommonConfigs; +import net.xylonity.knightquest.datagen.KQLootModifiers; +import org.slf4j.Logger; +import software.bernie.geckolib.GeckoLib; + +@Mod(KnightQuest.MOD_ID) +public class KnightQuest +{ + public static final String MOD_ID = "knightquest"; + private static final Logger LOGGER = LogUtils.getLogger(); + + public KnightQuest() + { + IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + + KnightQuestItems.ITEMS.register(modEventBus); + KnightQuestCreativeModeTabs.CREATIVE_MODE_TABS.register(modEventBus); + KnightQuestBlocks.BLOCKS.register(modEventBus); + KnightQuestEntities.ENTITY.register(modEventBus); + KQLootModifiers.LOOT_MODIFIER_SERIALIZERS.register(modEventBus); + KnightQuestParticles.PARTICLES.register(modEventBus); + + GeckoLib.initialize(); + + // ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, KnightQuestClientConfigs.SPEC, "knightquest-client.toml"); + ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, KnightQuestCommonConfigs.SPEC, "knightquest.toml"); + + MinecraftForge.EVENT_BUS.register(this); + + } + + @SubscribeEvent public void onServerStarting(ServerStartingEvent event) { ;; } + + @Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) + public static class ClientModEvents + { + @SubscribeEvent + public static void onClientSetup(FMLClientSetupEvent event) + { + EntityRenderers.register(KnightQuestEntities.GREMLIN.get(), GremlinRenderer::new); + EntityRenderers.register(KnightQuestEntities.ELDBOMB.get(), EldBombRenderer::new); + EntityRenderers.register(KnightQuestEntities.ELDKINGHT.get(), EldKnightRenderer::new); + EntityRenderers.register(KnightQuestEntities.SWAMPMAN.get(), SwampmanRenderer::new); + EntityRenderers.register(KnightQuestEntities.RATMAN.get(), RatmanRenderer::new); + EntityRenderers.register(KnightQuestEntities.SAMHAIN.get(), SamhainRenderer::new); + EntityRenderers.register(KnightQuestEntities.LIZZY.get(), LizzyRenderer::new); + EntityRenderers.register(KnightQuestEntities.BADPATCH.get(), BadPatchRenderer::new); + EntityRenderers.register(KnightQuestEntities.SHIELD.get(), ShieldRenderer::new); + EntityRenderers.register(KnightQuestEntities.MOMMA_LIZZY.get(), MommaLizzyRenderer::new); + EntityRenderers.register(KnightQuestEntities.GHOSTY.get(), GhostyRenderer::new); + } + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/block/ChaliceBlock.java b/src/main/java/net/xylonity/knightquest/common/block/ChaliceBlock.java new file mode 100644 index 00000000..150b8c34 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/block/ChaliceBlock.java @@ -0,0 +1,186 @@ +package net.xylonity.knightquest.common.block; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.BooleanOp; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.xylonity.knightquest.registry.KnightQuestBlocks; +import net.xylonity.knightquest.registry.KnightQuestItems; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import org.jetbrains.annotations.NotNull; + +import java.util.Arrays; +import java.util.stream.Stream; + +public class ChaliceBlock extends Block { + public static final IntegerProperty fill = IntegerProperty.create("level", 1, 5); + + private static final VoxelShape SHAPE_N = Stream.of( + Block.box(0, 7, 0, 2, 16, 16), + Block.box(14, 7, 0, 16, 16, 16), + Block.box(0, 0, 0, 16, 2, 16), + Block.box(0, 5, 0, 16, 7, 16), + Block.box(2, 7, 0, 14, 16, 2), + Block.box(2, 7, 14, 14, 16, 16), + Block.box(4, 2, 4, 12, 5, 12) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + public ChaliceBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public @NotNull VoxelShape getShape(@NotNull BlockState pState, @NotNull BlockGetter pLevel, @NotNull BlockPos pPos, @NotNull CollisionContext pContext) { + return SHAPE_N; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + pBuilder.add(fill); + } + + /** + * Handles the right-click interaction with a `great_essence` item when used on the great chalice. + * Depending on the current state of the great chalice, it generates `starset` particles with a width + * proportional to its state. The great chalice has five predefined states, with the fifth state making + * the chalice emit a bright light, as defined in the block registration. + * + * @see KnightQuestBlocks#GREAT_CHALICE + */ + + @Override + public @NotNull InteractionResult use(@NotNull BlockState pState, Level pLevel, @NotNull BlockPos pPos, @NotNull Player pPlayer, @NotNull InteractionHand pHand, @NotNull BlockHitResult pHit) { + + Block block = pLevel.getBlockState(pPos).getBlock(); + ItemStack stack = pPlayer.getItemInHand(pHand); + Item item = stack.getItem(); + + if (block.equals(KnightQuestBlocks.GREAT_CHALICE.get()) && item.equals(KnightQuestItems.GREAT_ESSENCE.get()) && (Arrays.asList(1, 2, 3, 4).contains(pState.getValue(fill)))) { + + double centerX = pPos.getX() + 0.5; + double centerZ = pPos.getZ() + 0.5; + double initialY = pPos.getY() + 0.1; + + if (pLevel.isClientSide()) { + int fillValue = pState.getValue(fill); + + double xOffset = switch (fillValue) { + case 1 -> 1d; + case 2 -> 1.2d; + case 3 -> 1.4d; + case 4 -> 1.8d; + default -> 0d; + }; + + if (xOffset != 0d) { + pLevel.addParticle(KnightQuestParticles.STARSET_PARTICLE.get(), centerX, initialY - 0.48, centerZ, xOffset, 0d, 0d); + } + } + + if (!pLevel.isClientSide()) { + + pLevel.playSound(null, pPos, SoundEvents.BUCKET_EMPTY, SoundSource.BLOCKS, 1f, 1f); + pLevel.setBlock(pPos, pState.cycle(fill), 3); + + if (pPlayer.getItemInHand(pHand).getCount() > 1) { + int count = stack.getCount(); + stack.setCount(--count); + } else { + pPlayer.setItemInHand(pHand, new ItemStack(ItemStack.EMPTY.getItem())); + } + + if (pState.getValue(fill) == 4) { + pLevel.playSound(null, pPos, SoundEvents.PLAYER_LEVELUP, SoundSource.BLOCKS, 1f, 1f); + } + + } + + } + + if (block.equals(KnightQuestBlocks.GREAT_CHALICE.get()) && item.equals(KnightQuestItems.EMPTY_GOBLET.get()) && pState.getValue(fill).equals(5)) { + + if (pLevel.isClientSide()) { + double radius = 0.5; + double centerX = pPos.getX() + 0.5; + double centerZ = pPos.getZ() + 0.5; + double initialY = pPos.getY(); + + for (int i = 0; i < 360; i+=12) { + double angleRadians = Math.toRadians(i); + + double particleX = centerX + radius * Math.cos(angleRadians); + double particleZ = centerZ + radius * Math.sin(angleRadians); + + pLevel.addParticle(ParticleTypes.EFFECT, particleX, initialY + 1, particleZ, -0.5d, 0.5d, 0.5d); + } + } + + if (!pLevel.isClientSide()) { + pLevel.playSound(null, pPos, SoundEvents.BREWING_STAND_BREW, SoundSource.BLOCKS, 1f, 1f); + + if (pPlayer.getItemInHand(pHand).getCount() > 1) { + int stackCount = stack.getCount(); + stack.setCount(--stackCount); + } else { + pPlayer.setItemInHand(pHand, new ItemStack(ItemStack.EMPTY.getItem())); + } + + Entity entity = new ItemEntity(pLevel, pPos.getX() + 0.5, pPos.getY() + 1d, pPos.getZ() + 0.5, KnightQuestItems.FILLED_GOBLET.get().getDefaultInstance()); + pLevel.setBlock(pPos, pState.cycle(fill), 3); + pLevel.addFreshEntity(entity); + } + } + + return super.use(pState, pLevel, pPos, pPlayer, pHand, pHit); + } + + /** + * Generates random decorative particle effects for visual enhancement. + */ + + @Override + public void animateTick(BlockState pState, @NotNull Level pLevel, @NotNull BlockPos pPos, @NotNull RandomSource pRandom) { + if (pState.getValue(fill).equals(5)) { + + if (pLevel.isClientSide()) { + double radius = 0.37; + double centerX = pPos.getX() + 0.5; + double centerZ = pPos.getZ() + 0.5; + double initialY = pPos.getY() - 0.5; + + for (int i = 0; i < 360; i+=60) { + double angleRadians = Math.toRadians(i); + + double particleX = centerX + radius * Math.cos(angleRadians); + double particleZ = centerZ + radius * Math.sin(angleRadians); + + pLevel.addParticle(ParticleTypes.EFFECT, particleX, initialY + 1, particleZ, 0d, 0.35d, 0d); + } + } + + } + + super.animateTick(pState, pLevel, pPos, pRandom); + } + + +} diff --git a/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmor.java b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmor.java new file mode 100644 index 00000000..da1c45a3 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmor.java @@ -0,0 +1,64 @@ +package net.xylonity.knightquest.common.client; + +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.client.extensions.common.IClientItemExtensions; +import net.xylonity.knightquest.common.item.KQArmorItem; +import net.xylonity.knightquest.common.material.KQArmorMaterials; +import org.jetbrains.annotations.NotNull; +import software.bernie.geckolib.animatable.GeoItem; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animatable.instance.SingletonAnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; + +import java.util.function.Consumer; + +public class GeoItemArmor extends KQArmorItem implements GeoItem { + + private final AnimatableInstanceCache cache = new SingletonAnimatableInstanceCache(this); + private final String a; + private final String b; + + + public GeoItemArmor(KQArmorMaterials material, Type type, Properties properties, String a, String b) { + super(material, type, properties); + this.a = a; + this.b = b; + } + + @Override + public void initializeClient(Consumer consumer) { + consumer.accept(new IClientItemExtensions() { + private GeoItemArmorRenderer renderer; + + @Override + public @NotNull HumanoidModel getHumanoidArmorModel(LivingEntity livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, HumanoidModel original) { + + if (this.renderer == null) + this.renderer = new GeoItemArmorRenderer(a, b); + + this.renderer.prepForRender(livingEntity, itemStack, equipmentSlot, original); + return this.renderer; + } + }); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + controllers.add(new AnimationController(this, "controller", 0, this::predicate)); + } + + private PlayState predicate(AnimationState animationState) { + animationState.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.cache; + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorModel.java b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorModel.java new file mode 100644 index 00000000..ca9f21c7 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorModel.java @@ -0,0 +1,32 @@ +package net.xylonity.knightquest.common.client; + +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import software.bernie.geckolib.model.GeoModel; + +public class GeoItemArmorModel extends GeoModel { + + private final String a; + private final String b; + + public GeoItemArmorModel(String a, String b) { + this.a = a; + this.b = b; + } + + @Override + public ResourceLocation getModelResource(GeoItemArmor animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, b); + } + + @Override + public ResourceLocation getTextureResource(GeoItemArmor animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, a); + } + + @Override + public ResourceLocation getAnimationResource(GeoItemArmor animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/helmet.animation.json"); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorRenderer.java b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorRenderer.java new file mode 100644 index 00000000..a149dbc4 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/client/GeoItemArmorRenderer.java @@ -0,0 +1,9 @@ +package net.xylonity.knightquest.common.client; + +import software.bernie.geckolib.renderer.GeoArmorRenderer; + +public class GeoItemArmorRenderer extends GeoArmorRenderer { + public GeoItemArmorRenderer(String a, String b) { + super(new GeoItemArmorModel(a, b)); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchModel.java new file mode 100644 index 00000000..b4686bac --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.BadPatchEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class BadPatchModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(BadPatchEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/bad_patch.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(BadPatchEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/bad_patch.png"); + } + + @Override + public ResourceLocation getAnimationResource(BadPatchEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/bad_patch.animation.json"); + } + + @Override + public void setCustomAnimations(BadPatchEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("body"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchRenderer.java new file mode 100644 index 00000000..8db9855f --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/BadPatchRenderer.java @@ -0,0 +1,33 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.BadPatchEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class BadPatchRenderer extends GeoEntityRenderer { + + public BadPatchRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new BadPatchModel()); + } + + @Override + public ResourceLocation getTextureLocation(BadPatchEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/bad_patch.png"); + } + + @Override + public void render(BadPatchEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(0.85f, 0.85f, 0.85f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombModel.java new file mode 100644 index 00000000..6b57332a --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.EldBombEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class EldBombModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(EldBombEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/eldbomb.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(EldBombEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/eldbomb.png"); + } + + @Override + public ResourceLocation getAnimationResource(EldBombEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/eldbomb.animation.json"); + } + + @Override + public void setCustomAnimations(EldBombEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("Body"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombRenderer.java new file mode 100644 index 00000000..6390d267 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/EldBombRenderer.java @@ -0,0 +1,36 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.EldBombEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class EldBombRenderer extends GeoEntityRenderer { + + public EldBombRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new EldBombModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(EldBombEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/eldbomb.png"); + } + + @Override + public void render(EldBombEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightModel.java new file mode 100644 index 00000000..11973a7e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.EldKnightEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class EldKnightModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(EldKnightEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/eldknight.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(EldKnightEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/eldknight.png"); + } + + @Override + public ResourceLocation getAnimationResource(EldKnightEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/eldknight.animation.json"); + } + + @Override + public void setCustomAnimations(EldKnightEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightRenderer.java new file mode 100644 index 00000000..97b0de88 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/EldKnightRenderer.java @@ -0,0 +1,37 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.EldKnightEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class EldKnightRenderer extends GeoEntityRenderer { + + public EldKnightRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new EldKnightModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(EldKnightEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/eldknight.png"); + } + + @Override + public void render(EldKnightEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyModel.java new file mode 100644 index 00000000..48ae4521 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.GhostyEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class GhostyModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(GhostyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/ghosty.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(GhostyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/ghosty.png"); + } + + @Override + public ResourceLocation getAnimationResource(GhostyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/helmet.animation.json"); + } + + @Override + public void setCustomAnimations(GhostyEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyRenderer.java new file mode 100644 index 00000000..544527f8 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/GhostyRenderer.java @@ -0,0 +1,33 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.GhostyEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class GhostyRenderer extends GeoEntityRenderer { + + public GhostyRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new GhostyModel()); + } + + @Override + public ResourceLocation getTextureLocation(GhostyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/ghosty.png"); + } + + @Override + public void render(GhostyEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinModel.java new file mode 100644 index 00000000..39bfe47a --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinModel.java @@ -0,0 +1,45 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.GremlinEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class GremlinModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(GremlinEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/gremlin.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(GremlinEntity animatable) { + if (animatable.getHealth() < animatable.getMaxHealth() * 0.5) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/gremlin_angry.png"); + } else { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/gremlin.png"); + } + } + + @Override + public ResourceLocation getAnimationResource(GremlinEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/gremlin.animation.json"); + } + + @Override + public void setCustomAnimations(GremlinEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinRenderer.java new file mode 100644 index 00000000..041f3f54 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/GremlinRenderer.java @@ -0,0 +1,44 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.GremlinEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class GremlinRenderer extends GeoEntityRenderer { + + boolean sPhase = false; + + public GremlinRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new GremlinModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(GremlinEntity animatable) { + if (animatable.getHealth() < animatable.getMaxHealth() * 0.5) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/gremlin_angry.png"); + } else { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/gremlin.png"); + } + } + + @Override + public void render(GremlinEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyModel.java new file mode 100644 index 00000000..b8c6391b --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.LizzyEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class LizzyModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(LizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/lizzy.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(LizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/lizzy.png"); + } + + @Override + public ResourceLocation getAnimationResource(LizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/lizzy.animation.json"); + } + + @Override + public void setCustomAnimations(LizzyEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyRenderer.java new file mode 100644 index 00000000..b305820e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/LizzyRenderer.java @@ -0,0 +1,33 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.LizzyEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class LizzyRenderer extends GeoEntityRenderer { + + public LizzyRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new LizzyModel()); + } + + @Override + public ResourceLocation getTextureLocation(LizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/lizzy.png"); + } + + @Override + public void render(LizzyEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyModel.java new file mode 100644 index 00000000..ace4023f --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.MommaLizzyEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class MommaLizzyModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(MommaLizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/momma_lizzy.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(MommaLizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/momma_lizzy.png"); + } + + @Override + public ResourceLocation getAnimationResource(MommaLizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/momma_lizzy.animation.json"); + } + + @Override + public void setCustomAnimations(MommaLizzyEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyRenderer.java new file mode 100644 index 00000000..f91b2875 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/MommaLizzyRenderer.java @@ -0,0 +1,33 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.MommaLizzyEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class MommaLizzyRenderer extends GeoEntityRenderer { + + public MommaLizzyRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new MommaLizzyModel()); + } + + @Override + public ResourceLocation getTextureLocation(MommaLizzyEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/momma_lizzy.png"); + } + + @Override + public void render(MommaLizzyEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanModel.java new file mode 100644 index 00000000..2b76812e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.RatmanEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class RatmanModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(RatmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/ratman.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(RatmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/ratman.png"); + } + + @Override + public ResourceLocation getAnimationResource(RatmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/ratman.animation.json"); + } + + @Override + public void setCustomAnimations(RatmanEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanRenderer.java new file mode 100644 index 00000000..e3a1597d --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/RatmanRenderer.java @@ -0,0 +1,37 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.RatmanEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class RatmanRenderer extends GeoEntityRenderer { + + public RatmanRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new RatmanModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(RatmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/ratman.png"); + } + + @Override + public void render(RatmanEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1f, 1f, 1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainModel.java new file mode 100644 index 00000000..fd411b5f --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainModel.java @@ -0,0 +1,47 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.SamhainEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class SamhainModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(SamhainEntity animatable) { + if (animatable.hasArmor()) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/samhain_squire.geo.json"); + } + return new ResourceLocation(KnightQuest.MOD_ID, "geo/samhain.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(SamhainEntity animatable) { + if (animatable.hasArmor()) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/samhain_squire.png"); + } + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/samhain.png"); + } + + @Override + public ResourceLocation getAnimationResource(SamhainEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/samhain.animation.json"); + } + + @Override + public void setCustomAnimations(SamhainEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("Head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainRenderer.java new file mode 100644 index 00000000..d08a3cb2 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/SamhainRenderer.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.SamhainEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class SamhainRenderer extends GeoEntityRenderer { + + public SamhainRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new SamhainModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(SamhainEntity animatable) { + if (animatable.hasArmor()) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/samhain_squire.png"); + } + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/samhain.png"); + } + + @Override + public void render(SamhainEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.35f, 0.35f, 0.35f); + } else { + poseStack.scale(0.7f, 0.7f, 0.7f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } + +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldModel.java new file mode 100644 index 00000000..1017b372 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.ShieldEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class ShieldModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(ShieldEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/shield.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(ShieldEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/shield.png"); + } + + @Override + public ResourceLocation getAnimationResource(ShieldEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/helmet.animation.json"); + } + + @Override + public void setCustomAnimations(ShieldEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldRenderer.java new file mode 100644 index 00000000..2f78a451 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/ShieldRenderer.java @@ -0,0 +1,37 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.ShieldEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class ShieldRenderer extends GeoEntityRenderer { + + boolean sPhase = false; + + public ShieldRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new ShieldModel()); + } + + @Override + public ResourceLocation getTextureLocation(ShieldEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/shield.png"); + } + + @Override + public void render(ShieldEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.4f, 0.4f, 0.4f); + } else { + poseStack.scale(1.15f, 1.15f, 1.15f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanModel.java b/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanModel.java new file mode 100644 index 00000000..d83b4e64 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanModel.java @@ -0,0 +1,41 @@ +package net.xylonity.knightquest.common.entity.client; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.SwampmanEntity; +import software.bernie.geckolib.constant.DataTickets; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; +import software.bernie.geckolib.model.data.EntityModelData; + +public class SwampmanModel extends GeoModel { + + @Override + public ResourceLocation getModelResource(SwampmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "geo/swampman.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(SwampmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/swampman.png"); + } + + @Override + public ResourceLocation getAnimationResource(SwampmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "animations/swampman.animation.json"); + } + + @Override + public void setCustomAnimations(SwampmanEntity animatable, long instanceId, AnimationState animationState) { + CoreGeoBone head = getAnimationProcessor().getBone("Head"); + + if (head != null) { + EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA); + head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD); + head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD); + } + } + +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanRenderer.java b/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanRenderer.java new file mode 100644 index 00000000..15a6b7dc --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/client/SwampmanRenderer.java @@ -0,0 +1,37 @@ +package net.xylonity.knightquest.common.entity.client; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.SwampmanEntity; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +public class SwampmanRenderer extends GeoEntityRenderer { + + public SwampmanRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new SwampmanModel()); + + this.addRenderLayer(new AutoGlowingGeoLayer<>(this)); + } + + @Override + public ResourceLocation getTextureLocation(SwampmanEntity animatable) { + return new ResourceLocation(KnightQuest.MOD_ID, "textures/entity/swampman.png"); + } + + @Override + public void render(SwampmanEntity entity, float entityYaw, float partialTick, PoseStack poseStack, + MultiBufferSource bufferSource, int packedLight) { + if (entity.isBaby()) { + poseStack.scale(0.35f, 0.35f, 0.35f); + } else { + poseStack.scale(1.1f, 1.1f, 1.1f); + } + + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/BadPatchEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/BadPatchEntity.java new file mode 100644 index 00000000..68e0adfe --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/BadPatchEntity.java @@ -0,0 +1,112 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class BadPatchEntity extends Monster implements GeoEntity { + + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + + public BadPatchEntity(EntityType entityType, Level world) { + super(entityType, world); + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 7.0D) + .add(Attributes.ATTACK_DAMAGE, 4f) + .add(Attributes.ATTACK_SPEED, 0.2f) + .add(Attributes.MOVEMENT_SPEED, 0.5f) + .add(Attributes.FOLLOW_RANGE, 35.0).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 0.5f, true)); + this.goalSelector.addGoal(2, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(3, new TemptGoal(this, 0.5f, Ingredient.of(new ItemLike[]{Items.WHEAT}), false)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.5f)); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + + this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController(this, "attackcontroller", 0, this::attackPredicate)); + } + + private PlayState attackPredicate(AnimationState event) { + + if (this.swinging && event.getController().getAnimationState().equals(AnimationController.State.STOPPED)) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("attack", Animation.LoopType.PLAY_ONCE)); + this.swinging = false; + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + if (this.dead) { + event.getController().setAnimation(RawAnimation.begin().then("death", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.DONKEY_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.WARDEN_HURT; + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/EldBombEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/EldBombEntity.java new file mode 100644 index 00000000..b8188730 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/EldBombEntity.java @@ -0,0 +1,138 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.AreaEffectCloud; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.animal.PolarBear; +import net.minecraft.world.entity.monster.Creeper; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.gameevent.GameEvent; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.Collection; + +public class EldBombEntity extends Creeper implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private int oldSwell; + private int swell; + private int maxSwell = 30; + private int explosionRadius = 3; + + public EldBombEntity(EntityType entityType, Level world) { + super(entityType, world); + } + + public static AttributeSupplier setAttributes() { + return Creeper.createMobAttributes() + .add(Attributes.MAX_HEALTH, 7.0D) + .add(Attributes.ATTACK_DAMAGE, 0.5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.5f).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new SwellGoal(this)); + this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, PolarBear.class, 35.0F, 1.0, 0.5)); + this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 0.5, false)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.5)); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true)); + this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0])); + } + + private PlayState predicate(AnimationState event) { + + if (this.swell > 10) { + event.getController().setAnimation(RawAnimation.begin().then("sneak", Animation.LoopType.LOOP)); + } else if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public void tick() { + if (this.isAlive()) { + this.oldSwell = this.swell; + if (this.isIgnited()) { + this.setSwellDir(1); + } + + int $$0 = this.getSwellDir(); + if ($$0 > 0 && this.swell == 0) { + this.playSound(SoundEvents.CREEPER_PRIMED, 1.0F, 0.5F); + this.gameEvent(GameEvent.PRIME_FUSE); + } + + this.swell += $$0; + if (this.swell < 0) { + this.swell = 0; + } + + if (this.swell >= this.maxSwell) { + this.swell = this.maxSwell; + this.explode(); + } + } + + super.tick(); + } + + private void spawnLingeringCloud() { + Collection collection = this.getActiveEffects(); + if (!collection.isEmpty()) { + AreaEffectCloud areaeffectcloud = new AreaEffectCloud(this.level(), this.getX(), this.getY(), this.getZ()); + areaeffectcloud.setRadius(1.5F); + areaeffectcloud.setRadiusOnUse(-0.5F); + areaeffectcloud.setWaitTime(10); + areaeffectcloud.setDuration(areaeffectcloud.getDuration() / 2); + areaeffectcloud.setRadiusPerTick(-areaeffectcloud.getRadius() / (float)areaeffectcloud.getDuration()); + + for(MobEffectInstance mobeffectinstance : collection) { + areaeffectcloud.addEffect(new MobEffectInstance(mobeffectinstance)); + } + + this.level().addFreshEntity(areaeffectcloud); + } + + } + + private void explode() { + if (!this.level().isClientSide) { + float $$0 = this.isPowered() ? 2.5F : 1.0F; + this.dead = true; + this.level().explode(this, this.getX(), this.getY(), this.getZ(), (float)this.explosionRadius * $$0, Level.ExplosionInteraction.MOB); + this.spawnLingeringCloud(); + this.discard(); + } + + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + controllers.add(new AnimationController<>(this, "controller", 1, this::predicate).setOverrideEasingType(EasingType.LINEAR)); + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/EldKnightEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/EldKnightEntity.java new file mode 100644 index 00000000..cdf7f39e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/EldKnightEntity.java @@ -0,0 +1,232 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageTypes; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; +import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; +import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.xylonity.knightquest.registry.KnightQuestEntities; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import net.xylonity.knightquest.config.values.KQConfigValues; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class EldKnightEntity extends Monster implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private final Level serverWorld; + private boolean summoned = false; + private int counter; + + public EldKnightEntity(EntityType entityType, Level world) { + super(entityType, world); + serverWorld = world; + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 90.0D) + .add(Attributes.ATTACK_DAMAGE, 12f) + .add(Attributes.ATTACK_SPEED, 0.4f) + .add(Attributes.MOVEMENT_SPEED, 0.5f) + .add(Attributes.KNOCKBACK_RESISTANCE, 0.4f).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 0.45D, false)); + this.goalSelector.addGoal(2, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); + + this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController<>(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController<>(this, "attackcontroller", 0, this::attackPredicate)); + } + + private PlayState attackPredicate(AnimationState event) { + + if (this.swinging && event.getController().getAnimationState().equals(AnimationController.State.STOPPED)) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("attack", Animation.LoopType.PLAY_ONCE)); + this.swinging = false; + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.IRON_GOLEM_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.IRON_GOLEM_HURT; + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundEvents.IRON_GOLEM_STEP, 0.15F, 1.0F); + } + + /** + * Manages actions when the mob's health drops below half of its maximum: + * generates minions, pushes nearby players away, and applies poison to players in the vicinity, + * visually enhanced with `starset` particles. + */ + + @Override + public void tick() { + super.tick(); + counter++; + if (!summoned && this.getHealth() < this.getMaxHealth() * 0.5) { + summoned = true; + summonMinions(); + + } + + if (summoned && counter > 80) { + + if (KQConfigValues.POISON_ELDKNIGHT) { + summonParticle(); + poisonNearbyPlayers(); + } + + if (this.getHealth() < this.getMaxHealth() * 0.75) { + this.heal(KQConfigValues.HEAL_ELDKNIGHT); + } + + counter = 0; + } + } + + @Override + public boolean hurt(DamageSource pSource, float pAmount) { + + if (pSource.is(DamageTypes.PLAYER_EXPLOSION) || pSource.is(DamageTypes.EXPLOSION)) { + return super.hurt(pSource, pAmount * 0.15f); + } + + if (pSource.is(DamageTypes.ARROW)) { + return super.hurt(pSource, pAmount * 0.10f); + } + + return super.hurt(pSource, pAmount); + } + + /** + * Manages the second phase of the mob by summoning `NUM_ELDBOMB_ELDKNIGHT` minions + * as defined in the common config file value, and pushes players nearby away. + */ + + private void summonMinions() { + double distance = 3.0; + double angle = (KQConfigValues.HEAL_ELDKNIGHT != 0) ? Math.toRadians((double) 360 / KQConfigValues.NUM_ELDBOMB_ELDKNIGHT) : Math.toRadians(120); + boolean punch = false; + + for (int i = 0; i < KQConfigValues.NUM_ELDBOMB_ELDKNIGHT; i++) { + double xOffset = distance * Math.cos(angle * i); + double zOffset = distance * Math.sin(angle * i); + EldBombEntity entity = KnightQuestEntities.ELDBOMB.get().create(serverWorld); + if (entity != null) { + BlockPos spawnPos = this.blockPosition().offset((int) xOffset, 0, (int) zOffset); + + if (!serverWorld.getBlockState(spawnPos).isAir()) { + for (int d = 1; d <= distance; d++) { + BlockPos adjustedPos = this.blockPosition().offset((int) (xOffset / d), 0, (int) (zOffset / d)); + if (serverWorld.getBlockState(adjustedPos).isAir()) { + spawnPos = adjustedPos; + break; + } + } + } + + entity.moveTo(spawnPos, 0.0F, 0.0F); + serverWorld.addFreshEntity(entity); + + for (int j = 0; j < 20; j++) { + serverWorld.addParticle(ParticleTypes.EFFECT, spawnPos.getX() + 0.5 + serverWorld.random.nextDouble() - 0.5, + spawnPos.getY() + 0.5 + serverWorld.random.nextDouble() - 0.5, + spawnPos.getZ() + 0.5 + serverWorld.random.nextDouble() - 0.5, 0, 0, 0); + } + + if (!punch) { + serverWorld.getEntitiesOfClass(Player.class, entity.getBoundingBox().inflate(5)).forEach(player -> { + Vec3 direction = player.position().subtract(this.position()).normalize().scale(1.5); + player.push(direction.x, direction.y + 0.5, direction.z); + }); + punch = true; + } + + } + + } + + int particleCount = 120; + double particleRadius = 4; + + for (int i = 0; i < particleCount; i++) { + double angleOffset = (2 * Math.PI / particleCount) * i; + double xParticleOffset = particleRadius * Math.cos(angleOffset); + double zParticleOffset = particleRadius * Math.sin(angleOffset); + serverWorld.addParticle(ParticleTypes.CLOUD, this.getX() + xParticleOffset, this.getY() - 0.1, this.getZ() + zParticleOffset, 0.0, 0.05, 0.0); + } + + serverWorld.playSound(null, this.blockPosition(), SoundEvents.EVOKER_PREPARE_SUMMON, SoundSource.BLOCKS, 1f, 1f); + } + + private void poisonNearbyPlayers() { + this.serverWorld.getEntitiesOfClass(Player.class, this.getBoundingBox().inflate(3.5)).forEach(player -> { + player.addEffect(new MobEffectInstance(MobEffects.POISON, 200, 1)); + }); + } + + private void summonParticle() { + serverWorld.addParticle(KnightQuestParticles.STARSET_PARTICLE.get(), this.getX(), getY() - 0.48, getZ(), 4d, 0d, 0d); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/GhostyEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/GhostyEntity.java new file mode 100644 index 00000000..bb45e1ba --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/GhostyEntity.java @@ -0,0 +1,197 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import net.xylonity.knightquest.config.values.KQConfigValues; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.AnimatableManager; +import software.bernie.geckolib.core.animation.AnimationController; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.List; +import java.util.Objects; + +public class GhostyEntity extends Monster implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private final Level serverWorld; + private static final double ANGULAR_SPEED = 0.1; + private double angle; + private double baseY; + Player target; + + public GhostyEntity(EntityType entityType, Level world) { + super(entityType, world); + this.serverWorld = world; + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 1.0D) + .add(Attributes.ATTACK_DAMAGE, 0f) + .add(Attributes.ATTACK_SPEED, 0f) + .add(Attributes.MOVEMENT_SPEED, 0.63f) + .add(Attributes.FOLLOW_RANGE, 35.0).build(); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + } + + private PlayState predicate(AnimationState event) { + return PlayState.CONTINUE; + } + + @Override + public boolean hurt(DamageSource pSource, float pAmount) { + serverWorld.addParticle(ParticleTypes.EXPLOSION, this.getX(), this.getY() + 0.5, this.getZ(), 1.2d, 0d, 0d); + serverWorld.playSound(null, this.blockPosition(), SoundEvents.FOX_SCREECH, SoundSource.HOSTILE, 1.0F, 1.0F); + + this.remove(RemovalReason.KILLED); + return false; + } + + /** + * Handles the logical behavior of the mob, without defining goals or animations. + * When a player is near the ghosty, it will look at and follow the player, + * visually enhanced with a sin function that gives it a ghost-like movement. + * If any hostile entities are nearby, the ghost grants them Protection V, + * effectively rendering them invulnerable. + */ + + + @Override + public void tick() { + super.tick(); + + if (isSunBurnTick()) { + this.setSecondsOnFire(2); + } + + if (tickCount % 15 == 0) { + List nearbyMonsters = serverWorld.getEntitiesOfClass(Player.class, this.getBoundingBox().inflate(1)); + for (Player player : nearbyMonsters) { + if (!player.isCreative()) { + player.hurt(damageSources().generic(), 1); + Vec3 direction = player.position().subtract(this.position()).normalize().scale(0.1); + player.push(direction.x, direction.y + 0.5, direction.z); + } + } + } + + List nearbyMonsters = serverWorld.getEntitiesOfClass(Monster.class, this.getBoundingBox().inflate(KQConfigValues.INVULNERABILITY_RADIUS_GHOSTY)); + for (Monster monster : nearbyMonsters) { + monster.addEffect(new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 1, 4, false, false, false)); + if (!(monster instanceof GhostyEntity)) + for (int i = 0; i < 4 && tickCount % 25 == 0; ++i) { + serverWorld.addParticle(KnightQuestParticles.STARSET_PARTICLE.get(), monster.getX(), monster.getY() - 0.48, monster.getZ(), 1.2d, 0d, 0d); + } + } + + if (baseY == 0 && getY() != 0) { + baseY = getY(); + } + + this.target = this.serverWorld.getNearestPlayer(this, 20.0); + + double offsetY = Math.sin(angle * 2) * 0.1; + double currentX = this.getX(); + double currentY = this.getY(); + double currentZ = this.getZ(); + + if (target != null && !target.isCreative()) { + this.lookAt(target, 360, 360); + + double speed = 0.1; + double dx = target.getX() - currentX; + double dy = target.getY() + 0.5 - currentY; + double dz = target.getZ() - currentZ; + double distance = Math.sqrt(dx * dx + dy * dy + dz * dz); + + if (distance > 1.0) { + double motionX = dx / distance * speed; + double motionY = dy / distance * speed; + double motionZ = dz / distance * speed; + + currentX += motionX; + currentY += motionY + offsetY; + currentZ += motionZ; + } else { + currentY += offsetY; + } + } else { + currentY += offsetY; + } + + this.setPos(currentX, currentY, currentZ); + + if (this.serverWorld.getNearestPlayer(this, -1.0) != null) { + this.lookAt(Objects.requireNonNull(this.serverWorld.getNearestPlayer(this, -1.0)), 360, 360); + } + + angle += ANGULAR_SPEED; + if (angle >= Math.PI * 2) { + angle -= Math.PI * 2; + } + + ParticleOptions particleType = KnightQuestParticles.GHOSTY_PARTICLE.get(); + for (int i = 0; i < 1 && tickCount % 15 == 0; ++i) { + double d0 = this.random.nextGaussian() * 0.02D; + double d1 = this.random.nextGaussian() * 0.02D; + double d2 = this.random.nextGaussian() * 0.02D; + this.serverWorld.addParticle(particleType, + this.getX() + (this.random.nextFloat() * this.getBbWidth() * 1.0F) - this.getBbWidth(), + this.getY() + (this.random.nextFloat() * this.getBbHeight()), + this.getZ() + (this.random.nextFloat() * this.getBbWidth() * 1.0F) - this.getBbWidth(), + d0, d1, d2); + } + } + + @Override public boolean isFallFlying() {return super.isFallFlying();} + @Override public boolean canSpawnSprintParticle() {return false;} + @Override protected void removeEffectParticles() {} + @Override public boolean causeFallDamage(float pFallDistance, float pMultiplier, DamageSource pSource) {return false;} + @Override public boolean isNoGravity() {return true;} + @Override public boolean canBeCollidedWith() {return false;} + @Override protected void pushEntities() {} + @Override public void push(Entity pEntity) {} + @Override public void handleInsidePortal(BlockPos pPos) {} + @Override public boolean isOnFire() {return false;} + @Override public boolean isInLava() {return false;} + @Override public boolean isInWater() {return false;} + @Override public boolean isInWall() {return false;} + @Override protected void spawnSprintParticle() {} + @Override protected void spawnSoulSpeedParticle() {} + @Override public AnimatableInstanceCache getAnimatableInstanceCache() {return cache;} + @Override protected SoundEvent getSwimSound() {return null;} + @Override protected SoundEvent getDeathSound() {return null;} + @Override public void playSound(SoundEvent pSound) {} + @Override public void playSound(SoundEvent pSound, float pVolume, float pPitch) {} + @Nullable @Override protected SoundEvent getAmbientSound() {return null;} + @Override protected void playHurtSound(DamageSource pSource) {} + @Override protected SoundEvent getHurtSound(DamageSource pDamageSource) {return null;} + @Override protected void playStepSound(BlockPos pPos, BlockState pState) {} + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/GremlinEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/GremlinEntity.java new file mode 100644 index 00000000..2bcefb9a --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/GremlinEntity.java @@ -0,0 +1,203 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.xylonity.knightquest.registry.KnightQuestEntities; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import org.jetbrains.annotations.NotNull; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class GremlinEntity extends Monster implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private static final EntityDataAccessor INVULNERABLE = SynchedEntityData.defineId(GremlinEntity.class, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor PHASE = SynchedEntityData.defineId(GremlinEntity.class, EntityDataSerializers.INT); + private final Level serverWorld; + private boolean isHalfHealth; + private int tickCounter = 0; + + public GremlinEntity(EntityType entityType, Level world) { + super(entityType, world); + this.serverWorld = world; + } + + @Override + protected void defineSynchedData() { + super.defineSynchedData(); + this.entityData.define(INVULNERABLE, false); + this.entityData.define(PHASE, 1); + } + + public boolean getInvulnerability() { + return this.entityData.get(INVULNERABLE); + } + public int getPhase() { + return this.entityData.get(PHASE); + } + + public void setInvulnerability(boolean invulnerability) { + this.entityData.set(INVULNERABLE, invulnerability); + } + public void setPhase(int phase) { + this.entityData.set(PHASE, phase); + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 35.0D) + .add(Attributes.ATTACK_DAMAGE, 5.5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.63f) + .add(Attributes.FOLLOW_RANGE, 35.0).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 0.5f, true)); + this.goalSelector.addGoal(2, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(3, new TemptGoal(this, 0.5f, Ingredient.of(Items.WHEAT), false)); + this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.5f)); + this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + + this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController<>(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController<>(this, "attackcontroller", 0, this::attackPredicate)); + } + + private PlayState attackPredicate(AnimationState event) { + + if (this.swinging && event.getController().getAnimationState().equals(AnimationController.State.STOPPED)) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("attack", Animation.LoopType.PLAY_ONCE)); + this.swinging = false; + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + if (this.isDeadOrDying()) { + event.getController().setAnimation(RawAnimation.begin().then("death", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public void tick() { + super.tick(); + if (this.getHealth() < getMaxHealth() * 0.5) { + + if (!this.isHalfHealth) { + this.level().addParticle(KnightQuestParticles.GREMLIN_PARTICLE.get(), this.getX(), getY() - 0.48, getZ(), 2d, 0d, 0d); + this.level().playSound(null, this.blockPosition(), SoundEvents.EVOKER_PREPARE_SUMMON, SoundSource.HOSTILE, 1.0F, 1.0F); + this.isHalfHealth = true; + spawnShield(); + setPhase(2); + } + + setInvulnerability(hasShields()); + + tickCounter++; + if (tickCounter % 22 == 0 && tickCounter / 25 <= 1) { + spawnShield(); + } + } + } + + private boolean hasShields() { + double closestDistance = Double.MAX_VALUE; + LivingEntity closestShield = null; + + for (LivingEntity entity : level().getEntitiesOfClass(LivingEntity.class, getBoundingBox().inflate(5))) { + if (entity instanceof ShieldEntity) { + double distance = distanceToSqr(entity); + if (distance < closestDistance) { + closestDistance = distance; + closestShield = entity; + } + } + } + + return closestShield != null; + } + + @Override + public boolean hurt(@NotNull DamageSource pSource, float pAmount) { + if (getInvulnerability()) + return false; + else + return super.hurt(pSource, pAmount); + + } + + private void spawnShield() { + ShieldEntity entity = KnightQuestEntities.SHIELD.get().create(serverWorld); + if (entity != null) { + entity.moveTo(this.getOnPos(), 1.0F, 0.0F); + serverWorld.addFreshEntity(entity); + } + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected @NotNull SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.VEX_DEATH; + } + + @Override + protected SoundEvent getHurtSound(@NotNull DamageSource pDamageSource) { + return SoundEvents.VEX_HURT; + } + + @Override + protected void playStepSound(@NotNull BlockPos pPos, @NotNull BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/LizzyEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/LizzyEntity.java new file mode 100644 index 00000000..13be8aa4 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/LizzyEntity.java @@ -0,0 +1,107 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.animal.Animal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.npc.Villager; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class LizzyEntity extends Animal implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + + public LizzyEntity(EntityType entityType, Level world) { + super(entityType, world); + } + + public static AttributeSupplier setAttributes() { + return Animal.createMobAttributes() + .add(Attributes.MAX_HEALTH, 10.0D) + .add(Attributes.ATTACK_DAMAGE, 0.5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.6f).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Player.class, 80, 0.75f, 0.75f)); + this.goalSelector.addGoal(2, new RandomSwimmingGoal(this, 0.6, 1)); + this.goalSelector.addGoal(3, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Monster.class, 80, 0.6f, 0.6f)); + this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Villager.class, 8.0f)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController<>(this, "controller", 0, this::predicate)); + } + + private PlayState predicate(AnimationState event) { + + if (this.isSwimming()) { + event.getController().setAnimation(RawAnimation.begin().then("swim", Animation.LoopType.LOOP)); + } else if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + if (this.dead) { + event.getController().setAnimation(RawAnimation.begin().then("death", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected @NotNull SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Nullable + @Override + protected SoundEvent getHurtSound(@NotNull DamageSource pDamageSource) { + return SoundEvents.TURTLE_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.AXOLOTL_DEATH; + } + + @Override + protected void playStepSound(@NotNull BlockPos pPos, @NotNull BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + + @Nullable + @Override + public AgeableMob getBreedOffspring(@NotNull ServerLevel serverLevel, @NotNull AgeableMob ageableMob) { + return null; + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/MommaLizzyEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/MommaLizzyEntity.java new file mode 100644 index 00000000..36cd405d --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/MommaLizzyEntity.java @@ -0,0 +1,116 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.animal.Animal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.npc.Villager; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class MommaLizzyEntity extends Animal implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private boolean condicion = false; + private int a = 1; + + public MommaLizzyEntity(EntityType entityType, Level world) { + super(entityType, world); + } + + public static AttributeSupplier setAttributes() { + return Animal.createMobAttributes() + .add(Attributes.MAX_HEALTH, 10.0D) + .add(Attributes.ATTACK_DAMAGE, 0.5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.6f).build(); + } + + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Player.class, 80, 0.75f, 0.75f)); + this.goalSelector.addGoal(2, new RandomSwimmingGoal(this, 0.6, 1)); + this.goalSelector.addGoal(3, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(4, new AvoidEntityGoal<>(this, Monster.class, 80, 0.6f, 0.6f)); + this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Villager.class, 8.0f)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController<>(this, "controller", 0, this::predicate)); + } + + private boolean isPlayerNearby() { + return this.level().getEntitiesOfClass(Player.class, this.getBoundingBox().inflate(2.0D)).stream() + .anyMatch(player -> !player.isShiftKeyDown() && player.distanceToSqr(this) <= 4.0D); + } + + @Override + public void tick() { + super.tick(); + + } + + private PlayState predicate(AnimationState event) { + if (this.isSwimming()) { + event.getController().setAnimation(RawAnimation.begin().then("swim", Animation.LoopType.LOOP)); + } else if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Nullable + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.TURTLE_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.AXOLOTL_DEATH; + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + + @Nullable + @Override + public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableMob) { + return null; + } +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/RatmanEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/RatmanEntity.java new file mode 100644 index 00000000..7abbd974 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/RatmanEntity.java @@ -0,0 +1,236 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.RangedBowAttackGoal; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.animal.IronGolem; +import net.minecraft.world.entity.animal.Turtle; +import net.minecraft.world.entity.monster.Skeleton; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Arrow; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.ProjectileWeaponItem; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.Random; + +public class RatmanEntity extends Skeleton implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private final Level serverWorld; + private boolean summoned = false; + private int counter = 0; + private int arrowRotation = 50; + private static final EntityDataAccessor ATTACK1 = SynchedEntityData.defineId(RatmanEntity.class, EntityDataSerializers.BOOLEAN); + + public RatmanEntity(EntityType pEntityType, Level pLevel) { + super(pEntityType, pLevel); + serverWorld = pLevel; + if (!serverWorld.isClientSide()) { + boolean attack1 = new Random().nextBoolean(); + this.entityData.set(ATTACK1, attack1); + } + } + + @Override + protected void defineSynchedData() { + super.defineSynchedData(); + this.entityData.define(ATTACK1, false); + } + + @Override + public void addAdditionalSaveData(CompoundTag pCompound) { + super.addAdditionalSaveData(pCompound); + pCompound.putBoolean("attack1", this.getAttack1()); + } + + @Override + public void readAdditionalSaveData(CompoundTag compound) { + super.readAdditionalSaveData(compound); + this.setAttack1(compound.getBoolean("attack1")); + } + + public boolean getAttack1() { + return this.entityData.get(ATTACK1); + } + + public void setAttack1(boolean attack1) { + this.entityData.set(ATTACK1, attack1); + } + + public static AttributeSupplier setAttributes() { + return Skeleton.createMobAttributes() + .add(Attributes.MAX_HEALTH, 22.0D) + .add(Attributes.ATTACK_DAMAGE, 4f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.5f).build(); + } + + @Override + protected void registerGoals() { + + this.goalSelector.addGoal(1, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(2, new RangedBowAttackGoal<>(this, 0.7D, 10, 15.0f)); + + this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); + this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, IronGolem.class, true)); + this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController(this, "attackcontroller", 0, this::attackPredicate)); + } + + @Override + public boolean canFireProjectileWeapon(@NotNull ProjectileWeaponItem pProjectileWeapon) { + return pProjectileWeapon == Items.CROSSBOW; + } + + private PlayState attackPredicate(AnimationState event) { + + if (isUsingItem()) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("attack", Animation.LoopType.PLAY_ONCE)); + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.FOX_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.FOX_HURT; + } + + @Override + protected SoundEvent getAmbientSound() { + return SoundEvents.FOX_AMBIENT; + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + + @Override + public void tick() { + super.tick(); + if (getAttack1()) { + if (!summoned && this.getHealth() < this.getMaxHealth() * 0.5) { + + if (counter < 10 && counter % 2 == 0) { + for (int i = 0; i < 2; i++) { + shootArrow(arrowRotation += (int) (360f / 10)); + } + } + counter++; + if (counter >= 10) { + summoned = true; + } + } + } else { + if (!summoned && this.getHealth() < this.getMaxHealth() * 0.5) { + smokeBomb(); + summoned = true; + } + + } + } + + private void shootArrow(int angle) { + + double arrowX = Math.cos(Math.toRadians(angle)); + double arrowY = getEyeY(); + double arrowZ = Math.sin(Math.toRadians(angle)); + + Arrow arrow = new Arrow(serverWorld, this); + arrow.setPos(getX() + arrowX, arrowY - 1.5, getZ() + arrowZ); + arrow.setShotFromCrossbow(false); + + double velX = Math.cos(Math.toRadians(angle)); + double velZ = Math.sin(Math.toRadians(angle)); + arrow.setDeltaMovement(velX, 0.3, velZ); + + arrow.addEffect(new MobEffectInstance(MobEffects.POISON, 100, 1)); + serverWorld.playSound(null, this.blockPosition(), SoundEvents.DISPENSER_LAUNCH, SoundSource.HOSTILE, 0.75F, 1.0F); + + serverWorld.addFreshEntity(arrow); + + } + + private void smokeBomb() { + + double radius = 2.5; + serverWorld.playSound(null, this.blockPosition(), SoundEvents.SPLASH_POTION_BREAK, SoundSource.HOSTILE, 1.0F, 1.0F); + + for (int i = 0; i < 450; i++) { + double u = random.nextDouble(); + double v = random.nextDouble(); + double theta = 2 * Math.PI * u; + double phi = Math.acos(2 * v - 1); + + double scale = Math.cbrt(random.nextDouble()); + + double x = getX() + (radius * scale * Math.sin(phi) * Math.cos(theta)); + double y = getY() + (radius * scale * Math.sin(phi) * Math.sin(theta)); + double z = getZ() + (radius * scale * Math.cos(phi)); + + serverWorld.addParticle(ParticleTypes.CAMPFIRE_COSY_SMOKE, x, y, z, 0, 0.0, 0.0); + } + + this.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, 100, 1)); + + } + + + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/SamhainEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/SamhainEntity.java new file mode 100644 index 00000000..d9dc0f5c --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/SamhainEntity.java @@ -0,0 +1,373 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.*; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.event.ForgeEventFactory; +import net.xylonity.knightquest.registry.KnightQuestItems; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.*; + +public class SamhainEntity extends TamableAnimal implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private UUID ownerUUID; + private static final EntityDataAccessor SITTING = + SynchedEntityData.defineId(SamhainEntity.class, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor ARMOR_SLOT = SynchedEntityData.defineId(SamhainEntity.class, EntityDataSerializers.ITEM_STACK); + + public SamhainEntity(EntityType pEntityType, Level pLevel) { + super(pEntityType, pLevel); + } + + public static AttributeSupplier setAttributes() { + return TamableAnimal.createMobAttributes() + .add(Attributes.MAX_HEALTH, 12.0D) + .add(Attributes.ATTACK_DAMAGE, 0.5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.6f).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new SitWhenOrderedToGoal(this)); + this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Monster.class, 6.0F, 0.65D, 0.65D)); + this.goalSelector.addGoal(3, new FollowOwnerGoal(this, 0.6D, 6.0F, 2.0F, false)); + this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(5, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(6, new MoveToPumpkinGoal(this, 0.68F)); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController(this, "attackcontroller", 0, this::attackPredicate)); + } + + private PlayState attackPredicate(AnimationState event) { + + if (this.swinging && event.getController().getAnimationState().equals(AnimationController.State.STOPPED)) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.PLAY_ONCE)); + this.swinging = false; + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + if (this.isSitting()) { + event.getController().setAnimation(RawAnimation.begin().then("sit", Animation.LoopType.LOOP)); + } + + if (this.dead) { + event.getController().setAnimation(RawAnimation.begin().then("death", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + public InteractionResult mobInteract(Player player, InteractionHand hand) { + ItemStack itemstack = player.getItemInHand(hand); + Item item = itemstack.getItem(); + + Item itemForTaming = KnightQuestItems.GREAT_ESSENCE.get(); + + if (item == itemForTaming && !isTame()) { + if (this.level().isClientSide) { + return InteractionResult.CONSUME; + } else { + if (!player.getAbilities().instabuild) { + itemstack.shrink(1); + } + + if (!ForgeEventFactory.onAnimalTame(this, player)) { + if (!this.level().isClientSide) { + super.tame(player); + this.navigation.recomputePath(); + this.setTarget(null); + this.level().broadcastEntityEvent(this, (byte)7); + setSitting(true); + } + } + + return InteractionResult.SUCCESS; + } + } + + if (isTame() && !this.level().isClientSide && hand == InteractionHand.MAIN_HAND) { + if ((itemstack.getItem().equals(KnightQuestItems.GREAT_ESSENCE.get()) || itemstack.getItem().equals(KnightQuestItems.SMALL_ESSENCE.get())) + && this.getHealth() < this.getMaxHealth()) { + + if (itemstack.getItem().equals(KnightQuestItems.GREAT_ESSENCE.get())) { + this.heal(16.0F); + } else if (itemstack.getItem().equals(KnightQuestItems.SMALL_ESSENCE.get())) { + this.heal(4.0F); + } + + if (!player.getAbilities().instabuild) { + itemstack.shrink(1); + } + + } else if (itemstack.getItem() == KnightQuestItems.SQUIRE_HELMET.get()) { + equipArmor(itemstack); + return InteractionResult.SUCCESS; + } else if (itemstack.isEmpty() && hasArmor() && player.isShiftKeyDown()) { + removeArmor(player); + return InteractionResult.SUCCESS; + } else { + setSitting(!isSitting()); + } + return InteractionResult.SUCCESS; + } + + if (itemstack.getItem() == itemForTaming) { + return InteractionResult.PASS; + } + + return super.mobInteract(player, hand); + } + + public boolean hasArmor() { + return !this.entityData.get(ARMOR_SLOT).isEmpty(); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + setSitting(tag.getBoolean("isSitting")); + this.entityData.set(ARMOR_SLOT, ItemStack.of(tag.getCompound("ArmorItem"))); + } + + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putBoolean("isSitting", this.isSitting()); + CompoundTag armorTag = new CompoundTag(); + this.getArmor().save(armorTag); + tag.put("ArmorItem", armorTag); + } + + @Override + protected void defineSynchedData() { + super.defineSynchedData(); + this.entityData.define(SITTING, false); + this.entityData.define(ARMOR_SLOT, ItemStack.EMPTY); + } + + public void equipArmor(ItemStack itemStack) { + if (itemStack.getItem() instanceof ArmorItem) { + ArmorItem armorItem = (ArmorItem) itemStack.getItem(); + float armorValue = armorItem.getDefense(); + this.getAttribute(Attributes.ARMOR).setBaseValue(armorValue); + this.entityData.set(ARMOR_SLOT, itemStack.copy()); + itemStack.shrink(1); + } + } + + public ItemStack getArmor() { + return this.entityData.get(ARMOR_SLOT); + } + + public void removeArmor(Player pPlayer) { + ItemStack armorStack = this.entityData.get(ARMOR_SLOT); + + if (!armorStack.isEmpty()) { + if (!pPlayer.getInventory().add(armorStack)) { + this.spawnAtLocation(armorStack); + } + + this.entityData.set(ARMOR_SLOT, ItemStack.EMPTY); + } + + this.getAttribute(Attributes.ARMOR).setBaseValue(0.0); + this.entityData.set(ARMOR_SLOT, ItemStack.EMPTY); + } + + @Override + protected void dropCustomDeathLoot(DamageSource pSource, int pLooting, boolean pRecentlyHit) { + super.dropCustomDeathLoot(pSource, pLooting, pRecentlyHit); + ItemStack armorStack = this.entityData.get(ARMOR_SLOT); + if (!armorStack.isEmpty()) { + this.spawnAtLocation(armorStack); + } + } + + public void setSitting(boolean sitting) { + this.entityData.set(SITTING, sitting); + this.setOrderedToSit(sitting); + } + + public boolean isSitting() { + return this.entityData.get(SITTING); + } + + public boolean canBeLeashed(Player player) { + return false; + } + + @Override + public void setTame(boolean tamed) { + super.setTame(tamed); + if (tamed) { + getAttribute(Attributes.MAX_HEALTH).setBaseValue(25.0D); + getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(4D); + getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.5f); + } else { + getAttribute(Attributes.MAX_HEALTH).setBaseValue(30.0D); + getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(4D); + getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.5f); + } + } + + @Nullable + @Override + public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableMob) { + return null; + } + + @Override + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.ALLAY_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.ALLAY_HURT; + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundEvents.WOLF_STEP, 0.15F, 1.0F); + } + + public class MoveToPumpkinGoal extends Goal { + + private final SamhainEntity entity; + private final double speed; + private BlockPos targetPumpkinPos; + private final int searchRadius = 10; + private final double circleRadius = 3.0; + private double angle = 0; + private final double angleIncrement = Math.PI / 8; + private final Random random = new Random(); + private int ticksCircling = 0; + private final int maxTicksCircling = 80; + + public MoveToPumpkinGoal(SamhainEntity entity, double speed) { + this.entity = entity; + this.speed = speed; + this.setFlags(EnumSet.of(Goal.Flag.MOVE)); + } + + @Override + public boolean canUse() { + BlockPos entityPos = entity.blockPosition(); + Level level = entity.level(); + + targetPumpkinPos = findNearestPumpkin(level, entityPos, searchRadius); + return targetPumpkinPos != null; + } + + @Override + public boolean canContinueToUse() { + return targetPumpkinPos != null && entity.level().getBlockState(targetPumpkinPos).is(Blocks.PUMPKIN); + } + + @Override + public void start() { + if (targetPumpkinPos != null) { + moveToNextPosition(); + ticksCircling = 0; + } + } + + @Override + public void stop() { + targetPumpkinPos = null; + } + + @Override + public void tick() { + if (targetPumpkinPos != null) { + if (ticksCircling < maxTicksCircling) { + if (entity.getNavigation().isDone()) { + angle += angleIncrement; + moveToNextPosition(); + } + ticksCircling++; + if (random.nextInt(20) == 0) { + entity.getJumpControl().jump(); + } + } else { + entity.getNavigation().moveTo(targetPumpkinPos.getX() + 0.5, targetPumpkinPos.getY(), targetPumpkinPos.getZ() + 0.5, speed); + } + } + } + + private void moveToNextPosition() { + double xOffset = targetPumpkinPos.getX() + circleRadius * Math.cos(angle); + double zOffset = targetPumpkinPos.getZ() + circleRadius * Math.sin(angle); + entity.getLookControl().setLookAt(targetPumpkinPos.getX(), targetPumpkinPos.getY(), targetPumpkinPos.getZ()); + entity.getNavigation().moveTo(xOffset, targetPumpkinPos.getY(), zOffset, speed); + } + + private BlockPos findNearestPumpkin(Level level, BlockPos entityPos, int radius) { + for (BlockPos pos : BlockPos.betweenClosed(entityPos.offset(-radius, -2, -radius), entityPos.offset(radius, 2, radius))) { + if (level.getBlockState(pos).is(Blocks.PUMPKIN)) { + return pos; + } + } + return null; + } + + } + +} + diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/ShieldEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/ShieldEntity.java new file mode 100644 index 00000000..acdc992a --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/ShieldEntity.java @@ -0,0 +1,202 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.Objects; + +public class ShieldEntity extends Monster implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + private final Level serverWorld; + private static final double RADIUS = 2.0; + private static final double ANGULAR_SPEED = 0.1; + private double angle; + + public ShieldEntity(EntityType entityType, Level world) { + super(entityType, world); + this.serverWorld = world; + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 1.0D) + .add(Attributes.ATTACK_DAMAGE, 5f) + .add(Attributes.ATTACK_SPEED, 1.0f) + .add(Attributes.MOVEMENT_SPEED, 0.63f) + .add(Attributes.FOLLOW_RANGE, 35.0).build(); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + } + + private PlayState predicate(AnimationState event) { + return PlayState.CONTINUE; + } + + @Override + public boolean hurt(DamageSource pSource, float pAmount) { + serverWorld.addParticle(ParticleTypes.EXPLOSION, this.getX(), this.getY() + 0.5, this.getZ(), 1.2d, 0d, 0d); + level().playSound(null, this.blockPosition(), SoundEvents.VEX_HURT, SoundSource.HOSTILE, 1.0F, 1.0F); + + serverWorld.getEntitiesOfClass(Player.class, this.getBoundingBox().inflate(3)).forEach(player -> { + Vec3 direction = player.position().subtract(this.position()).normalize().scale(0.4); + player.push(direction.x, direction.y + 0.5, direction.z); + }); + + this.remove(RemovalReason.KILLED); + return false; + } + + @Override + protected InteractionResult mobInteract(Player pPlayer, InteractionHand pHand) { + return super.mobInteract(pPlayer, pHand); + } + + @Override + public boolean canBeCollidedWith() { + return false; + } + + + @Override + public void tick() { + super.tick(); + + GremlinEntity owner = findClosestGremlin(); + + if (owner == null || owner.isDeadOrDying() || owner.getPhase() == 1) { + this.remove(RemovalReason.KILLED); + return; + } + + Vec3 ownerPos = owner.position(); + double offsetX = Math.cos(angle) * RADIUS; + double offsetZ = Math.sin(angle) * RADIUS; + double offsetY = Math.sin(angle * 2) * 0.5; + this.setPos(ownerPos.x() + offsetX, ownerPos.y() + 0.5 + offsetY, ownerPos.z() + offsetZ); + if (this.level().getNearestPlayer(this, -1.0) != null) + this.lookAt(Objects.requireNonNull(this.level().getNearestPlayer(this, -1.0)), 360, 360); + + angle += ANGULAR_SPEED; + if (angle >= Math.PI * 2) { + angle -= Math.PI * 2; + } + + ParticleOptions particleType = ParticleTypes.SMOKE; + for (int i = 0; i < 2; ++i) { + double d0 = this.random.nextGaussian() * 0.02D; + double d1 = this.random.nextGaussian() * 0.02D; + double d2 = this.random.nextGaussian() * 0.02D; + this.level().addParticle(particleType, this.getX() + (this.random.nextFloat() * this.getBbWidth() * 2.0F) - this.getBbWidth(), this.getY() + (this.random.nextFloat() * this.getBbHeight()), this.getZ() + (this.random.nextFloat() * this.getBbWidth() * 2.0F) - this.getBbWidth(), d0, d1, d2); + } + } + + @Override + protected void pushEntities() { + + } + + @Override + public void push(Entity pEntity) { + + } + + @Override + public void handleInsidePortal(BlockPos pPos) { + + } + + @Override + public boolean isOnFire() { + return false; + } + + @Override + public boolean isInLava() { + return false; + } + + @Override + public boolean isInWater() { + return false; + } + + @Override + public boolean isInWall() { + return false; + } + + @Override + protected void spawnSprintParticle() { + + } + + @Override + protected void spawnSoulSpeedParticle() { + + } + + private GremlinEntity findClosestGremlin() { + double closestDistance = Double.MAX_VALUE; + GremlinEntity closestGremlin = null; + + for (GremlinEntity entity : level().getEntitiesOfClass(GremlinEntity.class, getBoundingBox().inflate(RADIUS * 2))) { + if (entity instanceof GremlinEntity) { + double distance = distanceToSqr(entity); + if (distance < closestDistance) { + closestDistance = distance; + closestGremlin = entity; + } + } + } + + return closestGremlin; + } + + @Override public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + @Override protected SoundEvent getSwimSound() { + return null; + } + @Override protected SoundEvent getDeathSound() { + return null; + } + @Override public void playSound(SoundEvent pSound) {} + @Override public void playSound(SoundEvent pSound, float pVolume, float pPitch) {} + @Override public boolean isNoGravity() { + return true; + } + @Nullable @Override protected SoundEvent getAmbientSound() { + return null; + } + @Override protected void playHurtSound(DamageSource pSource) { ;; } + @Override protected SoundEvent getHurtSound(DamageSource pDamageSource) { return null; } + @Override protected void playStepSound(BlockPos pPos, BlockState pState) { ;; } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/entity/entities/SwampmanEntity.java b/src/main/java/net/xylonity/knightquest/common/entity/entities/SwampmanEntity.java new file mode 100644 index 00000000..e41a9bf0 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/entity/entities/SwampmanEntity.java @@ -0,0 +1,113 @@ +package net.xylonity.knightquest.common.entity.entities; + +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.npc.Villager; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.core.animatable.GeoAnimatable; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.*; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class SwampmanEntity extends Monster implements GeoEntity { + private AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + + public SwampmanEntity(EntityType entityType, Level world) { + super(entityType, world); + } + + @Override + protected int increaseAirSupply(int pCurrentAir) { + return this.getMaxAirSupply(); + } + + public static AttributeSupplier setAttributes() { + return Monster.createMobAttributes() + .add(Attributes.MAX_HEALTH, 22.0D) + .add(Attributes.ATTACK_DAMAGE, 4f) + .add(Attributes.ATTACK_SPEED, 0.8f) + .add(Attributes.MOVEMENT_SPEED, 0.5f).build(); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 0.5f, true)); + this.goalSelector.addGoal(2, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(3, new RandomSwimmingGoal(this, 2.0, 400)); + this.goalSelector.addGoal(4, new WaterAvoidingRandomStrollGoal(this, 0.6)); + this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); + + this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Villager.class, true)); + this.targetSelector.addGoal(2, (new HurtByTargetGoal(this)).setAlertOthers()); + } + + @Override + public int getMaxAirSupply() { + return 1000; + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllerRegistrar) { + controllerRegistrar.add(new AnimationController(this, "controller", 0, this::predicate)); + controllerRegistrar.add(new AnimationController(this, "attackcontroller", 0, this::attackPredicate)); + } + + private PlayState attackPredicate(AnimationState event) { + + if (this.swinging && event.getController().getAnimationState().equals(AnimationController.State.STOPPED)) { + event.getController().forceAnimationReset(); + event.getController().setAnimation(RawAnimation.begin().then("attack", Animation.LoopType.PLAY_ONCE)); + this.swinging = false; + } + + return PlayState.CONTINUE; + } + + private PlayState predicate(AnimationState event) { + + if (event.isMoving()) { + event.getController().setAnimation(RawAnimation.begin().then("walk", Animation.LoopType.LOOP)); + } else { + event.getController().setAnimation(RawAnimation.begin().then("idle", Animation.LoopType.LOOP)); + } + + if (this.dead) { + event.getController().setAnimation(RawAnimation.begin().then("death", Animation.LoopType.LOOP)); + } + + return PlayState.CONTINUE; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return cache; + } + + @Override + protected SoundEvent getSwimSound() { + return SoundEvents.AXOLOTL_SWIM; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.CAMEL_DEATH; + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource) { + return SoundEvents.CAMEL_HURT; + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/event/KQClientEventProviders.java b/src/main/java/net/xylonity/knightquest/common/event/KQClientEventProviders.java new file mode 100644 index 00000000..26ef2ba1 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/event/KQClientEventProviders.java @@ -0,0 +1,23 @@ +package net.xylonity.knightquest.common.event; + +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.RegisterParticleProvidersEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestParticles; +import net.xylonity.knightquest.common.particle.GhostyParticle; +import net.xylonity.knightquest.common.particle.GremlinParticle; +import net.xylonity.knightquest.common.particle.StarsetParticle; +import net.xylonity.knightquest.common.particle.YellowParticle; + +@Mod.EventBusSubscriber(modid = KnightQuest.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) +public class KQClientEventProviders { + @SubscribeEvent + public static void registerParticleFactories(final RegisterParticleProvidersEvent event) { + event.registerSpriteSet(KnightQuestParticles.STARSET_PARTICLE.get(), StarsetParticle.Provider::new); + event.registerSpriteSet(KnightQuestParticles.GREMLIN_PARTICLE.get(), GremlinParticle.Provider::new); + event.registerSpriteSet(KnightQuestParticles.YELLOW_PARTICLE.get(), YellowParticle.Provider::new); + event.registerSpriteSet(KnightQuestParticles.GHOSTY_PARTICLE.get(), GhostyParticle.Provider::new); + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/event/KQEventRegisters.java b/src/main/java/net/xylonity/knightquest/common/event/KQEventRegisters.java new file mode 100644 index 00000000..ae73bdf4 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/event/KQEventRegisters.java @@ -0,0 +1,62 @@ +package net.xylonity.knightquest.common.event; + +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; +import net.minecraft.world.entity.SpawnPlacements; +import net.minecraft.world.entity.TamableAnimal; +import net.minecraft.world.entity.animal.Animal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.level.levelgen.Heightmap; +import net.minecraftforge.data.event.GatherDataEvent; +import net.minecraftforge.event.entity.EntityAttributeCreationEvent; +import net.minecraftforge.event.entity.SpawnPlacementRegisterEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestEntities; +import net.xylonity.knightquest.common.entity.entities.*; +import net.xylonity.knightquest.datagen.KQGlobalLootModifiersProvider; + +@Mod.EventBusSubscriber(modid = KnightQuest.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) +public class KQEventRegisters { + + @SubscribeEvent + public static void registerEntityAttributes(EntityAttributeCreationEvent event) { + event.put(KnightQuestEntities.GREMLIN.get(), GremlinEntity.setAttributes()); + event.put(KnightQuestEntities.ELDBOMB.get(), EldBombEntity.setAttributes()); + event.put(KnightQuestEntities.ELDKINGHT.get(), EldKnightEntity.setAttributes()); + event.put(KnightQuestEntities.SWAMPMAN.get(), SwampmanEntity.setAttributes()); + event.put(KnightQuestEntities.RATMAN.get(), RatmanEntity.setAttributes()); + event.put(KnightQuestEntities.SAMHAIN.get(), SamhainEntity.setAttributes()); + event.put(KnightQuestEntities.LIZZY.get(), LizzyEntity.setAttributes()); + event.put(KnightQuestEntities.BADPATCH.get(), BadPatchEntity.setAttributes()); + event.put(KnightQuestEntities.SHIELD.get(), ShieldEntity.setAttributes()); + event.put(KnightQuestEntities.MOMMA_LIZZY.get(), MommaLizzyEntity.setAttributes()); + event.put(KnightQuestEntities.GHOSTY.get(), GhostyEntity.setAttributes()); + } + + @SubscribeEvent + public static void registerSpawnPlacements(SpawnPlacementRegisterEvent event) { + + event.register(KnightQuestEntities.BADPATCH.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.ELDBOMB.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.ELDKINGHT.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.GHOSTY.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.GREMLIN.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.LIZZY.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.RATMAN.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.SAMHAIN.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, TamableAnimal::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(KnightQuestEntities.SWAMPMAN.get(), SpawnPlacements.Type.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Monster::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + + } + + @SubscribeEvent + public static void gatherData(GatherDataEvent event) { + DataGenerator generator = event.getGenerator(); + PackOutput packOutput = generator.getPackOutput(); + + generator.addProvider(event.includeServer(), new KQGlobalLootModifiersProvider(packOutput)); + } + +} + diff --git a/src/main/java/net/xylonity/knightquest/common/event/KQExtraEvents.java b/src/main/java/net/xylonity/knightquest/common/event/KQExtraEvents.java new file mode 100644 index 00000000..e414df3e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/event/KQExtraEvents.java @@ -0,0 +1,40 @@ +package net.xylonity.knightquest.common.event; + +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraftforge.event.level.BlockEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestEntities; +import net.xylonity.knightquest.common.entity.entities.SamhainEntity; + +@Mod.EventBusSubscriber(modid = KnightQuest.MOD_ID) +public class KQExtraEvents { + + /** + * Alternative class for extra event definitions. Check KQArmorItem::ArmorStatusManagerEvents. + * @see net.xylonity.knightquest.common.item.KQArmorItem + */ + + @SubscribeEvent + public static void entitySamhainSpawnHandler(BlockEvent.EntityPlaceEvent event) { + Level level = (Level) event.getLevel(); + BlockPos pos = event.getPos(); + Block block = event.getPlacedBlock().getBlock(); + + if (block == Blocks.JACK_O_LANTERN && level.getBlockState(pos.below()).getBlock() == Blocks.GOLD_BLOCK) { + SamhainEntity samhain = new SamhainEntity(KnightQuestEntities.SAMHAIN.get(), level); + samhain.moveTo(pos.getX() + 0.5, pos.getY() - 1, pos.getZ() + 0.5, level.random.nextFloat() * 360.0F, 0.0F); + level.destroyBlock(pos,false); + level.destroyBlock(pos.below(), false); + level.playSound(null, pos, SoundEvents.ALLAY_AMBIENT_WITHOUT_ITEM, SoundSource.BLOCKS, 1f, 1f); + level.addFreshEntity(samhain); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/item/KQArmorItem.java b/src/main/java/net/xylonity/knightquest/common/item/KQArmorItem.java new file mode 100644 index 00000000..c8f3c014 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/item/KQArmorItem.java @@ -0,0 +1,562 @@ +package net.xylonity.knightquest.common.item; + +import net.minecraft.client.Minecraft; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.chat.Component; +import net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.damagesource.DamageTypes; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.AbstractArrow; +import net.minecraft.world.item.*; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.biome.Biomes; +import net.minecraft.world.phys.Vec3; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.event.entity.EntityJoinLevelEvent; +import net.minecraftforge.event.entity.living.LivingDeathEvent; +import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; +import net.minecraftforge.event.entity.living.LivingEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.DistExecutor; +import net.minecraftforge.fml.common.Mod; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.material.KQArmorMaterials; +import net.xylonity.knightquest.registry.KnightQuestItems; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.*; + +public class KQArmorItem extends ArmorItem { + + private final String bonusTooltip; + + public KQArmorItem(KQArmorMaterials material, Type type, Properties settings) { + super(material, type, settings); + this.bonusTooltip = material.getKeyName(); + } + + /** + * Adds `passive ability` tooltips to each KQArmorItem corresponding to each registered armor set. Uses the + * same name as the material registered for each individual armor set, as they are essentially identical. + */ + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + if (!Objects.equals(bonusTooltip, "chainmail") && !Objects.equals(bonusTooltip, "tengu")) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest.full_set_bonus")); + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest." + bonusTooltip + "_helmet.bonus")); + } else if (Objects.equals(bonusTooltip, "tengu")) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest.full_helmet_bonus")); + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest." + bonusTooltip + "_helmet.bonus")); + } + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + + /** + * Declaration of static effects for certain armors. + */ + + private static final MobEffectInstance SHIELD_ARMOR = new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, -1, 0, false, false, true); + private static final MobEffectInstance BAT_ARMOR = new MobEffectInstance(MobEffects.NIGHT_VISION, -1, 0, false, false, true); + private static final MobEffectInstance PATH_ARMOR = new MobEffectInstance(MobEffects.INVISIBILITY, -1, 2, false, true, true); + private static final MobEffectInstance BOW_ARMOR = new MobEffectInstance(MobEffects.MOVEMENT_SPEED, -1, 0, false, false, true); + private static final MobEffectInstance HORN_ARMOR = new MobEffectInstance(MobEffects.DAMAGE_BOOST, 400, 0, false, false, true); + private static final MobEffectInstance SEA_ARMOR = new MobEffectInstance(MobEffects.DOLPHINS_GRACE, -1, 0, false, false, true); + private static final MobEffectInstance PIRATE_ARMOR = new MobEffectInstance(MobEffects.LUCK, -1, 0, false, false, true); + private static final MobEffectInstance SPIDER_ARMOR = new MobEffectInstance(MobEffects.JUMP, -1, 1, false, false, false); + private static final MobEffectInstance PHATOM_ARMOR = new MobEffectInstance(MobEffects.MOVEMENT_SPEED, -1, 0, false, false, true); + private static final MobEffectInstance NETHER_ARMOR = new MobEffectInstance(MobEffects.FIRE_RESISTANCE, -1, 0, false, false, true); + private static final MobEffectInstance HUSK_ARMOR = new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, -1, 1, false, false, true); + private static final MobEffectInstance BAMBOO_BLUE = new MobEffectInstance(MobEffects.MOVEMENT_SPEED, -1, 0, false, false, true); + private static final MobEffectInstance SILVERFISH_ARMOR = new MobEffectInstance(MobEffects.DIG_SPEED, -1, 0, false, false, true); + private static final MobEffectInstance SKULK_ARMOR = new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, -1, 1, false, false, true); + private static final MobEffectInstance STRAWHAT_ARMOR = new MobEffectInstance(MobEffects.WATER_BREATHING, -1, 0, false, false, true); + + /** + * Dual Hashmap that inherits old declared effects when a new set is equipped, preventing + * incompatibility when either post-indirect or pre-direct status effects are applied. + */ + + private static final Map> effectAppliedByArmorMap = new HashMap<>(); + + @Override + public void onInventoryTick(ItemStack stack, @NotNull Level level, Player player, int slotIndex, int selectedIndex) { + if(!level.isClientSide()) { + + UUID playerUUID = player.getUUID(); + + if (hasFullSetOn(player, KQArmorMaterials.PATHSET) && player.isShiftKeyDown()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PATHSET, false))) { + player.addEffect(PATH_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PATHSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PATHSET, false))) { + player.removeEffect(MobEffects.INVISIBILITY); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PATHSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.BOWSET) && player.getMainHandItem().getItem() instanceof ProjectileWeaponItem) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BOWSET, false))) { + player.addEffect(BOW_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.BOWSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BOWSET, false))) { + player.removeEffect(MobEffects.MOVEMENT_SPEED); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.BOWSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.BATSET) && level.isNight()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BATSET, false))) { + player.addEffect(BAT_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.BATSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BATSET, false))) { + player.removeEffect(MobEffects.NIGHT_VISION); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.BATSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.SHIELDSET)) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SHIELDSET, false))) { + player.addEffect(SHIELD_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SHIELDSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SHIELDSET, false))) { + player.removeEffect(MobEffects.DAMAGE_RESISTANCE); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SHIELDSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.PHANTOMSET) && level.isNight()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PHANTOMSET, false))) { + player.addEffect(PHATOM_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PHANTOMSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PHANTOMSET, false))) { + player.removeEffect(MobEffects.MOVEMENT_SPEED); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PHANTOMSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.HORNSET) && player.getLastAttacker() != null) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.HORNSET, false))) { + player.addEffect(HORN_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.HORNSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.HORNSET, false))) { + player.removeEffect(MobEffects.DAMAGE_BOOST); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.HORNSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.SEASET) && player.isUnderWater()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SEASET, false))) { + player.addEffect(SEA_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SEASET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SEASET, false))) { + player.removeEffect(MobEffects.DOLPHINS_GRACE); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SEASET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.PIRATESET)) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PIRATESET, false))) { + player.addEffect(PIRATE_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PIRATESET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.PIRATESET, false))) { + player.removeEffect(MobEffects.LUCK); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.PIRATESET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.SPIDERSET) && player.isShiftKeyDown()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SPIDERSET, false))) { + player.addEffect(SPIDER_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SPIDERSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SPIDERSET, false))) { + player.removeEffect(MobEffects.JUMP); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SPIDERSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.NETHERSET)) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.NETHERSET, false))) { + player.addEffect(NETHER_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.NETHERSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.NETHERSET, false))) { + player.removeEffect(MobEffects.FIRE_RESISTANCE); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.NETHERSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.SKULK) && player.level().getMaxLocalRawBrightness(player.blockPosition()) <= 4) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SKULK, false))) { + player.addEffect(SKULK_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SKULK, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SKULK, false))) { + player.removeEffect(MobEffects.DAMAGE_RESISTANCE); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.SKULK, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.STRAWHATSET) && player.isUnderWater()) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.STRAWHATSET, false))) { + player.addEffect(STRAWHAT_ARMOR); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.STRAWHATSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(playerUUID, k -> new HashMap<>()).getOrDefault(KQArmorMaterials.STRAWHATSET, false))) { + player.removeEffect(MobEffects.WATER_BREATHING); + effectAppliedByArmorMap.get(playerUUID).put(KQArmorMaterials.STRAWHATSET, false); + } + } + + } + + super.onInventoryTick(stack, level, player, slotIndex, selectedIndex); + } + + private static boolean hasFullSetOn(Player player, KQArmorMaterials material) { + ItemStack boots = player.getInventory().getArmor(0); + ItemStack leggings = player.getInventory().getArmor(1); + ItemStack breastplate = player.getInventory().getArmor(2); + ItemStack helmet = player.getInventory().getArmor(3); + + return !helmet.isEmpty() && !breastplate.isEmpty() + && !leggings.isEmpty() && !boots.isEmpty() + && ((ArmorItem) helmet.getItem()).getMaterial() == material + && ((ArmorItem) breastplate.getItem()).getMaterial() == material + && ((ArmorItem) leggings.getItem()).getMaterial() == material + && ((ArmorItem) boots.getItem()).getMaterial() == material; + } + + private static boolean isTeleportPositionValid(Level level, BlockPos pos) { + return !level.getBlockState(pos.below()).isAir() && level.getBlockState(pos).isAir() && level.getBlockState(pos.above()).isAir(); + } + + @Mod.EventBusSubscriber(modid = KnightQuest.MOD_ID) + public class ArmorStatusManagerEvents { + + /** + * Manages individual jump states for each player on the server, ensuring that there will + * not be infinite jumps when there are more than two players present. + */ + + private static final Map doubleJumpStates = new HashMap<>(); + + @SubscribeEvent + public static void onLivingHurt(LivingHurtEvent event) { + + // Victim: Player (Source ~-> Attacker) + + if (event.getEntity() instanceof Player player) { + + if (event.getSource().is(DamageTypes.FALL) && KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.DEEPSLATESET)) { + float originalDamage = event.getAmount(); + float reducedDamage = originalDamage * 0.25f; + event.setAmount(reducedDamage); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.EVOKERSET)) { + Random random = new Random(); + if (event.getSource().getEntity() != null && event.getSource().getEntity() instanceof LivingEntity entity && random.nextFloat() < 0.15) + entity.addEffect(new MobEffectInstance(MobEffects.DARKNESS, 160, 0, false, false, true)); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.SQUIRESET)) { + event.setAmount(event.getAmount() * 0.85F); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.BLAZESET)) { + Random random = new Random(); + if (event.getSource().getEntity() != null && random.nextFloat() < 0.3) + event.getSource().getEntity().setSecondsOnFire(random.nextInt(1, 5)); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.DRAGONSET)) + if (event.getSource().is(DamageTypes.DRAGON_BREATH)) + event.setAmount(0); + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.BAMBOOSET_GREEN)) + if (player.hasEffect(MobEffects.POISON) && (event.getSource().is(DamageTypes.MAGIC) || event.getSource().is(DamageTypes.INDIRECT_MAGIC))) { + event.setAmount(0); + player.removeEffect(MobEffects.POISON); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.SHINOBI) && event.getSource().getEntity() != null) { + player.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, 160, 0, false, false, true)); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.BAMBOOSET) && event.getSource().is(DamageTypes.FALL) ) { + + ServerPlayer serverPlayer = (ServerPlayer) player; + + int particleCount = 80; + double particleRadius = 1.2; + + for (int i = 0; i < particleCount; i++) { + double angleOffset = (2 * Math.PI / particleCount) * i; + double xParticleOffset = particleRadius * Math.cos(angleOffset); + double zParticleOffset = particleRadius * Math.sin(angleOffset); + + serverPlayer.connection.send(new ClientboundLevelParticlesPacket( + ParticleTypes.CAMPFIRE_COSY_SMOKE, + true, + player.getX() + xParticleOffset, + player.getY() + 0.1, + player.getZ() + zParticleOffset, + 0.2f, + 0.05f, + 0.2f, + 0.0f, + 1 + )); + } + + player.level().getEntitiesOfClass(Monster.class, player.getBoundingBox().inflate(3.5)).forEach(entity -> { + Vec3 direction = entity.position().subtract(player.position()).normalize().scale(event.getAmount() * 0.5); + entity.push(direction.x, direction.y + 0.5, direction.z); + }); + + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.ENDERMANSET) && event.getSource().getEntity() != null) { + + Random random = new Random(); + if (random.nextFloat() < 0.3) { + int radius = 5; + BlockPos playerPos = player.blockPosition(); + List validPositions = new ArrayList<>(); + + for (int x = -radius; x <= radius; x++) { + for (int y = -radius; y <= radius; y++) { + for (int z = -radius; z <= radius; z++) { + BlockPos targetPos = new BlockPos(playerPos.getX() + x, playerPos.getY() + y, playerPos.getZ() + z); + + if (isTeleportPositionValid(player.level(), targetPos)) { + validPositions.add(targetPos); + } + } + } + } + + if (!validPositions.isEmpty()) { + BlockPos randomPos = validPositions.get(random.nextInt(validPositions.size())); + event.setAmount(0); + + player.level().playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.ENDERMAN_TELEPORT, SoundSource.PLAYERS, 1.0F, 1.0F); + player.teleportTo(randomPos.getX(), randomPos.getY(), randomPos.getZ()); + } + + } + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.VETERANSET) && player.getHealth() < player.getMaxHealth() * 0.5) { + player.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 200, 0, false, false, true)); + player.addEffect(new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 200, 1, false, false, true)); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.FORZESET)) { + Random random = new Random(); + if (event.getSource().getEntity() != null && random.nextFloat() < 0.15) + event.getSource().getEntity().hurt(event.getSource(), event.getAmount() * 0.5F); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.CREEPERSET)) { + if (event.getSource().getEntity() != null && (event.getSource().is(DamageTypes.EXPLOSION) || event.getSource().is(DamageTypes.PLAYER_EXPLOSION))) + event.setAmount(event.getAmount() * 0.2F); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.POLAR)) { + if (event.getSource().getEntity() != null && (event.getSource().is(DamageTypes.FREEZE))) + event.setAmount(0); + } + + } + + // Attacker: Player + + if (event.getSource().getEntity() instanceof Player player && event.getEntity() != null) { + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.SILVERSET) && player.level().isNight()) { + Random random = new Random(); + if (random.nextFloat() < 0.20) { + event.getEntity().setSecondsOnFire(random.nextInt(1, 7)); + } + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.HOLLOWSET)) + player.heal(Math.min((float) (event.getAmount() * 0.15), event.getEntity().getHealth())); + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.DRAGONSET)) + event.setAmount((float) (event.getAmount() * 1.15)); + + if (event.getSource().is(DamageTypes.ARROW) && KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.WITHERSET)) { + Random random = new Random(); + if (event.getSource().getEntity() != null && random.nextFloat() < 0.3) + event.getEntity().addEffect(new MobEffectInstance(MobEffects.WITHER, 100, 0, false, false, false)); + } + } + } + + @SubscribeEvent + public static void onLivingUpdate(LivingEntityUseItemEvent.Finish event) { + if (event.getEntity() instanceof Player player) + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.APPLE_SET)) + if (event.getItem().getItem().equals(Items.APPLE)) + player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 200, 0, false, true, true)); + } + + @SubscribeEvent + public static void onLivingDead(LivingDeathEvent event) { + if (event.getEntity() != null && event.getSource().getEntity() instanceof Player player) { + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.CONQUISTADORSET)) { + player.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 200, 1, false, true, true)); + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.WITCH)) { + player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 80, 1, false, true, true)); + } + + } + } + + @SubscribeEvent + public static void onLivingTick(LivingEvent.LivingTickEvent event) { + if (event.getEntity() instanceof Player player) { + ItemStack helmet = player.getInventory().getArmor(3); + if (helmet.getItem().equals(KnightQuestItems.TENGU_HELMET.get())) { + boolean canDoubleJump = doubleJumpStates.getOrDefault(player.getUUID(), true); + + if (!player.onGround() && player.getDeltaMovement().y < 0 && canDoubleJump) { + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> handleClientSideDoubleJump(player)); + } + + if (player.onGround()) + doubleJumpStates.put(player.getUUID(), true); + } + + if (hasFullSetOn(player, KQArmorMaterials.HUSKSET) && (player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.DESERT) + || player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.BADLANDS) + || player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.BEACH))) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.HUSKSET, false))) { + player.addEffect(HUSK_ARMOR); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.HUSKSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.HUSKSET, false))) { + player.removeEffect(MobEffects.DAMAGE_RESISTANCE); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.HUSKSET, false); + } + } + + if (hasFullSetOn(player, KQArmorMaterials.BAMBOOSET_BLUE) && (player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.JUNGLE) + || player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.BAMBOO_JUNGLE) + || player.level().getBiome(new BlockPos((int) player.getX(), (int) player.getY(), (int) player.getZ())).is(Biomes.SPARSE_JUNGLE))) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BAMBOOSET_BLUE, false))) { + player.addEffect(BAMBOO_BLUE); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.BAMBOOSET_BLUE, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.BAMBOOSET_BLUE, false))) { + player.removeEffect(MobEffects.MOVEMENT_SPEED); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.BAMBOOSET_BLUE, false); + } + } + + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.WARLORDSET)) { + for (Entity entity : player.level().getEntitiesOfClass(Player.class, player.getBoundingBox().inflate(15.0))) { + if (entity instanceof Player nearbyPlayer && entity != player) { + nearbyPlayer.addEffect(new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 100, 0, false, false, true)); + } + } + } + + if (!player.level().isClientSide) { + if (KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.ZOMBIESET) && player.level().isNight()) { + if (player.tickCount % 200 == 0) { + player.heal(1.0F); + } + } + } + + if (hasFullSetOn(player, KQArmorMaterials.SILVERFISHSET) && player.getY() < 50) { + if (!Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SILVERFISHSET, false))) { + player.addEffect(SILVERFISH_ARMOR); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.SILVERFISHSET, true); + } + } else { + if (Boolean.TRUE.equals(effectAppliedByArmorMap.computeIfAbsent(player.getUUID(), k -> new HashMap<>()).getOrDefault(KQArmorMaterials.SILVERFISHSET, false))) { + player.removeEffect(MobEffects.DIG_SPEED); + effectAppliedByArmorMap.get(player.getUUID()).put(KQArmorMaterials.SILVERFISHSET, false); + } + } + + } + } + + @SubscribeEvent + public static void onArrowHit(EntityJoinLevelEvent event) { + if (event.getEntity() instanceof AbstractArrow arrow) { + if (arrow.getOwner() instanceof Player player && KQFullSetChecker.hasFullSuitOfArmorOn(player, KQArmorMaterials.SKELETONSET)) { + arrow.setPierceLevel((byte) 2); + } + } + } + + @OnlyIn(Dist.CLIENT) + private static void handleClientSideDoubleJump(Player player) { + if (Minecraft.getInstance().options.keyJump.isDown()) { + boolean canDoubleJump = doubleJumpStates.getOrDefault(player.getUUID(), true); + + if (canDoubleJump) { + doubleJumpStates.put(player.getUUID(), false); + + for (int i = 0; i < 360; i += 60) { + double angleRadians = Math.toRadians(i); + + double particleX = player.getX() + 0.4 * Math.cos(angleRadians); + double particleZ = player.getZ() + 0.4 * Math.sin(angleRadians); + + player.level().addParticle(ParticleTypes.CLOUD, particleX, player.getY(), particleZ, 0d, 0.35d, 0d); + } + + player.jumpFromGround(); + } + } + } + + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/item/KQFullSetChecker.java b/src/main/java/net/xylonity/knightquest/common/item/KQFullSetChecker.java new file mode 100644 index 00000000..a13b1976 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/item/KQFullSetChecker.java @@ -0,0 +1,27 @@ +package net.xylonity.knightquest.common.item; + +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ItemStack; +import net.xylonity.knightquest.common.material.KQArmorMaterials; + +public class KQFullSetChecker { + + protected static boolean hasFullSuitOfArmorOn(Player player, KQArmorMaterials material) { + + for (ItemStack armorStack : player.getInventory().armor) { + if(!(armorStack.getItem() instanceof ArmorItem)) { + return false; + } + } + + ArmorItem helmet = (ArmorItem) player.getInventory().getArmor(3).getItem(); + ArmorItem chestplate = (ArmorItem) player.getInventory().getArmor(2).getItem(); + ArmorItem leggings = (ArmorItem) player.getInventory().getArmor(1).getItem(); + ArmorItem boots = (ArmorItem) player.getInventory().getArmor(0).getItem(); + + return helmet.getMaterial() == material && chestplate.getMaterial() == material && + leggings.getMaterial() == material && boots.getMaterial() == material; + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/item/KQItem.java b/src/main/java/net/xylonity/knightquest/common/item/KQItem.java new file mode 100644 index 00000000..31008df9 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/item/KQItem.java @@ -0,0 +1,28 @@ +package net.xylonity.knightquest.common.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class KQItem extends Item { + + private final String tooltipInfoName; + + public KQItem(Properties pProperties, String tooltipInfoName) { + super(pProperties); + this.tooltipInfoName = tooltipInfoName; + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest." + tooltipInfoName)); + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/material/KQArmorMaterials.java b/src/main/java/net/xylonity/knightquest/common/material/KQArmorMaterials.java new file mode 100644 index 00000000..a8162660 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/material/KQArmorMaterials.java @@ -0,0 +1,171 @@ +package net.xylonity.knightquest.common.material; + +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.crafting.Ingredient; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestItems; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Supplier; + +public enum KQArmorMaterials implements ArmorMaterial { + + APPLE_SET("appleset", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BAMBOOSET_BLUE("bamboo_blue", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BAMBOOSET_GREEN("bamboo_green", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BAMBOOSET("bamboo", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BATSET("bat", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BLAZESET("blaze", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + BOWSET("bow", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + HORNSET("horn", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + CREEPERSET("creeper", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + DEEPSLATESET("deepslate", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + DRAGONSET("dragon", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + ENDERMANSET("enderman", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + EVOKERSET("evoker", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + FORZESET("forze", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + HOLLOWSET("hollow", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + NETHERSET("nether", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + VETERANSET("veteran", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + PATHSET("path", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + PHANTOMSET("phantom", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SEASET("sea", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SHIELDSET("shield", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SILVERSET("silver", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SILVERFISHSET("silverfish", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SKELETONSET("skeleton", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SPIDERSET("spider", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + WARLORDSET("warlord", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + STRAWHATSET("strawhat", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + PIRATESET("pirate", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + CONQUISTADORSET("conquistador", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + ZOMBIESET("zombie", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + HUSKSET("husk", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + WITHERSET("wither", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SQUIRESET("squire", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TUNIC_BLUE("tunic_blue", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_LEATHER, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TUNIC_GREEN("tunic_green", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_LEATHER, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TUNIC_YELLOW("tunic_yellow", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_LEATHER, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TUNIC_RED("tunic_red", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_LEATHER, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TUNIC_SEA("tunic_sea", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_LEATHER, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + CHAINMAIL("chainmail", 20, new int[]{ 2, 5, 5, 2 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 0.4f, 0F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + WITCH("witch", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + POLAR("polar", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SHINOBI("shinobi", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + SKULK("skulk", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + TENGU("tengu", 37, new int[]{ 3, 6, 8, 3 }, 25, + SoundEvents.ARMOR_EQUIP_NETHERITE, 4f, 0.1F, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())); + + + private final String name; + private final int durabilityMultiplier; + private final int[] protectionAmounts; + private final int enchantmentValue; + private final SoundEvent equipSound; + private final float toughness; + private final float knockbackResistance; + private final Supplier repairIngredient; + + private static final int[] BASE_DURABILITY = { 11, 16, 16, 13 }; + + KQArmorMaterials(String name, int durabilityMultiplier, int[] protectionAmounts, int enchantmentValue, SoundEvent equipSound, + float toughness, float knockbackResistance, Supplier repairIngredient) { + this.name = name; + this.durabilityMultiplier = durabilityMultiplier; + this.protectionAmounts = protectionAmounts; + this.enchantmentValue = enchantmentValue; + this.equipSound = equipSound; + this.toughness = toughness; + this.knockbackResistance = knockbackResistance; + this.repairIngredient = repairIngredient; + } + + @Override + public int getDurabilityForType(ArmorItem.Type pType) { + return BASE_DURABILITY[pType.ordinal()] * this.durabilityMultiplier; + } + + @Override + public int getDefenseForType(ArmorItem.Type pType) { + return this.protectionAmounts[pType.ordinal()]; + } + + @Override + public int getEnchantmentValue() { + return enchantmentValue; + } + + @Override + public @NotNull SoundEvent getEquipSound() { + return this.equipSound; + } + + @Override + public @NotNull Ingredient getRepairIngredient() { + return this.repairIngredient.get(); + } + + @Override + public @NotNull String getName() { + return KnightQuest.MOD_ID + ":" + this.name; + } + + public String getKeyName() { return this.name; } + + @Override + public float getToughness() { + return this.toughness; + } + + @Override + public float getKnockbackResistance() { + return this.knockbackResistance; + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/material/KQItemMaterials.java b/src/main/java/net/xylonity/knightquest/common/material/KQItemMaterials.java new file mode 100644 index 00000000..f3579465 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/material/KQItemMaterials.java @@ -0,0 +1,62 @@ +package net.xylonity.knightquest.common.material; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.Tiers; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraftforge.common.ForgeTier; +import net.minecraftforge.common.TierSortingRegistry; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestItems; +import net.xylonity.knightquest.common.tags.KQTags; + +import java.util.List; + +public class KQItemMaterials { + + public static final Tier PALADIN = TierSortingRegistry.registerTier(new ForgeTier(4, 2131, 0.5f, 3.5f, 15, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "paladin_sword"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier NAIL = TierSortingRegistry.registerTier(new ForgeTier(4, 1821, 0.5f, 2.5f, 15, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "nail_glaive"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier UCHIGATANA = TierSortingRegistry.registerTier(new ForgeTier(4, 1080, 0.5f, 3f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "uchigatana_katana"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier KUKRI = TierSortingRegistry.registerTier(new ForgeTier(4, 200, 0.5f, 1f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "kukri_dagger"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier KHOPESH = TierSortingRegistry.registerTier(new ForgeTier(4, 1831, 0.5f, 3.5f, 15, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "khopesh_claymore"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier CLEAVER = TierSortingRegistry.registerTier(new ForgeTier(4, 1831, 0.5f, 3.2f, 15, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "cleaver_heavy_axe"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier CRIMSON_SWORD = TierSortingRegistry.registerTier(new ForgeTier(4, 1450, 0.5f, 2.5f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "crimson_sword"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier WATER_SWORD = TierSortingRegistry.registerTier(new ForgeTier(4, 850, 0.5f, 2f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "water_sword"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier STEEL_SWORD = TierSortingRegistry.registerTier(new ForgeTier(4, 300, 0.5f, 2.5f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "steel_sword"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier WATER_AXE = TierSortingRegistry.registerTier(new ForgeTier(4, 850, 6.0f, 1.5f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "water_axe"), List.of(Tiers.NETHERITE), List.of()); + + public static final Tier STEEL_AXE = TierSortingRegistry.registerTier(new ForgeTier(4, 300, 6.5f, 1.5f, 14, + KQTags.Blocks.KNIGHTQUEST_TOOLS, () -> Ingredient.of(KnightQuestItems.GREAT_ESSENCE.get())), + new ResourceLocation(KnightQuest.MOD_ID, "steel_axe"), List.of(Tiers.NETHERITE), List.of()); + + +} diff --git a/src/main/java/net/xylonity/knightquest/common/particle/GhostyParticle.java b/src/main/java/net/xylonity/knightquest/common/particle/GhostyParticle.java new file mode 100644 index 00000000..fb30ace5 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/particle/GhostyParticle.java @@ -0,0 +1,78 @@ +package net.xylonity.knightquest.common.particle; + +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +public class GhostyParticle extends TextureSheetParticle { + private float rotSpeed; + private final float particleRandom; + private final float spinAcceleration; + + GhostyParticle(ClientLevel pLevel, double pX, double pY, double pZ, SpriteSet pSpriteSet) { + super(pLevel, pX, pY, pZ); + this.setSprite(pSpriteSet.get(this.random.nextInt(12), 12)); + this.rotSpeed = (float)Math.toRadians(this.random.nextBoolean() ? -30.0 : 30.0); + this.particleRandom = this.random.nextFloat(); + this.spinAcceleration = (float)Math.toRadians(this.random.nextBoolean() ? -5.0 : 5.0); + this.lifetime = 300; + this.gravity = 7.5E-4F; + float $$5 = this.random.nextBoolean() ? 0.05F : 0.075F; + this.quadSize = $$5; + this.setSize($$5, $$5); + this.friction = 1.0F; + } + + public ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_OPAQUE; + } + + public void tick() { + this.xo = this.x; + this.yo = this.y; + this.zo = this.z; + if (this.lifetime-- <= 0) { + this.remove(); + } + + if (!this.removed) { + float $$0 = (float)(300 - this.lifetime); + float $$1 = Math.min($$0 / 300.0F, 1.0F); + double $$2 = Math.cos(Math.toRadians((double)(this.particleRandom * 60.0F))) * 2.0 * Math.pow((double)$$1, 1.25); + double $$3 = Math.sin(Math.toRadians((double)(this.particleRandom * 60.0F))) * 2.0 * Math.pow((double)$$1, 1.25); + this.xd += $$2 * 0.0024999999441206455; + this.zd += $$3 * 0.0024999999441206455; + this.yd -= this.gravity; + this.rotSpeed += this.spinAcceleration / 20.0F; + this.oRoll = this.roll; + this.roll += this.rotSpeed / 20.0F; + this.move(this.xd, this.yd, this.zd); + if (this.onGround || this.lifetime < 299 && (this.xd == 0.0 || this.zd == 0.0)) { + this.remove(); + } + + if (!this.removed) { + this.xd *= this.friction; + this.yd *= this.friction; + this.zd *= this.friction; + } + } + } + + @OnlyIn(Dist.CLIENT) + public static class Provider implements ParticleProvider { + private final SpriteSet sprites; + + public Provider(SpriteSet spriteSet) { + this.sprites = spriteSet; + } + + public Particle createParticle(SimpleParticleType particleType, ClientLevel level, + double x, double y, double z, + double dx, double dy, double dz) { + return new GhostyParticle(level, x, y, z, this.sprites); + } + } +} diff --git a/src/main/java/net/xylonity/knightquest/common/particle/GremlinParticle.java b/src/main/java/net/xylonity/knightquest/common/particle/GremlinParticle.java new file mode 100644 index 00000000..a005d469 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/particle/GremlinParticle.java @@ -0,0 +1,99 @@ +package net.xylonity.knightquest.common.particle; + +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.Camera; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.util.Mth; +import net.minecraft.world.phys.Vec3; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import org.joml.Quaternionf; +import org.joml.Vector3f; + +public class GremlinParticle extends TextureSheetParticle { + private final SpriteSet spritesset; + private static Quaternionf QUATERNION = new Quaternionf(0F, -0.7F, 0.7F, 0F); + + GremlinParticle(ClientLevel world, double x, double y, double z, SpriteSet sprites, double velX, double velY, double velZ) { + super(world, x, y + 0.5, z, 0.0, 0.0, 0.0); + + this.quadSize = (float) velX; + this.rCol = 1F; + this.gCol = 1F; + this.bCol = 1F; + this.lifetime = (int) (11 + (Math.floor(velX / 5))); + this.setSpriteFromAge(sprites); + this.spritesset = sprites; + this.setParticleSpeed(0,0,0); + } + + @Override + public ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; + } + + @Override + public void render(VertexConsumer pBuffer, Camera pRenderInfo, float pPartialTicks) { + Vec3 vec3 = pRenderInfo.getPosition(); + float x = (float)(Mth.lerp(pPartialTicks, this.xo, this.x) - vec3.x()); + float y = (float)(Mth.lerp(pPartialTicks, this.yo, this.y) - vec3.y()); + float z = (float)(Mth.lerp(pPartialTicks, this.zo, this.z) - vec3.z()); + + Vector3f[] vector3fs = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F)}; + Vector3f[] vector3fsBottom = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, -1.0F, 0.0F)}; + + float f4 = this.getQuadSize(pPartialTicks); + + for (int i = 0; i < 4; ++i) { + Vector3f vector3f = vector3fs[i]; + vector3f.rotate(QUATERNION); + vector3f.mul(f4); + vector3f.add(x, y, z); + + Vector3f vector3fBottom = vector3fsBottom[i]; + vector3fBottom.rotate(QUATERNION); + vector3fBottom.mul(f4); + vector3fBottom.add(x, y - 0.1F, z); + } + + float f7 = this.getU0(); + float f8 = this.getU1(); + float f5 = this.getV0(); + float f6 = this.getV1(); + int light = this.getLightColor(pPartialTicks); + + pBuffer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).uv(f8, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).uv(f8, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).uv(f7, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).uv(f7, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + + pBuffer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).uv(f7, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).uv(f7, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).uv(f8, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).uv(f8, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + } + + @Override + public void tick() { + super.tick(); + this.setSpriteFromAge(spritesset); + } + + @OnlyIn(Dist.CLIENT) + public static class Provider implements ParticleProvider { + private final SpriteSet sprites; + + public Provider(SpriteSet spriteSet) { + this.sprites = spriteSet; + } + + public Particle createParticle(SimpleParticleType particleType, ClientLevel level, + double x, double y, double z, + double dx, double dy, double dz) { + return new GremlinParticle(level, x, y, z, this.sprites, dx, dy, dz); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/particle/StarsetParticle.java b/src/main/java/net/xylonity/knightquest/common/particle/StarsetParticle.java new file mode 100644 index 00000000..424a8c8b --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/particle/StarsetParticle.java @@ -0,0 +1,104 @@ +package net.xylonity.knightquest.common.particle; + +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.Camera; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.util.Mth; +import net.minecraft.world.phys.Vec3; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import org.joml.Quaternionf; +import org.joml.Vector3f; + +public class StarsetParticle extends TextureSheetParticle { + private final SpriteSet spritesset; + private static Quaternionf QUATERNION = new Quaternionf(0F, -0.7F, 0.7F, 0F); + + StarsetParticle(ClientLevel world, double x, double y, double z, SpriteSet sprites, double velX, double velY, double velZ) { + super(world, x, y + 0.5, z, 0.0, 0.0, 0.0); + + this.quadSize = (float) velX; + this.rCol = 1F; + this.gCol = 1F; + this.bCol = 1F; + this.lifetime = (int) (11 + (Math.floor(velX / 5))); + this.setSpriteFromAge(sprites); + this.spritesset = sprites; + this.setParticleSpeed(0,0,0); + } + + @Override + protected int getLightColor(float pPartialTick) { + return 0xF000F0; + } + + @Override + public ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; + } + + @Override + public void render(VertexConsumer pBuffer, Camera pRenderInfo, float pPartialTicks) { + Vec3 vec3 = pRenderInfo.getPosition(); + float x = (float)(Mth.lerp(pPartialTicks, this.xo, this.x) - vec3.x()); + float y = (float)(Mth.lerp(pPartialTicks, this.yo, this.y) - vec3.y()); + float z = (float)(Mth.lerp(pPartialTicks, this.zo, this.z) - vec3.z()); + + Vector3f[] vector3fs = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F)}; + Vector3f[] vector3fsBottom = new Vector3f[]{new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, -1.0F, 0.0F)}; + + float f4 = this.getQuadSize(pPartialTicks); + + for (int i = 0; i < 4; ++i) { + Vector3f vector3f = vector3fs[i]; + vector3f.rotate(QUATERNION); + vector3f.mul(f4); + vector3f.add(x, y, z); + + Vector3f vector3fBottom = vector3fsBottom[i]; + vector3fBottom.rotate(QUATERNION); + vector3fBottom.mul(f4); + vector3fBottom.add(x, y - 0.1F, z); + } + + float f7 = this.getU0(); + float f8 = this.getU1(); + float f5 = this.getV0(); + float f6 = this.getV1(); + int light = this.getLightColor(pPartialTicks); + + pBuffer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).uv(f8, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).uv(f8, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).uv(f7, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).uv(f7, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + + pBuffer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).uv(f7, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).uv(f7, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).uv(f8, f5).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + pBuffer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).uv(f8, f6).color(this.rCol, this.gCol, this.bCol, this.alpha).uv2(light).endVertex(); + } + + @Override + public void tick() { + super.tick(); + this.setSpriteFromAge(spritesset); + } + + @OnlyIn(Dist.CLIENT) + public static class Provider implements ParticleProvider { + private final SpriteSet sprites; + + public Provider(SpriteSet spriteSet) { + this.sprites = spriteSet; + } + + public Particle createParticle(SimpleParticleType particleType, ClientLevel level, + double x, double y, double z, + double dx, double dy, double dz) { + return new StarsetParticle(level, x, y, z, this.sprites, dx, dy, dz); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/particle/YellowParticle.java b/src/main/java/net/xylonity/knightquest/common/particle/YellowParticle.java new file mode 100644 index 00000000..73154ab3 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/particle/YellowParticle.java @@ -0,0 +1,60 @@ +package net.xylonity.knightquest.common.particle; + +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.Camera; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import org.joml.Quaternionf; + +public class YellowParticle extends TextureSheetParticle { + private final SpriteSet spritesset; + private static Quaternionf QUATERNION = new Quaternionf(0F, -0.7F, 0.7F, 0F); + + YellowParticle(ClientLevel world, double x, double y, double z, SpriteSet sprites, double velX, double velY, double velZ) { + super(world, x, y + 0.5, z, 0.0, 0.0, 0.0); + + this.quadSize = 0.27f; + this.rCol = 1F; + this.gCol = 1F; + this.bCol = 1F; + this.lifetime = (int) (11 + (Math.floor(velX / 5))); + this.setSpriteFromAge(sprites); + this.spritesset = sprites; + this.setParticleSpeed(0,0,0); + } + + @Override + public ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; + } + + @Override + public void render(VertexConsumer pBuffer, Camera pRenderInfo, float pPartialTicks) { + super.render(pBuffer, pRenderInfo, pPartialTicks); + } + + @Override + public void tick() { + super.tick(); + this.setSpriteFromAge(spritesset); + } + + @OnlyIn(Dist.CLIENT) + public static class Provider implements ParticleProvider { + private final SpriteSet sprites; + + public Provider(SpriteSet spriteSet) { + this.sprites = spriteSet; + } + + public Particle createParticle(SimpleParticleType particleType, ClientLevel level, + double x, double y, double z, + double dx, double dy, double dz) { + return new YellowParticle(level, x, y, z, this.sprites, dx, dy, dz); + } + } + +} diff --git a/src/main/java/net/xylonity/knightquest/common/tags/KQTags.java b/src/main/java/net/xylonity/knightquest/common/tags/KQTags.java new file mode 100644 index 00000000..2a301684 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/common/tags/KQTags.java @@ -0,0 +1,27 @@ +package net.xylonity.knightquest.common.tags; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.xylonity.knightquest.KnightQuest; + +public class KQTags { + public static class Blocks { + public static final TagKey KNIGHTQUEST_TOOLS = tag("knightquest_tools"); + + + private static TagKey tag(String name) { + return BlockTags.create(new ResourceLocation(KnightQuest.MOD_ID, name)); + } + } + + public static class Items { + + private static TagKey tag(String name) { + return ItemTags.create(new ResourceLocation(KnightQuest.MOD_ID, name)); + } + } +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/config/KnightQuestCommonConfigs.java b/src/main/java/net/xylonity/knightquest/config/KnightQuestCommonConfigs.java new file mode 100644 index 00000000..7c3d5a77 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/config/KnightQuestCommonConfigs.java @@ -0,0 +1,36 @@ +package net.xylonity.knightquest.config; + +import net.minecraftforge.common.ForgeConfigSpec; + +public class KnightQuestCommonConfigs { + public static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder(); + public static final ForgeConfigSpec SPEC; + + public static final ForgeConfigSpec.BooleanValue POISON_ELDKNIGHT; + public static final ForgeConfigSpec.IntValue NUM_ELDBOMB_ELDKNIGHT; + public static final ForgeConfigSpec.DoubleValue HEAL_ELDKNIGHT; + public static final ForgeConfigSpec.DoubleValue DROP_CHANCE_SMALL_ESSENCE; + public static final ForgeConfigSpec.DoubleValue DROP_CHANCE_RATMAN_EYE; + public static final ForgeConfigSpec.DoubleValue DROP_CHANCE_LIZZY_SCALE; + public static final ForgeConfigSpec.DoubleValue INVULNERABILITY_RADIUS_GHOSTY; + + static { + BUILDER.push("Config file for Knight Quest"); + BUILDER.comment(""); + POISON_ELDKNIGHT = BUILDER.comment("Eld Knight entity configuration") + .define("Poison passive attack", true); + NUM_ELDBOMB_ELDKNIGHT = BUILDER.defineInRange("Number of Eld Bombs generated", 3, 0, 6); + HEAL_ELDKNIGHT = BUILDER.defineInRange("Quantity of healing each 4 seconds", 3.0, 0.0, 20.0); + BUILDER.comment(""); + DROP_CHANCE_SMALL_ESSENCE = BUILDER.comment("Drop chance configuration") + .defineInRange("Drop chance for small essence", 0.15, 0, 1); + DROP_CHANCE_RATMAN_EYE = BUILDER.defineInRange("Drop chance for ratman eye", 0.40, 0, 1); + DROP_CHANCE_LIZZY_SCALE = BUILDER.defineInRange("Drop chance for lizzy scale", 0.30, 0, 1); + + BUILDER.comment(""); + INVULNERABILITY_RADIUS_GHOSTY = BUILDER.defineInRange("Ghosty invulnerability radius", 7.0, 0.0, 25.0); + + BUILDER.pop(); + SPEC = BUILDER.build(); + } +} diff --git a/src/main/java/net/xylonity/knightquest/config/values/KQConfigValues.java b/src/main/java/net/xylonity/knightquest/config/values/KQConfigValues.java new file mode 100644 index 00000000..303cbd68 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/config/values/KQConfigValues.java @@ -0,0 +1,20 @@ +package net.xylonity.knightquest.config.values; + +import net.minecraftforge.fml.loading.FMLPaths; +import net.xylonity.knightquest.config.KnightQuestCommonConfigs; + +import java.nio.file.Files; +import java.nio.file.Path; + +public class KQConfigValues { + + static Path CONFIG_PATH = FMLPaths.CONFIGDIR.get().resolve("knightquest.toml"); + private static final boolean V = Files.exists(CONFIG_PATH); + public static boolean POISON_ELDKNIGHT = V ? KnightQuestCommonConfigs.POISON_ELDKNIGHT.get() : true; + public static int NUM_ELDBOMB_ELDKNIGHT = V ? KnightQuestCommonConfigs.NUM_ELDBOMB_ELDKNIGHT.get() : 3; + public static float HEAL_ELDKNIGHT = (float) (V ? KnightQuestCommonConfigs.HEAL_ELDKNIGHT.get() : 3.0); + public static float DROP_CHANCE_SMALL_ESSENCE = (float) (V ? KnightQuestCommonConfigs.DROP_CHANCE_SMALL_ESSENCE.get() : 0.15); + public static float DROP_CHANCE_RATMAN_EYE = (float) (V ? KnightQuestCommonConfigs.DROP_CHANCE_RATMAN_EYE.get() : 0.4); + public static float DROP_CHANCE_LIZZY_SCALE = (float) (V ? KnightQuestCommonConfigs.DROP_CHANCE_LIZZY_SCALE.get() : 0.3); + public static float INVULNERABILITY_RADIUS_GHOSTY = (float) (V ? KnightQuestCommonConfigs.INVULNERABILITY_RADIUS_GHOSTY.get() : 7.0); +} diff --git a/src/main/java/net/xylonity/knightquest/datagen/KQAddItemModifier.java b/src/main/java/net/xylonity/knightquest/datagen/KQAddItemModifier.java new file mode 100644 index 00000000..36af82b4 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/datagen/KQAddItemModifier.java @@ -0,0 +1,61 @@ +package net.xylonity.knightquest.datagen; + +import com.google.common.base.Suppliers; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; +import net.minecraftforge.common.loot.IGlobalLootModifier; +import net.minecraftforge.common.loot.LootModifier; +import net.minecraftforge.registries.ForgeRegistries; +import net.xylonity.knightquest.registry.KnightQuestItems; +import net.xylonity.knightquest.config.values.KQConfigValues; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Supplier; + +public class KQAddItemModifier extends LootModifier { + public static final Supplier> CODEC = Suppliers.memoize(() -> + RecordCodecBuilder.create(inst -> codecStart(inst).and(ForgeRegistries.ITEMS.getCodec() + .fieldOf("item").forGetter(m -> m.item)) + .and(Codec.FLOAT.fieldOf("chance").forGetter(m -> m.chance)) + .apply(inst, KQAddItemModifier::new))); + + private final Item item; + private float chance; + + public KQAddItemModifier(LootItemCondition[] conditionsIn, Item item, float chance) { + super(conditionsIn); + this.item = item; + this.chance = chance; + } + + @Override + protected @NotNull ObjectArrayList doApply(ObjectArrayList generatedLoot, LootContext context) { + + for(LootItemCondition condition : this.conditions) { + if(!condition.test(context)) { + return generatedLoot; + } + } + + if (item == KnightQuestItems.SMALL_ESSENCE.get() && context.getRandom().nextFloat() <= KQConfigValues.DROP_CHANCE_SMALL_ESSENCE) + generatedLoot.add(new ItemStack(this.item)); + + if (item == KnightQuestItems.RATMAN_EYE.get() && context.getRandom().nextFloat() <= KQConfigValues.DROP_CHANCE_RATMAN_EYE) + generatedLoot.add(new ItemStack(this.item)); + + if (item == KnightQuestItems.LIZZY_SCALE.get() && context.getRandom().nextFloat() <= KQConfigValues.DROP_CHANCE_LIZZY_SCALE) + generatedLoot.add(new ItemStack(this.item)); + + return generatedLoot; + } + + @Override + public Codec codec() { + return CODEC.get(); + } +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/datagen/KQGlobalLootModifiersProvider.java b/src/main/java/net/xylonity/knightquest/datagen/KQGlobalLootModifiersProvider.java new file mode 100644 index 00000000..3d6a7a0f --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/datagen/KQGlobalLootModifiersProvider.java @@ -0,0 +1,68 @@ +package net.xylonity.knightquest.datagen; + +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; +import net.minecraftforge.common.data.GlobalLootModifierProvider; +import net.minecraftforge.common.loot.LootTableIdCondition; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.registry.KnightQuestItems; + +public class KQGlobalLootModifiersProvider extends GlobalLootModifierProvider { + public KQGlobalLootModifiersProvider(PackOutput output) { + super(output, KnightQuest.MOD_ID); + } + + /** + * Declaration of certain mobs that will drop the small_essence item + */ + + private static final ResourceLocation[] MOB_IDS = { + new ResourceLocation("minecraft", "entities/creeper"), + new ResourceLocation("minecraft", "entities/spider"), + new ResourceLocation("minecraft", "entities/skeleton"), + new ResourceLocation("minecraft", "entities/zombie"), + new ResourceLocation("minecraft", "entities/cave_spider"), + new ResourceLocation("minecraft", "entities/blaze"), + new ResourceLocation("minecraft", "entities/enderman"), + new ResourceLocation("minecraft", "entities/ghast"), + new ResourceLocation("minecraft", "entities/magma_cube"), + new ResourceLocation("minecraft", "entities/phantom"), + new ResourceLocation("minecraft", "entities/slime"), + new ResourceLocation("minecraft", "entities/stray"), + new ResourceLocation("minecraft", "entities/vex"), + new ResourceLocation("minecraft", "entities/drowned"), + new ResourceLocation("knightquest", "entities/gremlin"), + new ResourceLocation("knightquest", "entities/eldknight"), + new ResourceLocation("knightquest", "entities/samhain"), + new ResourceLocation("knightquest", "entities/ratman"), + new ResourceLocation("knightquest", "entities/swampman"), + new ResourceLocation("knightquest", "entities/eldbomb"), + new ResourceLocation("knightquest", "entities/lizzy"), + new ResourceLocation("knightquest", "entities/bad_patch") + }; + + private static final ResourceLocation RATMAN_ID = new ResourceLocation("knightquest", "entities/ratman"); + private static final ResourceLocation LIZZY_ID = new ResourceLocation("knightquest", "entities/lizzy"); + + @Override + protected void start() { + + for (ResourceLocation mobId : MOB_IDS) { + add(mobId.getPath() + "_small_essence", new KQAddItemModifier(new LootItemCondition[]{ + new LootTableIdCondition.Builder(mobId).build(), + }, new ItemStack(KnightQuestItems.SMALL_ESSENCE.get()).getItem(), 0.5F)); + } + + add(RATMAN_ID.getPath() + "_ratman_eye", new KQAddItemModifier(new LootItemCondition[]{ + new LootTableIdCondition.Builder(RATMAN_ID).build() + }, new ItemStack(KnightQuestItems.RATMAN_EYE.get()).getItem(), 0.5F)); + + add(LIZZY_ID.getPath() + "_lizzy_scale", new KQAddItemModifier(new LootItemCondition[]{ + new LootTableIdCondition.Builder(LIZZY_ID).build() + }, new ItemStack(KnightQuestItems.LIZZY_SCALE.get()).getItem(), 0.5F)); + + } + +} diff --git a/src/main/java/net/xylonity/knightquest/datagen/KQItemModelProvider.java b/src/main/java/net/xylonity/knightquest/datagen/KQItemModelProvider.java new file mode 100644 index 00000000..0858e9fd --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/datagen/KQItemModelProvider.java @@ -0,0 +1,16 @@ +package net.xylonity.knightquest.datagen; + +import net.minecraft.data.PackOutput; +import net.minecraftforge.client.model.generators.ItemModelProvider; +import net.minecraftforge.common.data.ExistingFileHelper; + +public class KQItemModelProvider extends ItemModelProvider { + public KQItemModelProvider(PackOutput output, String modid, ExistingFileHelper existingFileHelper) { + super(output, modid, existingFileHelper); + } + + @Override + protected void registerModels() { + //withExistingParent(KnightQuestItems.GREMLIN_EGG.getId().getPath(), mcLoc("item/template_spawn_egg")); + } +} diff --git a/src/main/java/net/xylonity/knightquest/datagen/KQLootModifiers.java b/src/main/java/net/xylonity/knightquest/datagen/KQLootModifiers.java new file mode 100644 index 00000000..9e51823b --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/datagen/KQLootModifiers.java @@ -0,0 +1,17 @@ +package net.xylonity.knightquest.datagen; + +import com.mojang.serialization.Codec; +import net.minecraftforge.common.loot.IGlobalLootModifier; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; + +public class KQLootModifiers { + public static final DeferredRegister> LOOT_MODIFIER_SERIALIZERS = + DeferredRegister.create(ForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, KnightQuest.MOD_ID); + + public static final RegistryObject> ADD_ITEM = + LOOT_MODIFIER_SERIALIZERS.register("add_item", KQAddItemModifier.CODEC); + +} \ No newline at end of file diff --git a/src/main/java/net/xylonity/knightquest/registry/KnightQuestBlocks.java b/src/main/java/net/xylonity/knightquest/registry/KnightQuestBlocks.java new file mode 100644 index 00000000..4e6cccf9 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/registry/KnightQuestBlocks.java @@ -0,0 +1,50 @@ +package net.xylonity.knightquest.registry; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MapColor; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.block.ChaliceBlock; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.function.Supplier; + +public class KnightQuestBlocks { + + public static final DeferredRegister BLOCKS = + DeferredRegister.create(ForgeRegistries.BLOCKS, KnightQuest.MOD_ID); + + private static RegistryObject registerBlockItem(String name, RegistryObject block) { + return KnightQuestItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); + } + + private static RegistryObject registerBlock(String name, Supplier block) { + RegistryObject toReturn = BLOCKS.register(name, block); + registerBlockItem(name, toReturn); + return toReturn; + } + + public static final RegistryObject GREAT_CHALICE = registerBlock("great_chalice", + () -> new ChaliceBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0F, 6.0F).sound(SoundType.COPPER).lightLevel(state -> state.getValue(ChaliceBlock.fill).equals(5) ? 5 : 0)) + { + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable BlockGetter pLevel, @NotNull List pTooltip, @NotNull TooltipFlag pFlag) { + pTooltip.add(Component.translatable("tooltip.item.knightquest.great_chalice")); + super.appendHoverText(pStack, pLevel, pTooltip, pFlag); + } + }); + +} diff --git a/src/main/java/net/xylonity/knightquest/registry/KnightQuestCreativeModeTabs.java b/src/main/java/net/xylonity/knightquest/registry/KnightQuestCreativeModeTabs.java new file mode 100644 index 00000000..b14b237d --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/registry/KnightQuestCreativeModeTabs.java @@ -0,0 +1,267 @@ +package net.xylonity.knightquest.registry; + +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; + +public class KnightQuestCreativeModeTabs { + + public static final DeferredRegister CREATIVE_MODE_TABS = + DeferredRegister.create(Registries.CREATIVE_MODE_TAB, KnightQuest.MOD_ID); + + public static final RegistryObject KNIGHTQUEST_TAB = + CREATIVE_MODE_TABS.register("knightquest_tab", + () -> CreativeModeTab.builder() + .icon(() -> new ItemStack(KnightQuestItems.PALADIN_SWORD.get())) + .title(Component.translatable("itemgroup.knightquest")) + .displayItems((itemDisplayParameters, output) -> { + + output.accept(KnightQuestBlocks.GREAT_CHALICE.get()); + + output.accept(KnightQuestItems.SMALL_ESSENCE.get()); + output.accept(KnightQuestItems.GREAT_ESSENCE.get()); + output.accept(KnightQuestItems.EMPTY_GOBLET.get()); + output.accept(KnightQuestItems.FILLED_GOBLET.get()); + output.accept(KnightQuestItems.RATMAN_EYE.get()); + output.accept(KnightQuestItems.LIZZY_SCALE.get()); + output.accept(KnightQuestItems.PALADIN_SWORD.get()); + output.accept(KnightQuestItems.NAIL_SWORD.get()); + output.accept(KnightQuestItems.UCHIGATANA.get()); + output.accept(KnightQuestItems.KUKRI.get()); + output.accept(KnightQuestItems.KHOPESH.get()); + output.accept(KnightQuestItems.CLEAVER.get()); + output.accept(KnightQuestItems.CRIMSON_SWORD.get()); + output.accept(KnightQuestItems.WATER_SWORD.get()); + output.accept(KnightQuestItems.STEEL_SWORD.get()); + + output.accept(KnightQuestItems.WATER_AXE.get()); + output.accept(KnightQuestItems.STEEL_AXE.get()); + + output.accept(KnightQuestItems.GREMLIN_EGG.get()); + output.accept(KnightQuestItems.ELD_KNIGHT_EGG.get()); + output.accept(KnightQuestItems.ELD_BOMB_EGG.get()); + output.accept(KnightQuestItems.SAMHAIN_EGG.get()); + output.accept(KnightQuestItems.SWAMPMAN_EGG.get()); + output.accept(KnightQuestItems.RATMAN_EGG.get()); + output.accept(KnightQuestItems.LIZZY_EGG.get()); + output.accept(KnightQuestItems.BADPATCH_EGG.get()); + output.accept(KnightQuestItems.GHOSTY_EGG.get()); + output.accept(KnightQuestItems.GHASTLING_EGG.get()); + output.accept(KnightQuestItems.MOMMA_LIZZY_EGG.get()); + + output.accept(KnightQuestItems.SQUIRE_HELMET.get()); + output.accept(KnightQuestItems.SQUIRE_CHESTPLATE.get()); + output.accept(KnightQuestItems.SQUIRE_LEGGINGS.get()); + output.accept(KnightQuestItems.SQUIRE_BOOTS.get()); + + output.accept(KnightQuestItems.APPLE_HELMET.get()); + output.accept(KnightQuestItems.APPLE_CHESTPLATE.get()); + output.accept(KnightQuestItems.APPLE_LEGGINGS.get()); + output.accept(KnightQuestItems.APPLE_BOOTS.get()); + + output.accept(KnightQuestItems.BAMBOO_BLUE_HELMET.get()); + output.accept(KnightQuestItems.BAMBOO_BLUE_CHESTPLATE.get()); + output.accept(KnightQuestItems.BAMBOO_BLUE_LEGGINGS.get()); + output.accept(KnightQuestItems.BAMBOO_BLUE_BOOTS.get()); + + output.accept(KnightQuestItems.BAMBOO_GREEN_HELMET.get()); + output.accept(KnightQuestItems.BAMBOO_GREEN_CHESTPLATE.get()); + output.accept(KnightQuestItems.BAMBOO_GREEN_LEGGINGS.get()); + output.accept(KnightQuestItems.BAMBOO_GREEN_BOOTS.get()); + + output.accept(KnightQuestItems.TENGU_HELMET.get()); + output.accept(KnightQuestItems.BAMBOO_HELMET.get()); + output.accept(KnightQuestItems.BAMBOO_CHESTPLATE.get()); + output.accept(KnightQuestItems.BAMBOO_LEGGINGS.get()); + output.accept(KnightQuestItems.BAMBOO_BOOTS.get()); + + output.accept(KnightQuestItems.BAT_HELMET.get()); + output.accept(KnightQuestItems.BAT_CHESTPLATE.get()); + output.accept(KnightQuestItems.BAT_LEGGINGS.get()); + output.accept(KnightQuestItems.BAT_BOOTS.get()); + + output.accept(KnightQuestItems.BLAZE_HELMET.get()); + output.accept(KnightQuestItems.BLAZE_CHESTPLATE.get()); + output.accept(KnightQuestItems.BLAZE_LEGGINGS.get()); + output.accept(KnightQuestItems.BLAZE_BOOTS.get()); + + output.accept(KnightQuestItems.BOW_HELMET.get()); + output.accept(KnightQuestItems.BOW_CHESTPLATE.get()); + output.accept(KnightQuestItems.BOW_LEGGINGS.get()); + output.accept(KnightQuestItems.BOW_BOOTS.get()); + + output.accept(KnightQuestItems.HORN_HELMET.get()); + output.accept(KnightQuestItems.HORN_CHESTPLATE.get()); + output.accept(KnightQuestItems.HORN_LEGGINGS.get()); + output.accept(KnightQuestItems.HORN_BOOTS.get()); + + output.accept(KnightQuestItems.CREEPER_HELMET.get()); + output.accept(KnightQuestItems.CREEPER_CHESTPLATE.get()); + output.accept(KnightQuestItems.CREEPER_LEGGINGS.get()); + output.accept(KnightQuestItems.CREEPER_BOOTS.get()); + + output.accept(KnightQuestItems.DEEPSLATE_HELMET.get()); + output.accept(KnightQuestItems.DEEPSLATE_CHESTPLATE.get()); + output.accept(KnightQuestItems.DEEPSLATE_LEGGINGS.get()); + output.accept(KnightQuestItems.DEEPSLATE_BOOTS.get()); + + output.accept(KnightQuestItems.DRAGON_HELMET.get()); + output.accept(KnightQuestItems.DRAGON_CHESTPLATE.get()); + output.accept(KnightQuestItems.DRAGON_LEGGINGS.get()); + output.accept(KnightQuestItems.DRAGON_BOOTS.get()); + + output.accept(KnightQuestItems.ENDERMAN_HELMET.get()); + output.accept(KnightQuestItems.ENDERMAN_CHESTPLATE.get()); + output.accept(KnightQuestItems.ENDERMAN_LEGGINGS.get()); + output.accept(KnightQuestItems.ENDERMAN_BOOTS.get()); + + output.accept(KnightQuestItems.EVOKER_HELMET.get()); + output.accept(KnightQuestItems.EVOKER_CHESTPLATE.get()); + output.accept(KnightQuestItems.EVOKER_LEGGINGS.get()); + output.accept(KnightQuestItems.EVOKER_BOOTS.get()); + + output.accept(KnightQuestItems.FORZE_HELMET.get()); + output.accept(KnightQuestItems.FORZE_CHESTPLATE.get()); + output.accept(KnightQuestItems.FORZE_LEGGINGS.get()); + output.accept(KnightQuestItems.FORZE_BOOTS.get()); + + output.accept(KnightQuestItems.HOLLOW_HELMET.get()); + output.accept(KnightQuestItems.HOLLOW_CHESTPLATE.get()); + output.accept(KnightQuestItems.HOLLOW_LEGGINGS.get()); + output.accept(KnightQuestItems.HOLLOW_BOOTS.get()); + + output.accept(KnightQuestItems.NETHER_HELMET.get()); + output.accept(KnightQuestItems.NETHER_CHESTPLATE.get()); + output.accept(KnightQuestItems.NETHER_LEGGINGS.get()); + output.accept(KnightQuestItems.NETHER_BOOTS.get()); + + output.accept(KnightQuestItems.VETERAN_HELMET.get()); + output.accept(KnightQuestItems.VETERAN_CHESTPLATE.get()); + output.accept(KnightQuestItems.VETERAN_LEGGINGS.get()); + output.accept(KnightQuestItems.VETERAN_BOOTS.get()); + + output.accept(KnightQuestItems.PATH_HELMET.get()); + output.accept(KnightQuestItems.PATH_CHESTPLATE.get()); + output.accept(KnightQuestItems.PATH_LEGGINGS.get()); + output.accept(KnightQuestItems.PATH_BOOTS.get()); + + output.accept(KnightQuestItems.PHANTOM_HELMET.get()); + output.accept(KnightQuestItems.PHANTOM_CHESTPLATE.get()); + output.accept(KnightQuestItems.PHANTOM_LEGGINGS.get()); + output.accept(KnightQuestItems.PHANTOM_BOOTS.get()); + + output.accept(KnightQuestItems.SEA_HELMET.get()); + output.accept(KnightQuestItems.SEA_CHESTPLATE.get()); + output.accept(KnightQuestItems.SEA_LEGGINGS.get()); + output.accept(KnightQuestItems.SEA_BOOTS.get()); + + output.accept(KnightQuestItems.SHIELD_HELMET.get()); + output.accept(KnightQuestItems.SHIELD_CHESTPLATE.get()); + output.accept(KnightQuestItems.SHIELD_LEGGINGS.get()); + output.accept(KnightQuestItems.SHIELD_BOOTS.get()); + + output.accept(KnightQuestItems.SILVER_HELMET.get()); + output.accept(KnightQuestItems.SILVER_CHESTPLATE.get()); + output.accept(KnightQuestItems.SILVER_LEGGINGS.get()); + output.accept(KnightQuestItems.SILVER_BOOTS.get()); + + output.accept(KnightQuestItems.SILVERFISH_HELMET.get()); + output.accept(KnightQuestItems.SILVERFISH_CHESTPLATE.get()); + output.accept(KnightQuestItems.SILVERFISH_LEGGINGS.get()); + output.accept(KnightQuestItems.SILVERFISH_BOOTS.get()); + + output.accept(KnightQuestItems.SKELETON_HELMET.get()); + output.accept(KnightQuestItems.SKELETON_CHESTPLATE.get()); + output.accept(KnightQuestItems.SKELETON_LEGGINGS.get()); + output.accept(KnightQuestItems.SKELETON_BOOTS.get()); + + output.accept(KnightQuestItems.SPIDER_HELMET.get()); + output.accept(KnightQuestItems.SPIDER_CHESTPLATE.get()); + output.accept(KnightQuestItems.SPIDER_LEGGINGS.get()); + output.accept(KnightQuestItems.SPIDER_BOOTS.get()); + + output.accept(KnightQuestItems.WARLORD_HELMET.get()); + output.accept(KnightQuestItems.WARLORD_CHESTPLATE.get()); + output.accept(KnightQuestItems.WARLORD_LEGGINGS.get()); + output.accept(KnightQuestItems.WARLORD_BOOTS.get()); + + output.accept(KnightQuestItems.STRAWHAT_HELMET.get()); + output.accept(KnightQuestItems.STRAWHAT_CHESTPLATE.get()); + output.accept(KnightQuestItems.STRAWHAT_LEGGINGS.get()); + output.accept(KnightQuestItems.STRAWHAT_BOOTS.get()); + + output.accept(KnightQuestItems.PIRATE_HELMET.get()); + output.accept(KnightQuestItems.PIRATE2_HELMET.get()); + output.accept(KnightQuestItems.PIRATE3_HELMET.get()); + output.accept(KnightQuestItems.PIRATE_CHESTPLATE.get()); + output.accept(KnightQuestItems.PIRATE_LEGGINGS.get()); + output.accept(KnightQuestItems.PIRATE_BOOTS.get()); + + output.accept(KnightQuestItems.CONQUISTADOR_HELMET.get()); + output.accept(KnightQuestItems.CONQUISTADOR2_HELMET.get()); + output.accept(KnightQuestItems.CONQUISTADOR3_HELMET.get()); + output.accept(KnightQuestItems.CONQUISTADOR_CHESTPLATE.get()); + output.accept(KnightQuestItems.CONQUISTADOR_LEGGINGS.get()); + output.accept(KnightQuestItems.CONQUISTADOR_BOOTS.get()); + + output.accept(KnightQuestItems.ZOMBIE_HELMET.get()); + output.accept(KnightQuestItems.ZOMBIE_HELMET2.get()); + output.accept(KnightQuestItems.ZOMBIE_CHESTPLATE.get()); + output.accept(KnightQuestItems.ZOMBIE_LEGGINGS.get()); + output.accept(KnightQuestItems.ZOMBIE_BOOTS.get()); + + output.accept(KnightQuestItems.HUSK_HELMET.get()); + output.accept(KnightQuestItems.HUSK_HELMET2.get()); + output.accept(KnightQuestItems.HUSK_HELMET3.get()); + output.accept(KnightQuestItems.HUSK_CHESTPLATE.get()); + output.accept(KnightQuestItems.HUSK_LEGGINGS.get()); + output.accept(KnightQuestItems.HUSK_BOOTS.get()); + + output.accept(KnightQuestItems.WITHER_HELMET.get()); + output.accept(KnightQuestItems.WITHER_CHESTPLATE.get()); + output.accept(KnightQuestItems.WITHER_LEGGINGS.get()); + output.accept(KnightQuestItems.WITHER_BOOTS.get()); + + output.accept(KnightQuestItems.CHAINMAIL_HELMET.get()); + output.accept(KnightQuestItems.CHAINMAIL_HELMET2.get()); + output.accept(KnightQuestItems.TUNIC_GREEN_LEGGINGS.get()); + output.accept(KnightQuestItems.TUNIC_RED_LEGGINGS.get()); + output.accept(KnightQuestItems.TUNIC_BLUE_LEGGINGS.get()); + output.accept(KnightQuestItems.TUNIC_YELLOW_LEGGINGS.get()); + output.accept(KnightQuestItems.TUNIC_SEA_LEGGINGS.get()); + + output.accept(KnightQuestItems.WITCH_HELMET.get()); + output.accept(KnightQuestItems.WITCH_CHESTPLATE.get()); + output.accept(KnightQuestItems.WITCH_LEGGINGS.get()); + output.accept(KnightQuestItems.WITCH_BOOTS.get()); + + output.accept(KnightQuestItems.POLAR_HELMET.get()); + output.accept(KnightQuestItems.POLAR_CHESTPLATE.get()); + output.accept(KnightQuestItems.POLAR_LEGGINGS.get()); + output.accept(KnightQuestItems.POLAR_BOOTS.get()); + + output.accept(KnightQuestItems.SHINOBI_HELMET.get()); + output.accept(KnightQuestItems.SHINOBI_CHESTPLATE.get()); + output.accept(KnightQuestItems.SHINOBI_LEGGINGS.get()); + output.accept(KnightQuestItems.SHINOBI_BOOTS.get()); + + output.accept(KnightQuestItems.SKULK_HELMET.get()); + output.accept(KnightQuestItems.SKULK2_HELMET.get()); + output.accept(KnightQuestItems.SKULK3_HELMET.get()); + output.accept(KnightQuestItems.SKULK4_HELMET.get()); + output.accept(KnightQuestItems.SKULK_CHESTPLATE.get()); + output.accept(KnightQuestItems.SKULK_LEGGINGS.get()); + output.accept(KnightQuestItems.SKULK_BOOTS.get()); + + }) + .withBackgroundLocation(new ResourceLocation(KnightQuest.MOD_ID, "textures/gui/container/creative_inventory/tab_knightquest.png")) + .withTabsImage(new ResourceLocation(KnightQuest.MOD_ID, "textures/gui/container/creative_inventory/tabs_knightquest.png")) + .build()); + +} diff --git a/src/main/java/net/xylonity/knightquest/registry/KnightQuestEntities.java b/src/main/java/net/xylonity/knightquest/registry/KnightQuestEntities.java new file mode 100644 index 00000000..3344c784 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/registry/KnightQuestEntities.java @@ -0,0 +1,43 @@ +package net.xylonity.knightquest.registry; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobCategory; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.entity.entities.*; + +public class KnightQuestEntities { + + public static final DeferredRegister> ENTITY = + DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, KnightQuest.MOD_ID); + + public static final RegistryObject> GREMLIN; + public static final RegistryObject> ELDBOMB; + public static final RegistryObject> ELDKINGHT; + public static final RegistryObject> SWAMPMAN; + public static final RegistryObject> SAMHAIN; + public static final RegistryObject> RATMAN; + public static final RegistryObject> LIZZY; + public static final RegistryObject> BADPATCH; + public static final RegistryObject> SHIELD; + public static final RegistryObject> MOMMA_LIZZY; + public static final RegistryObject> GHOSTY; + + static { + GREMLIN = ENTITY.register("gremlin", () -> EntityType.Builder.of(GremlinEntity::new, MobCategory.MONSTER).sized(1f, 1f).build(new ResourceLocation(KnightQuest.MOD_ID, "gremlin").toString())); + ELDBOMB = ENTITY.register("eldbomb", () -> EntityType.Builder.of(EldBombEntity::new, MobCategory.MONSTER).sized(1f, 1f).build(new ResourceLocation(KnightQuest.MOD_ID, "eldbomb").toString())); + ELDKINGHT = ENTITY.register("eldknight", () -> EntityType.Builder.of(EldKnightEntity::new, MobCategory.MONSTER).sized(1f, 2.6f).build(new ResourceLocation(KnightQuest.MOD_ID, "eldknight").toString())); + SAMHAIN = ENTITY.register("samhain", () -> EntityType.Builder.of(SamhainEntity::new, MobCategory.MONSTER).sized(1f, 1.5f).build(new ResourceLocation(KnightQuest.MOD_ID, "samhain").toString())); + SWAMPMAN = ENTITY.register("swampman", () -> EntityType.Builder.of(SwampmanEntity::new, MobCategory.MONSTER).sized(1f, 2f).build(new ResourceLocation(KnightQuest.MOD_ID, "swampman").toString())); + RATMAN = ENTITY.register("ratman", () -> EntityType.Builder.of(RatmanEntity::new, MobCategory.MONSTER).sized(1f, 1f).build(new ResourceLocation(KnightQuest.MOD_ID, "ratman").toString())); + LIZZY = ENTITY.register("lizzy", () -> EntityType.Builder.of(LizzyEntity::new, MobCategory.MONSTER).sized(1f, 0.3f).build(new ResourceLocation(KnightQuest.MOD_ID, "lizzy").toString())); + BADPATCH = ENTITY.register("bad_patch", () -> EntityType.Builder.of(BadPatchEntity::new, MobCategory.MONSTER).sized(1f, 1f).build(new ResourceLocation(KnightQuest.MOD_ID, "bad_patch").toString())); + SHIELD = ENTITY.register("ghastling", () -> EntityType.Builder.of(ShieldEntity::new, MobCategory.MONSTER).sized(0.65f, 0.65f).build(new ResourceLocation(KnightQuest.MOD_ID, "ghastling").toString())); + MOMMA_LIZZY = ENTITY.register("momma_lizzy", () -> EntityType.Builder.of(MommaLizzyEntity::new, MobCategory.MONSTER).sized(1f, 0.3f).build(new ResourceLocation(KnightQuest.MOD_ID, "momma_lizzy").toString())); + GHOSTY = ENTITY.register("ghosty", () -> EntityType.Builder.of(GhostyEntity::new, MobCategory.MONSTER).sized(1f, 1f).build(new ResourceLocation(KnightQuest.MOD_ID, "ghosty").toString())); + } + +} diff --git a/src/main/java/net/xylonity/knightquest/registry/KnightQuestItems.java b/src/main/java/net/xylonity/knightquest/registry/KnightQuestItems.java new file mode 100644 index 00000000..e472781e --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/registry/KnightQuestItems.java @@ -0,0 +1,521 @@ +package net.xylonity.knightquest.registry; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import net.minecraft.world.level.Level; +import net.minecraftforge.common.ForgeSpawnEggItem; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; +import net.xylonity.knightquest.common.client.GeoItemArmor; +import net.xylonity.knightquest.common.item.KQArmorItem; +import net.xylonity.knightquest.common.item.KQItem; +import net.xylonity.knightquest.common.material.KQArmorMaterials; +import net.xylonity.knightquest.common.material.KQItemMaterials; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class KnightQuestItems { + + public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, KnightQuest.MOD_ID); + + public static final RegistryObject GREAT_ESSENCE = ITEMS.register("great_essence", () -> new KQItem(new Item.Properties(), "great_essence")); + public static final RegistryObject SMALL_ESSENCE = ITEMS.register("small_essence", () -> new KQItem(new Item.Properties(), "small_essence")); + public static final RegistryObject EMPTY_GOBLET = ITEMS.register("empty_goblet", () -> new KQItem(new Item.Properties(), "empty_goblet")); + public static final RegistryObject FILLED_GOBLET = ITEMS.register("filled_goblet", () -> new KQItem(new Item.Properties(), "filled_goblet")); + public static final RegistryObject RATMAN_EYE = ITEMS.register("ratman_eye", () -> new KQItem(new Item.Properties(), "ratman_eye")); + public static final RegistryObject LIZZY_SCALE = ITEMS.register("lizzy_scale", () -> new KQItem(new Item.Properties(), "lizzy_scale")); + + public static final RegistryObject PALADIN_SWORD = ITEMS.register("paladin_sword", + () -> new SwordItem(KQItemMaterials.PALADIN, 4, -2.8f, new Item.Properties()) + { + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest.paladin_sword")); + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + }); + + public static final RegistryObject NAIL_SWORD = ITEMS.register("nail_glaive", + () -> new SwordItem(KQItemMaterials.NAIL, 4, -2.6f, new Item.Properties())); + public static final RegistryObject UCHIGATANA = ITEMS.register("uchigatana_katana", + () -> new SwordItem(KQItemMaterials.UCHIGATANA, 4, -2.2f, new Item.Properties())); + public static final RegistryObject KUKRI = ITEMS.register("kukri_dagger", + () -> new SwordItem(KQItemMaterials.KUKRI, 4, -1f, new Item.Properties())); + public static final RegistryObject KHOPESH = ITEMS.register("khopesh_claymore", + () -> new SwordItem(KQItemMaterials.KHOPESH, 4, -2.2f, new Item.Properties())); + public static final RegistryObject CLEAVER = ITEMS.register("cleaver_heavy_axe", + () -> new SwordItem(KQItemMaterials.CLEAVER, 4, -3f, new Item.Properties())); + public static final RegistryObject CRIMSON_SWORD = ITEMS.register("crimson_sword", + () -> new SwordItem(KQItemMaterials.CRIMSON_SWORD, 4, -2f, new Item.Properties())); + public static final RegistryObject WATER_SWORD = ITEMS.register("water_sword", + () -> new SwordItem(KQItemMaterials.WATER_SWORD, 4, -2f, new Item.Properties())); + public static final RegistryObject STEEL_SWORD = ITEMS.register("steel_sword", + () -> new SwordItem(KQItemMaterials.STEEL_SWORD, 4, -2f, new Item.Properties())); + + public static final RegistryObject WATER_AXE = ITEMS.register("water_axe", + () -> new AxeItem(KQItemMaterials.WATER_AXE, 4, -2.8f, new Item.Properties())); + public static final RegistryObject STEEL_AXE = ITEMS.register("steel_axe", + () -> new AxeItem(KQItemMaterials.STEEL_AXE, 4, -2.8f, new Item.Properties())); + + public static final RegistryObject APPLE_HELMET = ITEMS.register("apple_helmet", + () -> new GeoItemArmor(KQArmorMaterials.APPLE_SET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/apple_helmet.png", "geo/apple_helmet.geo.json")); + public static final RegistryObject APPLE_CHESTPLATE = ITEMS.register("apple_chestplate", + () -> new KQArmorItem(KQArmorMaterials.APPLE_SET, ArmorItem.Type.CHESTPLATE, new Item.Properties())); + public static final RegistryObject APPLE_LEGGINGS = ITEMS.register("apple_leggings", + () -> new KQArmorItem(KQArmorMaterials.APPLE_SET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject APPLE_BOOTS = ITEMS.register("apple_boots", + () -> new KQArmorItem(KQArmorMaterials.APPLE_SET, ArmorItem.Type.BOOTS, new Item.Properties())); + + public static final RegistryObject BAMBOO_BLUE_HELMET = ITEMS.register("bamboo_blue_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BAMBOOSET_BLUE, ArmorItem.Type.HELMET, new Item.Properties() + , "textures/armor/bamboo_blue_helmet.png", "geo/bambooblue_helmet.geo.json")); + public static final RegistryObject BAMBOO_BLUE_CHESTPLATE = ITEMS.register("bamboo_blue_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_BLUE, ArmorItem.Type.CHESTPLATE, new Item.Properties())); + public static final RegistryObject BAMBOO_BLUE_LEGGINGS = ITEMS.register("bamboo_blue_leggings", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_BLUE, ArmorItem.Type.LEGGINGS, new Item.Properties())); + public static final RegistryObject BAMBOO_BLUE_BOOTS = ITEMS.register("bamboo_blue_boots", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_BLUE, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject BAMBOO_GREEN_HELMET = ITEMS.register("bamboo_green_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BAMBOOSET_GREEN, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/bamboo_green_helmet.png", "geo/bamboogreen_helmet.geo.json")); + public static final RegistryObject BAMBOO_GREEN_CHESTPLATE = ITEMS.register("bamboo_green_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_GREEN, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject BAMBOO_GREEN_LEGGINGS = ITEMS.register("bamboo_green_leggings", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_GREEN, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject BAMBOO_GREEN_BOOTS = ITEMS.register("bamboo_green_boots", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET_GREEN, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject TENGU_HELMET = ITEMS.register("tengu_helmet", + () -> new GeoItemArmor(KQArmorMaterials.TENGU, ArmorItem.Type.HELMET, new Item.Properties() + , "textures/armor/tengu_helmet.png", "geo/tengu_helmet.geo.json")); + public static final RegistryObject BAMBOO_HELMET = ITEMS.register("bamboo_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BAMBOOSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/bamboo_helmet.png", "geo/bamboo_helmet.geo.json")); + public static final RegistryObject BAMBOO_CHESTPLATE = ITEMS.register("bamboo_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject BAMBOO_LEGGINGS = ITEMS.register("bamboo_leggings", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET, ArmorItem.Type.LEGGINGS, new Item.Properties())); + public static final RegistryObject BAMBOO_BOOTS = ITEMS.register("bamboo_boots", + () -> new KQArmorItem(KQArmorMaterials.BAMBOOSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject BAT_HELMET = ITEMS.register("bat_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BATSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/bat_helmet.png", "geo/bat_helmet.geo.json")); + public static final RegistryObject BAT_CHESTPLATE = ITEMS.register("bat_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BATSET, ArmorItem.Type.CHESTPLATE, new Item.Properties())); + public static final RegistryObject BAT_LEGGINGS = ITEMS.register("bat_leggings", + () -> new KQArmorItem(KQArmorMaterials.BATSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject BAT_BOOTS = ITEMS.register("bat_boots", + () -> new KQArmorItem(KQArmorMaterials.BATSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject BLAZE_HELMET = ITEMS.register("blaze_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BLAZESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/blaze_helmet.png", "geo/blaze_helmet.geo.json")); + public static final RegistryObject BLAZE_CHESTPLATE = ITEMS.register("blaze_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BLAZESET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject BLAZE_LEGGINGS = ITEMS.register("blaze_leggings", + () -> new KQArmorItem(KQArmorMaterials.BLAZESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject BLAZE_BOOTS = ITEMS.register("blaze_boots", + () -> new KQArmorItem(KQArmorMaterials.BLAZESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject BOW_HELMET = ITEMS.register("bow_helmet", + () -> new GeoItemArmor(KQArmorMaterials.BOWSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/bow_helmet.png", "geo/bow_helmet.geo.json")); + public static final RegistryObject BOW_CHESTPLATE = ITEMS.register("bow_chestplate", + () -> new KQArmorItem(KQArmorMaterials.BOWSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject BOW_LEGGINGS = ITEMS.register("bow_leggings", + () -> new KQArmorItem(KQArmorMaterials.BOWSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject BOW_BOOTS = ITEMS.register("bow_boots", + () -> new KQArmorItem(KQArmorMaterials.BOWSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject HORN_HELMET = ITEMS.register("horn_helmet", + () -> new GeoItemArmor(KQArmorMaterials.HORNSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/horn_helmet.png", "geo/horn_helmet.geo.json")); + public static final RegistryObject HORN_CHESTPLATE = ITEMS.register("horn_chestplate", + () -> new KQArmorItem(KQArmorMaterials.HORNSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject HORN_LEGGINGS = ITEMS.register("horn_leggings", + () -> new KQArmorItem(KQArmorMaterials.HORNSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject HORN_BOOTS = ITEMS.register("horn_boots", + () -> new KQArmorItem(KQArmorMaterials.HORNSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject CREEPER_HELMET = ITEMS.register("creeper_helmet", + () -> new KQArmorItem(KQArmorMaterials.CREEPERSET, ArmorItem.Type.HELMET,new Item.Properties())); + public static final RegistryObject CREEPER_CHESTPLATE = ITEMS.register("creeper_chestplate", + () -> new KQArmorItem(KQArmorMaterials.CREEPERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject CREEPER_LEGGINGS = ITEMS.register("creeper_leggings", + () -> new KQArmorItem(KQArmorMaterials.CREEPERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject CREEPER_BOOTS = ITEMS.register("creeper_boots", + () -> new KQArmorItem(KQArmorMaterials.CREEPERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject DEEPSLATE_HELMET = ITEMS.register("deepslate_helmet", + () -> new GeoItemArmor(KQArmorMaterials.DEEPSLATESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/deepslate_helmet.png", "geo/deepslate_helmet.geo.json")); + public static final RegistryObject DEEPSLATE_CHESTPLATE = ITEMS.register("deepslate_chestplate", + () -> new KQArmorItem(KQArmorMaterials.DEEPSLATESET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject DEEPSLATE_LEGGINGS = ITEMS.register("deepslate_leggings", + () -> new KQArmorItem(KQArmorMaterials.DEEPSLATESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject DEEPSLATE_BOOTS = ITEMS.register("deepslate_boots", + () -> new KQArmorItem(KQArmorMaterials.DEEPSLATESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject DRAGON_HELMET = ITEMS.register("dragon_helmet", + () -> new GeoItemArmor(KQArmorMaterials.DRAGONSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/dragon_helmet.png", "geo/dragon_helmet.geo.json")); + public static final RegistryObject DRAGON_CHESTPLATE = ITEMS.register("dragon_chestplate", + () -> new KQArmorItem(KQArmorMaterials.DRAGONSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject DRAGON_LEGGINGS = ITEMS.register("dragon_leggings", + () -> new KQArmorItem(KQArmorMaterials.DRAGONSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject DRAGON_BOOTS = ITEMS.register("dragon_boots", + () -> new KQArmorItem(KQArmorMaterials.DRAGONSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject ENDERMAN_HELMET = ITEMS.register("enderman_helmet", + () -> new GeoItemArmor(KQArmorMaterials.ENDERMANSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/enderman_helmet.png", "geo/enderman_helmet.geo.json")); + public static final RegistryObject ENDERMAN_CHESTPLATE = ITEMS.register("enderman_chestplate", + () -> new KQArmorItem(KQArmorMaterials.ENDERMANSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject ENDERMAN_LEGGINGS = ITEMS.register("enderman_leggings", + () -> new KQArmorItem(KQArmorMaterials.ENDERMANSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject ENDERMAN_BOOTS = ITEMS.register("enderman_boots", + () -> new KQArmorItem(KQArmorMaterials.ENDERMANSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject EVOKER_HELMET = ITEMS.register("evoker_helmet", + () -> new GeoItemArmor(KQArmorMaterials.EVOKERSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/evoker_helmet.png", "geo/evoker_helmet.geo.json")); + public static final RegistryObject EVOKER_CHESTPLATE = ITEMS.register("evoker_chestplate", + () -> new KQArmorItem(KQArmorMaterials.EVOKERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject EVOKER_LEGGINGS = ITEMS.register("evoker_leggings", + () -> new KQArmorItem(KQArmorMaterials.EVOKERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject EVOKER_BOOTS = ITEMS.register("evoker_boots", + () -> new KQArmorItem(KQArmorMaterials.EVOKERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject FORZE_HELMET = ITEMS.register("forze_helmet", + () -> new GeoItemArmor(KQArmorMaterials.FORZESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/forze_helmet.png", "geo/forze_helmet.geo.json")); + public static final RegistryObject FORZE_CHESTPLATE = ITEMS.register("forze_chestplate", + () -> new GeoItemArmor(KQArmorMaterials.FORZESET, ArmorItem.Type.CHESTPLATE,new Item.Properties() + , "textures/armor/forze_main.png", "geo/forze_main.geo.json")); + public static final RegistryObject FORZE_LEGGINGS = ITEMS.register("forze_leggings", + () -> new KQArmorItem(KQArmorMaterials.FORZESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject FORZE_BOOTS = ITEMS.register("forze_boots", + () -> new KQArmorItem(KQArmorMaterials.FORZESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject HOLLOW_HELMET = ITEMS.register("hollow_helmet", + () -> new GeoItemArmor(KQArmorMaterials.HOLLOWSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/hollow_helmet.png", "geo/hollow_helmet.geo.json")); + public static final RegistryObject HOLLOW_CHESTPLATE = ITEMS.register("hollow_chestplate", + () -> new KQArmorItem(KQArmorMaterials.HOLLOWSET, ArmorItem.Type.CHESTPLATE, new Item.Properties())); + public static final RegistryObject HOLLOW_LEGGINGS = ITEMS.register("hollow_leggings", + () -> new KQArmorItem(KQArmorMaterials.HOLLOWSET, ArmorItem.Type.LEGGINGS, new Item.Properties())); + public static final RegistryObject HOLLOW_BOOTS = ITEMS.register("hollow_boots", + () -> new KQArmorItem(KQArmorMaterials.HOLLOWSET, ArmorItem.Type.BOOTS, new Item.Properties())); + + public static final RegistryObject NETHER_HELMET = ITEMS.register("nether_helmet", + () -> new GeoItemArmor(KQArmorMaterials.NETHERSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/nether_helmet.png", "geo/nether_helmet.geo.json")); + public static final RegistryObject NETHER_CHESTPLATE = ITEMS.register("nether_chestplate", + () -> new KQArmorItem(KQArmorMaterials.NETHERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject NETHER_LEGGINGS = ITEMS.register("nether_leggings", + () -> new KQArmorItem(KQArmorMaterials.NETHERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject NETHER_BOOTS = ITEMS.register("nether_boots", + () -> new KQArmorItem(KQArmorMaterials.NETHERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject VETERAN_HELMET = ITEMS.register("veteran_helmet", + () -> new GeoItemArmor(KQArmorMaterials.VETERANSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/veteran_helmet.png", "geo/veteran_helmet.geo.json")); + public static final RegistryObject VETERAN_CHESTPLATE = ITEMS.register("veteran_chestplate", + () -> new GeoItemArmor(KQArmorMaterials.VETERANSET, ArmorItem.Type.CHESTPLATE,new Item.Properties() + , "textures/armor/veteran_main.png", "geo/veteran_main.geo.json")); + public static final RegistryObject VETERAN_LEGGINGS = ITEMS.register("veteran_leggings", + () -> new GeoItemArmor(KQArmorMaterials.VETERANSET, ArmorItem.Type.LEGGINGS,new Item.Properties() + , "textures/armor/veteran_leggings.png", "geo/veteran_leggings.geo.json")); + public static final RegistryObject VETERAN_BOOTS = ITEMS.register("veteran_boots", + () -> new KQArmorItem(KQArmorMaterials.VETERANSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject PATH_HELMET = ITEMS.register("path_helmet", + () -> new GeoItemArmor(KQArmorMaterials.PATHSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/path_helmet.png", "geo/path_helmet.geo.json")); + public static final RegistryObject PATH_CHESTPLATE = ITEMS.register("path_chestplate", + () -> new KQArmorItem(KQArmorMaterials.PATHSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject PATH_LEGGINGS = ITEMS.register("path_leggings", + () -> new KQArmorItem(KQArmorMaterials.PATHSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject PATH_BOOTS = ITEMS.register("path_boots", + () -> new KQArmorItem(KQArmorMaterials.PATHSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject PHANTOM_HELMET = ITEMS.register("phantom_helmet", + () -> new GeoItemArmor(KQArmorMaterials.PHANTOMSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/phantom_helmet.png", "geo/phantom_helmet.geo.json")); + public static final RegistryObject PHANTOM_CHESTPLATE = ITEMS.register("phantom_chestplate", + () -> new KQArmorItem(KQArmorMaterials.PHANTOMSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject PHANTOM_LEGGINGS = ITEMS.register("phantom_leggings", + () -> new KQArmorItem(KQArmorMaterials.PHANTOMSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject PHANTOM_BOOTS = ITEMS.register("phantom_boots", + () -> new KQArmorItem(KQArmorMaterials.PHANTOMSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SEA_HELMET = ITEMS.register("sea_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SEASET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/sea_helmet.png", "geo/sea_helmet.geo.json")); + public static final RegistryObject SEA_CHESTPLATE = ITEMS.register("sea_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SEASET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SEA_LEGGINGS = ITEMS.register("sea_leggings", + () -> new KQArmorItem(KQArmorMaterials.SEASET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SEA_BOOTS = ITEMS.register("sea_boots", + () -> new KQArmorItem(KQArmorMaterials.SEASET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SHIELD_HELMET = ITEMS.register("shield_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SHIELDSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/shield_helmet.png", "geo/shield_helmet.geo.json")); + public static final RegistryObject SHIELD_CHESTPLATE = ITEMS.register("shield_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SHIELDSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SHIELD_LEGGINGS = ITEMS.register("shield_leggings", + () -> new KQArmorItem(KQArmorMaterials.SHIELDSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SHIELD_BOOTS = ITEMS.register("shield_boots", + () -> new KQArmorItem(KQArmorMaterials.SHIELDSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SILVER_HELMET = ITEMS.register("silver_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SILVERSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/silver_helmet.png", "geo/silver_helmet.geo.json")); + public static final RegistryObject SILVER_CHESTPLATE = ITEMS.register("silver_chestplate", + () -> new GeoItemArmor(KQArmorMaterials.SILVERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties() + , "textures/armor/silver_main.png", "geo/silver_main.geo.json")); + public static final RegistryObject SILVER_LEGGINGS = ITEMS.register("silver_leggings", + () -> new KQArmorItem(KQArmorMaterials.SILVERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SILVER_BOOTS = ITEMS.register("silver_boots", + () -> new KQArmorItem(KQArmorMaterials.SILVERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SILVERFISH_HELMET = ITEMS.register("silverfish_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SILVERFISHSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/silverfish_helmet.png", "geo/silverfish_helmet.geo.json")); + public static final RegistryObject SILVERFISH_CHESTPLATE = ITEMS.register("silverfish_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SILVERFISHSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SILVERFISH_LEGGINGS = ITEMS.register("silverfish_leggings", + () -> new KQArmorItem(KQArmorMaterials.SILVERFISHSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SILVERFISH_BOOTS = ITEMS.register("silverfish_boots", + () -> new KQArmorItem(KQArmorMaterials.SILVERFISHSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SKELETON_HELMET = ITEMS.register("skeleton_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SKELETONSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/skeleton_helmet.png", "geo/skeleton_helmet.geo.json")); + public static final RegistryObject SKELETON_CHESTPLATE = ITEMS.register("skeleton_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SKELETONSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SKELETON_LEGGINGS = ITEMS.register("skeleton_leggings", + () -> new KQArmorItem(KQArmorMaterials.SKELETONSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SKELETON_BOOTS = ITEMS.register("skeleton_boots", + () -> new KQArmorItem(KQArmorMaterials.SKELETONSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SPIDER_HELMET = ITEMS.register("spider_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SPIDERSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/spider_helmet.png", "geo/spider_helmet.geo.json")); + public static final RegistryObject SPIDER_CHESTPLATE = ITEMS.register("spider_chestplate", + () -> new GeoItemArmor(KQArmorMaterials.SPIDERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties() + , "textures/armor/spider_main.png", "geo/spider_main.geo.json")); + public static final RegistryObject SPIDER_LEGGINGS = ITEMS.register("spider_leggings", + () -> new KQArmorItem(KQArmorMaterials.SPIDERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SPIDER_BOOTS = ITEMS.register("spider_boots", + () -> new KQArmorItem(KQArmorMaterials.SPIDERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject WARLORD_HELMET = ITEMS.register("warlord_helmet", + () -> new GeoItemArmor(KQArmorMaterials.WARLORDSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/warlord_helmet.png", "geo/warlord_helmet.geo.json")); + public static final RegistryObject WARLORD_CHESTPLATE = ITEMS.register("warlord_chestplate", + () -> new KQArmorItem(KQArmorMaterials.WARLORDSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject WARLORD_LEGGINGS = ITEMS.register("warlord_leggings", + () -> new KQArmorItem(KQArmorMaterials.WARLORDSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject WARLORD_BOOTS = ITEMS.register("warlord_boots", + () -> new KQArmorItem(KQArmorMaterials.WARLORDSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject STRAWHAT_HELMET = ITEMS.register("strawhat_helmet", + () -> new GeoItemArmor(KQArmorMaterials.STRAWHATSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/strawhat_helmet.png", "geo/strawhat_helmet.geo.json")); + public static final RegistryObject STRAWHAT_CHESTPLATE = ITEMS.register("strawhat_chestplate", + () -> new KQArmorItem(KQArmorMaterials.STRAWHATSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject STRAWHAT_LEGGINGS = ITEMS.register("strawhat_leggings", + () -> new KQArmorItem(KQArmorMaterials.STRAWHATSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject STRAWHAT_BOOTS = ITEMS.register("strawhat_boots", + () -> new KQArmorItem(KQArmorMaterials.STRAWHATSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject PIRATE_HELMET = ITEMS.register("pirate_helmet", + () -> new GeoItemArmor(KQArmorMaterials.PIRATESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/pirate_helmet.png", "geo/pirate_helmet.geo.json")); + public static final RegistryObject PIRATE2_HELMET = ITEMS.register("pirate2_helmet", + () -> new GeoItemArmor(KQArmorMaterials.PIRATESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/pirate2_helmet.png", "geo/pirate2_helmet.geo.json")); + public static final RegistryObject PIRATE3_HELMET = ITEMS.register("pirate3_helmet", + () -> new GeoItemArmor(KQArmorMaterials.PIRATESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/pirate3_helmet.png", "geo/pirate3_helmet.geo.json")); + public static final RegistryObject PIRATE_CHESTPLATE = ITEMS.register("pirate_chestplate", + () -> new KQArmorItem(KQArmorMaterials.PIRATESET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject PIRATE_LEGGINGS = ITEMS.register("pirate_leggings", + () -> new KQArmorItem(KQArmorMaterials.PIRATESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject PIRATE_BOOTS = ITEMS.register("pirate_boots", + () -> new KQArmorItem(KQArmorMaterials.PIRATESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject CONQUISTADOR_HELMET = ITEMS.register("conquistador_helmet", + () -> new GeoItemArmor(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/conquistador_helmet.png", "geo/conquistador_helmet.geo.json")); + public static final RegistryObject CONQUISTADOR2_HELMET = ITEMS.register("conquistador2_helmet", + () -> new GeoItemArmor(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/conquistador2_helmet.png", "geo/conquistador2_helmet.geo.json")); + public static final RegistryObject CONQUISTADOR3_HELMET = ITEMS.register("conquistador3_helmet", + () -> new GeoItemArmor(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/conquistador3_helmet.png", "geo/conquistador3_helmet.geo.json")); + public static final RegistryObject CONQUISTADOR_CHESTPLATE = ITEMS.register("conquistador_chestplate", + () -> new KQArmorItem(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject CONQUISTADOR_LEGGINGS = ITEMS.register("conquistador_leggings", + () -> new KQArmorItem(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject CONQUISTADOR_BOOTS = ITEMS.register("conquistador_boots", + () -> new KQArmorItem(KQArmorMaterials.CONQUISTADORSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject ZOMBIE_HELMET = ITEMS.register("zombie_helmet", + () -> new GeoItemArmor(KQArmorMaterials.ZOMBIESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/zombie_helmet.png", "geo/zombie_helmet.geo.json")); + public static final RegistryObject ZOMBIE_HELMET2 = ITEMS.register("zombie_helmet2", + () -> new GeoItemArmor(KQArmorMaterials.ZOMBIESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/zombie_helmet2.png", "geo/zombie_helmet2.geo.json")); + public static final RegistryObject ZOMBIE_CHESTPLATE = ITEMS.register("zombie_chestplate", + () -> new KQArmorItem(KQArmorMaterials.ZOMBIESET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject ZOMBIE_LEGGINGS = ITEMS.register("zombie_leggings", + () -> new KQArmorItem(KQArmorMaterials.ZOMBIESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject ZOMBIE_BOOTS = ITEMS.register("zombie_boots", + () -> new KQArmorItem(KQArmorMaterials.ZOMBIESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject HUSK_HELMET = ITEMS.register("husk_helmet", + () -> new GeoItemArmor(KQArmorMaterials.HUSKSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/husk_helmet.png", "geo/husk_helmet.geo.json")); + public static final RegistryObject HUSK_HELMET2 = ITEMS.register("husk_helmet2", + () -> new GeoItemArmor(KQArmorMaterials.HUSKSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/husk_helmet2.png", "geo/husk_helmet2.geo.json")); + public static final RegistryObject HUSK_HELMET3 = ITEMS.register("husk_helmet3", + () -> new GeoItemArmor(KQArmorMaterials.HUSKSET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/husk_helmet3.png", "geo/husk_helmet3.geo.json")); + public static final RegistryObject HUSK_CHESTPLATE = ITEMS.register("husk_chestplate", + () -> new KQArmorItem(KQArmorMaterials.HUSKSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject HUSK_LEGGINGS = ITEMS.register("husk_leggings", + () -> new KQArmorItem(KQArmorMaterials.HUSKSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject HUSK_BOOTS = ITEMS.register("husk_boots", + () -> new KQArmorItem(KQArmorMaterials.HUSKSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject WITHER_HELMET = ITEMS.register("wither_helmet", + () -> new KQArmorItem(KQArmorMaterials.WITHERSET, ArmorItem.Type.HELMET,new Item.Properties())); + public static final RegistryObject WITHER_CHESTPLATE = ITEMS.register("wither_chestplate", + () -> new KQArmorItem(KQArmorMaterials.WITHERSET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject WITHER_LEGGINGS = ITEMS.register("wither_leggings", + () -> new KQArmorItem(KQArmorMaterials.WITHERSET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject WITHER_BOOTS = ITEMS.register("wither_boots", + () -> new KQArmorItem(KQArmorMaterials.WITHERSET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SQUIRE_HELMET = ITEMS.register("squire_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SQUIRESET, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/squire_helmet.png", "geo/squire_helmet.geo.json") { + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest.squire_helmet")); + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + }); + public static final RegistryObject SQUIRE_CHESTPLATE = ITEMS.register("squire_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SQUIRESET, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SQUIRE_LEGGINGS = ITEMS.register("squire_leggings", + () -> new KQArmorItem(KQArmorMaterials.SQUIRESET, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SQUIRE_BOOTS = ITEMS.register("squire_boots", + () -> new KQArmorItem(KQArmorMaterials.SQUIRESET, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject CHAINMAIL_HELMET = ITEMS.register("chainmail_helmet", + () -> new ArmorItem(KQArmorMaterials.CHAINMAIL, ArmorItem.Type.HELMET,new Item.Properties())); + public static final RegistryObject CHAINMAIL_HELMET2 = ITEMS.register("chainmail_helmet2", + () -> new GeoItemArmor(KQArmorMaterials.CHAINMAIL, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/chainmail_helmet2.png", "geo/chainmail_helmet2.geo.json")); + public static final RegistryObject TUNIC_BLUE_LEGGINGS = ITEMS.register("tunic_blue_leggings", + () -> new ArmorItem(KQArmorMaterials.TUNIC_BLUE, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject TUNIC_GREEN_LEGGINGS = ITEMS.register("tunic_green_leggings", + () -> new ArmorItem(KQArmorMaterials.TUNIC_GREEN, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject TUNIC_YELLOW_LEGGINGS = ITEMS.register("tunic_yellow_leggings", + () -> new ArmorItem(KQArmorMaterials.TUNIC_YELLOW, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject TUNIC_RED_LEGGINGS = ITEMS.register("tunic_red_leggings", + () -> new ArmorItem(KQArmorMaterials.TUNIC_RED, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject TUNIC_SEA_LEGGINGS = ITEMS.register("tunic_sea_leggings", + () -> new ArmorItem(KQArmorMaterials.TUNIC_SEA, ArmorItem.Type.LEGGINGS,new Item.Properties())); + + public static final RegistryObject WITCH_HELMET = ITEMS.register("witch_helmet", + () -> new GeoItemArmor(KQArmorMaterials.WITCH, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/witch_helmet.png", "geo/witch_helmet.geo.json")); + public static final RegistryObject WITCH_CHESTPLATE = ITEMS.register("witch_chestplate", + () -> new KQArmorItem(KQArmorMaterials.WITCH, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject WITCH_LEGGINGS = ITEMS.register("witch_leggings", + () -> new KQArmorItem(KQArmorMaterials.WITCH, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject WITCH_BOOTS = ITEMS.register("witch_boots", + () -> new KQArmorItem(KQArmorMaterials.WITCH, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject POLAR_HELMET = ITEMS.register("polar_helmet", + () -> new GeoItemArmor(KQArmorMaterials.POLAR, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/polar_helmet.png", "geo/polar_helmet.geo.json")); + public static final RegistryObject POLAR_CHESTPLATE = ITEMS.register("polar_chestplate", + () -> new KQArmorItem(KQArmorMaterials.POLAR, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject POLAR_LEGGINGS = ITEMS.register("polar_leggings", + () -> new KQArmorItem(KQArmorMaterials.POLAR, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject POLAR_BOOTS = ITEMS.register("polar_boots", + () -> new KQArmorItem(KQArmorMaterials.POLAR, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SHINOBI_HELMET = ITEMS.register("shinobi_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SHINOBI, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/shinobi_helmet.png", "geo/shinobi_helmet.geo.json")); + public static final RegistryObject SHINOBI_CHESTPLATE = ITEMS.register("shinobi_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SHINOBI, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SHINOBI_LEGGINGS = ITEMS.register("shinobi_leggings", + () -> new KQArmorItem(KQArmorMaterials.SHINOBI, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SHINOBI_BOOTS = ITEMS.register("shinobi_boots", + () -> new KQArmorItem(KQArmorMaterials.SHINOBI, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject SKULK_HELMET = ITEMS.register("skulk_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SKULK, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/skulk_helmet.png", "geo/skulk_helmet.geo.json")); + public static final RegistryObject SKULK2_HELMET = ITEMS.register("skulk2_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SKULK, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/skulk2_helmet.png", "geo/skulk2_helmet.geo.json")); + public static final RegistryObject SKULK3_HELMET = ITEMS.register("skulk3_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SKULK, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/skulk3_helmet.png", "geo/skulk3_helmet.geo.json")); + public static final RegistryObject SKULK4_HELMET = ITEMS.register("skulk4_helmet", + () -> new GeoItemArmor(KQArmorMaterials.SKULK, ArmorItem.Type.HELMET,new Item.Properties() + , "textures/armor/skulk4_helmet.png", "geo/skulk4_helmet.geo.json")); + public static final RegistryObject SKULK_CHESTPLATE = ITEMS.register("skulk_chestplate", + () -> new KQArmorItem(KQArmorMaterials.SKULK, ArmorItem.Type.CHESTPLATE,new Item.Properties())); + public static final RegistryObject SKULK_LEGGINGS = ITEMS.register("skulk_leggings", + () -> new KQArmorItem(KQArmorMaterials.SKULK, ArmorItem.Type.LEGGINGS,new Item.Properties())); + public static final RegistryObject SKULK_BOOTS = ITEMS.register("skulk_boots", + () -> new KQArmorItem(KQArmorMaterials.SKULK, ArmorItem.Type.BOOTS,new Item.Properties())); + + public static final RegistryObject GREMLIN_EGG = ITEMS.register("gremlin_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.GREMLIN, 0xc22f26, 0x45545d, new Item.Properties())); + public static final RegistryObject ELD_BOMB_EGG = ITEMS.register("eldbomb_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.ELDBOMB, 0x43404e, 0x81da25, new Item.Properties())); + public static final RegistryObject ELD_KNIGHT_EGG = ITEMS.register("eldknight_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.ELDKINGHT, 0x7f8ab2, 0x8a392e, new Item.Properties())); + public static final RegistryObject RATMAN_EGG = ITEMS.register("ratman_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.RATMAN, 0x3a303d, 0xb75383, new Item.Properties())); + public static final RegistryObject SAMHAIN_EGG = ITEMS.register("samhain_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.SAMHAIN, 0xfdde03, 0x982938, new Item.Properties())); + public static final RegistryObject SWAMPMAN_EGG = ITEMS.register("swampman_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.SWAMPMAN, 0x108773, 0x9e304f, new Item.Properties())); + public static final RegistryObject LIZZY_EGG = ITEMS.register("lizzy_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.LIZZY, 0x0babf2, 0xd1802b, new Item.Properties())); + public static final RegistryObject BADPATCH_EGG = ITEMS.register("bad_patch_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.BADPATCH, 0xec160b, 0xeff1f8, new Item.Properties())); + public static final RegistryObject GHOSTY_EGG = ITEMS.register("ghosty_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.GHOSTY, 0x2cb87e, 0xfbe105, new Item.Properties())); + public static final RegistryObject MOMMA_LIZZY_EGG = ITEMS.register("momma_lizzy_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.MOMMA_LIZZY, 0x0babf2, 0x9f5b14, new Item.Properties())); + public static final RegistryObject GHASTLING_EGG = ITEMS.register("ghastling_spawn_egg", + () -> new ForgeSpawnEggItem(KnightQuestEntities.SHIELD, 0x930c13, 0xfb9600, new Item.Properties()){ + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + pTooltipComponents.add(Component.translatable("tooltip.item.knightquest.ghastling_spawn_egg")); + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + }); + +} diff --git a/src/main/java/net/xylonity/knightquest/registry/KnightQuestParticles.java b/src/main/java/net/xylonity/knightquest/registry/KnightQuestParticles.java new file mode 100644 index 00000000..fcf80dc0 --- /dev/null +++ b/src/main/java/net/xylonity/knightquest/registry/KnightQuestParticles.java @@ -0,0 +1,24 @@ +package net.xylonity.knightquest.registry; + +import net.minecraft.core.particles.ParticleType; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import net.xylonity.knightquest.KnightQuest; + +public class KnightQuestParticles { + + public static final DeferredRegister> PARTICLES = + DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, KnightQuest.MOD_ID); + + public static final RegistryObject STARSET_PARTICLE = + PARTICLES.register("starset", () -> new SimpleParticleType(true)); + public static final RegistryObject GREMLIN_PARTICLE = + PARTICLES.register("gremlin", () -> new SimpleParticleType(true)); + public static final RegistryObject YELLOW_PARTICLE = + PARTICLES.register("yellow", () -> new SimpleParticleType(true)); + public static final RegistryObject GHOSTY_PARTICLE = + PARTICLES.register("ghosty", () -> new SimpleParticleType(true)); + +} diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml new file mode 100644 index 00000000..ad4827fe --- /dev/null +++ b/src/main/resources/META-INF/mods.toml @@ -0,0 +1,70 @@ +# This is an example mods.toml file. It contains the data relating to the loading mods. +# There are several mandatory fields (#mandatory), and many more that are optional (#optional). +# The overall format is standard TOML format, v0.5.0. +# Note that there are a couple of TOML lists in this file. +# Find more information on toml format here: https://github.com/toml-lang/toml +# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml +modLoader="javafml" #mandatory +# A version range to match for said mod loader - for regular FML @Mod it will be the forge version +loaderVersion="${loader_version_range}" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. +# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. +# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. +license="${mod_license}" +# A URL to refer people to when problems occur with this mod +#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional +# A list of mods - how many allowed here is determined by the individual mod loader +[[mods]] #mandatory +# The modid of the mod +modId="${mod_id}" #mandatory +# The version number of the mod +version="${mod_version}" #mandatory +# A display name for the mod +displayName="${mod_name}" #mandatory +# A URL to query for updates for this mod. See the JSON update specification https://docs.minecraftforge.net/en/latest/misc/updatechecker/ +#updateJSONURL="https://change.me.example.invalid/updates.json" #optional +# A URL for the "homepage" for this mod, displayed in the mod UI +displayURL="https://www.curseforge.com/minecraft/mc-mods/knight-quest-reforged" #optional +# A file name (in the root of the mod JAR) containing a logo for display +logoFile="knightquest.png" #optional +# A text field displayed in the mod UI +#credits="" #optional +# A text field displayed in the mod UI +authors="${mod_authors}" #optional +# Display Test controls the display for your mod in the server connection screen +# MATCH_VERSION means that your mod will cause a red X if the versions on client and server differ. This is the default behaviour and should be what you choose if you have server and client elements to your mod. +# IGNORE_SERVER_VERSION means that your mod will not cause a red X if it's present on the server but not on the client. This is what you should use if you're a server only mod. +# IGNORE_ALL_VERSION means that your mod will not cause a red X if it's present on the client or the server. This is a special case and should only be used if your mod has no server component. +# NONE means that no display test is set on your mod. You need to do this yourself, see IExtensionPoint.DisplayTest for more information. You can define any scheme you wish with this value. +# IMPORTANT NOTE: this is NOT an instruction as to which environments (CLIENT or DEDICATED SERVER) your mod loads on. Your mod should load (and maybe do nothing!) whereever it finds itself. +#displayTest="MATCH_VERSION" # MATCH_VERSION is the default if nothing is specified (#optional) + +# The description text for the mod (multi line!) (#mandatory) +description='''${mod_description}''' +# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. +[[dependencies.${mod_id}]] #optional + # the modid of the dependency + modId="forge" #mandatory + # Does this dependency have to exist - if not, ordering below must be specified + mandatory=true #mandatory + # The version range of the dependency + versionRange="${forge_version_range}" #mandatory + # An ordering relationship for the dependency - BEFORE or AFTER required if the dependency is not mandatory + # BEFORE - This mod is loaded BEFORE the dependency + # AFTER - This mod is loaded AFTER the dependency + ordering="NONE" + # Side this dependency is applied on - BOTH, CLIENT, or SERVER + side="BOTH" +# Here's another dependency +[[dependencies.${mod_id}]] + modId="minecraft" + mandatory=true + # This version range declares a minimum of the current minecraft version up to but not including the next major version + versionRange="${minecraft_version_range}" + ordering="NONE" + side="BOTH" + +# Features are specific properties of the game environment, that you may want to declare you require. This example declares +# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't +# stop your mod loading on the server for example. +#[features.${mod_id}] +#openGLVersion="[3.2,)" \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/bad_patch.animation.json b/src/main/resources/assets/knightquest/animations/bad_patch.animation.json new file mode 100644 index 00000000..c077473b --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/bad_patch.animation.json @@ -0,0 +1,274 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.0417, + "bones": { + "BodyGen": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1.05, 1, 1.02] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + }, + "body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [0.96, 1, 1] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + } + } + }, + "attack": { + "animation_length": 0.4167, + "bones": { + "BodyGen": { + "rotation": { + "0.0833": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [32.5, 0, 0] + }, + "0.25": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 8, 0] + }, + "0.1667": { + "vector": [0, 8, 0] + }, + "0.25": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.0417": { + "vector": [1, 0.8, 1] + }, + "0.0833": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1, 1] + }, + "0.2917": { + "vector": [1, 0.8, 1] + }, + "0.375": { + "vector": [1, 1, 1] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.5, + "bones": { + "BodyGen": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + }, + "legleft": { + "rotation": { + "0.0": { + "vector": [35, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-35, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [35, 0, 0] + } + } + }, + "legright": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [35, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-35, 0, 0] + } + } + } + } + }, + "death": { + "animation_length": 0.9583, + "bones": { + "BodyGen": { + "rotation": { + "0.0": { + "vector": [-30, 0, 0] + }, + "0.1667": { + "vector": [-30, 0, 0] + }, + "0.3333": { + "vector": [-30, 0, 0] + }, + "0.5": { + "vector": [-30, 0, 0] + }, + "0.625": { + "vector": [-30, 0, 0] + }, + "0.7917": { + "vector": [-30, 0, 0] + }, + "0.9583": { + "vector": [-30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, -1, 0] + }, + "0.3333": { + "vector": [0, -4, 0] + }, + "0.5": { + "vector": [0, -1, 0] + }, + "0.5833": { + "vector": [0, -4, 0] + } + } + }, + "armleft": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [-6, 0, 0] + } + } + }, + "armright": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [6, 0, 0] + } + } + }, + "legleft": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [-1, 4, 0] + } + } + }, + "legright": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [1, 3, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/eldbomb.animation.json b/src/main/resources/assets/knightquest/animations/eldbomb.animation.json new file mode 100644 index 00000000..4481a20d --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/eldbomb.animation.json @@ -0,0 +1,407 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 0.48, + "bones": { + "Body": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.08": { + "vector": [0, -0.5, 0] + }, + "0.16": { + "vector": [0, 0, 0] + } + } + }, + "RightLeg": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.08": { + "vector": [0, 0.5, 0] + }, + "0.16": { + "vector": [0, 0, 0] + } + } + }, + "LeftLeg": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.08": { + "vector": [0, 0.5, 0] + }, + "0.16": { + "vector": [0, 0, 0] + } + } + }, + "armtop": { + "rotation": { + "0.0": { + "vector": [0, 0, -10] + }, + "0.24": { + "vector": [0, 0, 10], + "easing": "easeInOutSine" + }, + "0.48": { + "vector": [0, 0, -10], + "easing": "easeInOutSine" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.48, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [-20, 0, 0] + }, + "0.12": { + "vector": [-19.98247, 0.85481, 2.34941] + }, + "0.24": { + "vector": [-20, 0, 0] + }, + "0.36": { + "vector": [-19.98247, -0.85481, -2.34941] + }, + "0.48": { + "vector": [-20, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.12": { + "vector": [0, 1, 0], + "easing": "step" + }, + "0.24": { + "vector": [0, 0, 0], + "easing": "step" + }, + "0.36": { + "vector": [0, 1, 0], + "easing": "step" + }, + "0.48": { + "vector": [0, 0, 0], + "easing": "step" + } + }, + "scale": { + "0.0": { + "vector": [1, 0.95, 1] + }, + "0.12": { + "vector": [1, 1.02, 1] + }, + "0.24": { + "vector": [1, 0.95, 1] + }, + "0.36": { + "vector": [1, 1.02, 1] + }, + "0.48": { + "vector": [1, 0.95, 1] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.12": { + "vector": [-40, 0, 0], + "easing": "easeInSine" + }, + "0.24": { + "vector": [20, 0, 0] + }, + "0.36": { + "vector": [50, 0, 0] + }, + "0.48": { + "vector": [20, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.12": { + "vector": [50, 0, 0] + }, + "0.24": { + "vector": [20, 0, 0] + }, + "0.36": { + "vector": [-40, 0, 0], + "easing": "easeInSine" + }, + "0.48": { + "vector": [20, 0, 0] + } + } + }, + "armtop": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.12": { + "vector": [-19.9299, -1.70818, -4.69986] + }, + "0.24": { + "vector": [-15, 0, 0] + }, + "0.36": { + "vector": [-19.9299, 1.70818, 4.69986] + }, + "0.48": { + "vector": [-15, 0, 0] + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 0.48, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [-20, 0, 0] + }, + "0.12": { + "vector": [-19.98247, 0.85481, 2.34941] + }, + "0.24": { + "vector": [-20, 0, 0] + }, + "0.36": { + "vector": [-19.98247, -0.85481, -2.34941] + }, + "0.48": { + "vector": [-20, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.12": { + "vector": [0, 1, 0], + "easing": "step" + }, + "0.24": { + "vector": [0, 0, 0], + "easing": "step" + }, + "0.36": { + "vector": [0, 1, 0], + "easing": "step" + }, + "0.48": { + "vector": [0, 0, 0], + "easing": "step" + } + }, + "scale": { + "0.0": { + "vector": [1, 0.95, 1] + }, + "0.12": { + "vector": [1, 1.02, 1] + }, + "0.24": { + "vector": [1, 0.95, 1] + }, + "0.36": { + "vector": [1, 1.02, 1] + }, + "0.48": { + "vector": [1, 0.95, 1] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.12": { + "vector": [-40, 0, 0], + "easing": "easeInSine" + }, + "0.24": { + "vector": [20, 0, 0] + }, + "0.36": { + "vector": [50, 0, 0] + }, + "0.48": { + "vector": [20, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.12": { + "vector": [50, 0, 0] + }, + "0.24": { + "vector": [20, 0, 0] + }, + "0.36": { + "vector": [-40, 0, 0], + "easing": "easeInSine" + }, + "0.48": { + "vector": [20, 0, 0] + } + } + }, + "armtop": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.12": { + "vector": [-19.9299, -1.70818, -4.69986] + }, + "0.24": { + "vector": [-15, 0, 0] + }, + "0.36": { + "vector": [-19.9299, 1.70818, 4.69986] + }, + "0.48": { + "vector": [-15, 0, 0] + } + } + } + } + }, + "sneak": { + "loop": true, + "animation_length": 0.64, + "bones": { + "Body": { + "rotation": { + "vector": [40, 0, 0] + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.08": { + "vector": [0, 1, 0] + }, + "0.16": { + "vector": [0, 0, 0] + }, + "0.24": { + "vector": [0, 1, 0] + }, + "0.32": { + "vector": [0, 0, 0] + }, + "0.4": { + "vector": [0, 1, 0] + }, + "0.48": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [0, 1, 0] + }, + "0.64": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.08": { + "vector": [1.2, 1.2, 1.2] + }, + "0.16": { + "vector": [1, 1, 1] + }, + "0.24": { + "vector": [1.2, 1.2, 1.2] + }, + "0.32": { + "vector": [1, 1, 1] + }, + "0.4": { + "vector": [1.2, 1.2, 1.2] + }, + "0.48": { + "vector": [1, 1, 1] + }, + "0.56": { + "vector": [1.2, 1.2, 1.2] + }, + "0.64": { + "vector": [1, 1, 1] + } + } + }, + "RightLeg": { + "rotation": { + "vector": [-40, 0, 0] + } + }, + "LeftLeg": { + "rotation": { + "vector": [-40, 0, 0] + } + }, + "armtop": { + "rotation": { + "vector": [-35, 0, 0] + } + }, + "bone": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.28": { + "vector": [4, 4, 4] + }, + "0.64": { + "vector": [1, 1, 1] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/eldknight.animation.json b/src/main/resources/assets/knightquest/animations/eldknight.animation.json new file mode 100644 index 00000000..ba07a5ae --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/eldknight.animation.json @@ -0,0 +1,706 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 2.08, + "bones": { + "body": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, -0.1, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + } + }, + "legleft": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, 0.1, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + } + }, + "armright": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0.10912, 2.49762, 2.50238] + }, + "2.08": { + "vector": [0, 0, 0] + } + } + }, + "legright": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, 0.1, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + } + }, + "armleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [2.5, -2.5, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + } + } + } + }, + "attack": { + "animation_length": 2.08, + "bones": { + "head": { + "position": { + "0.6": { + "vector": [0, 0, 0] + }, + "0.64": { + "vector": [0, -1, 0] + }, + "0.68": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, 0, 0] + }, + "1.68": { + "vector": [0, -1, 0] + }, + "1.72": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, -2.5] + }, + "0.52": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "1.04": { + "vector": [0, 0, 2.5], + "easing": "easeInSine" + }, + "1.56": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "2.08": { + "vector": [0, 0, -2.5], + "easing": "easeInSine" + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [0, -0.4, 0] + }, + "0.6": { + "vector": [0, 0.24, 0] + }, + "1.04": { + "vector": [0, 1, 0] + }, + "1.56": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, -0.4, 0] + }, + "1.64": { + "vector": [0, 0.24, 0] + }, + "2.08": { + "vector": [0, 1, 0] + } + } + }, + "legleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [-2.5, 0, 0] + }, + "1.56": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, -1, 1] + }, + "0.52": { + "vector": [0, 0, 2] + }, + "1.04": { + "vector": [0, 1, -1] + }, + "1.56": { + "vector": [0, 0, -2] + }, + "2.08": { + "vector": [0, -1, 1] + } + } + }, + "armright": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "2.08": { + "vector": [-1800, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -2, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -2, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1.2, 1] + } + }, + "legright": { + "rotation": { + "0.0": { + "vector": [-2.5, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "2.08": { + "vector": [-2.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 1, -1] + }, + "0.52": { + "vector": [0, 0, -2] + }, + "1.04": { + "vector": [0, -1, 1] + }, + "1.56": { + "vector": [0, 0, 2] + }, + "2.08": { + "vector": [0, 1, -1] + } + } + }, + "armleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, -5, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -1, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -1, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 2.08, + "bones": { + "head": { + "position": { + "0.6": { + "vector": [0, 0, 0] + }, + "0.64": { + "vector": [0, -1, 0] + }, + "0.68": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, 0, 0] + }, + "1.68": { + "vector": [0, -1, 0] + }, + "1.72": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, -2.5] + }, + "0.52": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "1.04": { + "vector": [0, 0, 2.5], + "easing": "easeInSine" + }, + "1.56": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "2.08": { + "vector": [0, 0, -2.5], + "easing": "easeInSine" + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [0, -0.4, 0] + }, + "0.6": { + "vector": [0, 0.24, 0] + }, + "1.04": { + "vector": [0, 1, 0] + }, + "1.56": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, -0.4, 0] + }, + "1.64": { + "vector": [0, 0.24, 0] + }, + "2.08": { + "vector": [0, 1, 0] + } + } + }, + "legleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [-2.5, 0, 0] + }, + "1.56": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, -1, 1] + }, + "0.52": { + "vector": [0, 0, 2] + }, + "1.04": { + "vector": [0, 1, -1] + }, + "1.56": { + "vector": [0, 0, -2] + }, + "2.08": { + "vector": [0, -1, 1] + } + } + }, + "armright": { + "rotation": { + "0.0": { + "vector": [7.5, 0, 0] + }, + "0.52": { + "vector": [10, 0, 0] + }, + "1.04": { + "vector": [-2.5, 0, 0] + }, + "1.56": { + "vector": [-7.5, 0, 0] + }, + "2.08": { + "vector": [7.5, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -2, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -2, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + } + }, + "legright": { + "rotation": { + "0.0": { + "vector": [-2.5, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "2.08": { + "vector": [-2.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 1, -1] + }, + "0.52": { + "vector": [0, 0, -2] + }, + "1.04": { + "vector": [0, -1, 1] + }, + "1.56": { + "vector": [0, 0, 2] + }, + "2.08": { + "vector": [0, 1, -1] + } + } + }, + "armleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, -5, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -1, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -1, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 2.08, + "bones": { + "head": { + "position": { + "0.6": { + "vector": [0, 0, 0] + }, + "0.64": { + "vector": [0, -1, 0] + }, + "0.68": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, 0, 0] + }, + "1.68": { + "vector": [0, -1, 0] + }, + "1.72": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, -2.5] + }, + "0.52": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "1.04": { + "vector": [0, 0, 2.5], + "easing": "easeInSine" + }, + "1.56": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "2.08": { + "vector": [0, 0, -2.5], + "easing": "easeInSine" + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [0, -0.4, 0] + }, + "0.6": { + "vector": [0, 0.24, 0] + }, + "1.04": { + "vector": [0, 1, 0] + }, + "1.56": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, -0.4, 0] + }, + "1.64": { + "vector": [0, 0.24, 0] + }, + "2.08": { + "vector": [0, 1, 0] + } + } + }, + "legleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [-2.5, 0, 0] + }, + "1.56": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, -1, 1] + }, + "0.52": { + "vector": [0, 0, 2] + }, + "1.04": { + "vector": [0, 1, -1] + }, + "1.56": { + "vector": [0, 0, -2] + }, + "2.08": { + "vector": [0, -1, 1] + } + } + }, + "armright": { + "rotation": { + "0.0": { + "vector": [7.5, 0, 0] + }, + "0.52": { + "vector": [10, 0, 0] + }, + "1.04": { + "vector": [-2.5, 0, 0] + }, + "1.56": { + "vector": [-7.5, 0, 0] + }, + "2.08": { + "vector": [7.5, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -2, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -2, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + } + }, + "legright": { + "rotation": { + "0.0": { + "vector": [-2.5, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0] + }, + "2.08": { + "vector": [-2.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 1, -1] + }, + "0.52": { + "vector": [0, 0, -2] + }, + "1.04": { + "vector": [0, -1, 1] + }, + "1.56": { + "vector": [0, 0, 2] + }, + "2.08": { + "vector": [0, 1, -1] + } + } + }, + "armleft": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.04": { + "vector": [0, -5, 0] + }, + "2.08": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "0.6": { + "vector": [0, -1, 0] + }, + "0.64": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + }, + "1.64": { + "vector": [0, -1, 0] + }, + "1.68": { + "vector": [0, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/gremlin.animation.json b/src/main/resources/assets/knightquest/animations/gremlin.animation.json new file mode 100644 index 00000000..a0673ad9 --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/gremlin.animation.json @@ -0,0 +1,694 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.04, + "bones": { + "head": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [0.96, 1, 1] + }, + "1.04": { + "vector": [1, 1, 1] + } + } + }, + "Body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [1.05, 1, 1.02] + }, + "1.04": { + "vector": [1, 1, 1] + } + } + }, + "RightArm": { + "rotation": { + "vector": [0, 0, 12.5] + } + }, + "LeftArm": { + "rotation": { + "vector": [0, 0, -12.5] + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.47, + "bones": { + "head": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [0, -0.4, 0] + }, + "0.2": { + "vector": [0, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.4": { + "vector": [0, -0.4, 0] + }, + "0.44": { + "vector": [0, 0, 0] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.12": { + "vector": [-5, 0, 0] + }, + "0.24": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.36": { + "vector": [-5, 0, 0] + }, + "0.48": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.12": { + "vector": [0, -0.1, 0] + }, + "0.24": { + "vector": [0, 1, 0] + }, + "0.36": { + "vector": [0, -0.1, 0] + }, + "0.48": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.12": { + "vector": [1, 1, 1] + }, + "0.24": { + "vector": [1, 1.05, 1] + }, + "0.36": { + "vector": [1, 1, 1] + }, + "0.48": { + "vector": [1, 1.05, 1] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 45] + }, + "0.12": { + "vector": [0, 0, 40] + }, + "0.24": { + "vector": [0, 0, 45] + }, + "0.36": { + "vector": [0, 0, 40] + }, + "0.48": { + "vector": [0, 0, 45] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, -45] + }, + "0.12": { + "vector": [0, 0, -40] + }, + "0.24": { + "vector": [0, 0, -45] + }, + "0.36": { + "vector": [0, 0, -40] + }, + "0.48": { + "vector": [0, 0, -45] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.24": { + "vector": [35, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [-35, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [35, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.24": { + "vector": [-35, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 0.48, + "bones": { + "head": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [0, -0.4, 0] + }, + "0.2": { + "vector": [0, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.4": { + "vector": [0, -0.4, 0] + }, + "0.44": { + "vector": [0, 0, 0] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.12": { + "vector": [-5, 0, 0] + }, + "0.24": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.36": { + "vector": [-5, 0, 0] + }, + "0.48": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.12": { + "vector": [0, -0.1, 0] + }, + "0.24": { + "vector": [0, 1, 0] + }, + "0.36": { + "vector": [0, -0.1, 0] + }, + "0.48": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.12": { + "vector": [1, 1, 1] + }, + "0.24": { + "vector": [1, 1.05, 1] + }, + "0.36": { + "vector": [1, 1, 1] + }, + "0.48": { + "vector": [1, 1.05, 1] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 45] + }, + "0.12": { + "vector": [0, 0, 40] + }, + "0.24": { + "vector": [0, 0, 45] + }, + "0.36": { + "vector": [0, 0, 40] + }, + "0.48": { + "vector": [0, 0, 45] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, -45] + }, + "0.12": { + "vector": [0, 0, -40] + }, + "0.24": { + "vector": [0, 0, -45] + }, + "0.36": { + "vector": [0, 0, -40] + }, + "0.48": { + "vector": [0, 0, -45] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.24": { + "vector": [35, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [-35, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [35, 0, 0] + }, + "0.12": { + "vector": [0, 0, 0] + }, + "0.24": { + "vector": [-35, 0, 0] + }, + "0.36": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + } + } + } + } + }, + "attack": { + "animation_length": 0.24, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.04": { + "vector": [32.5, 0, 0] + }, + "0.24": { + "vector": [0, 0, 0] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 12.5] + }, + "0.04": { + "vector": [-105, 0, 0] + }, + "0.24": { + "vector": [0, 0, 12.5] + } + } + }, + "rightItem": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.04": { + "vector": [52.5, 0, 0] + }, + "0.24": { + "vector": [0, 0, 0] + } + } + }, + "LeftArm": { + "rotation": { + "vector": [0, 0, -12.5] + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.04": { + "vector": [-50, 0, 0] + }, + "0.24": { + "vector": [0, 0, 0] + } + } + } + } + }, + "death": { + "animation_length": 0.96, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [45, 0, 0] + }, + "0.08": { + "vector": [42.5, 0, 0] + }, + "0.16": { + "vector": [45, 0, 0] + }, + "0.24": { + "vector": [42.5, 0, 0] + }, + "0.32": { + "vector": [45, 0, 0] + }, + "0.4": { + "vector": [42.5, 0, 0] + }, + "0.48": { + "vector": [45, 0, 0] + }, + "0.56": { + "vector": [42.5, 0, 0] + }, + "0.64": { + "vector": [45, 0, 0] + }, + "0.72": { + "vector": [42.5, 0, 0] + }, + "0.8": { + "vector": [45, 0, 0] + }, + "0.88": { + "vector": [42.5, 0, 0] + }, + "0.96": { + "vector": [45, 0, 0] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [-30, 0, 0] + }, + "0.16": { + "vector": [-30, 0, 0] + }, + "0.32": { + "vector": [-30, 0, 0] + }, + "0.48": { + "vector": [-30, 0, 0] + }, + "0.64": { + "vector": [-30, 0, 0] + }, + "0.8": { + "vector": [-30, 0, 0] + }, + "0.96": { + "vector": [-30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [0, -1, 0] + }, + "0.32": { + "vector": [0, -4, 0] + }, + "0.48": { + "vector": [0, -1, 0], + "easing": "easeInOutSine" + }, + "0.6": { + "vector": [0, -4, 0], + "easing": "easeInOutSine" + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.08": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.16": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.24": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.32": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.4": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.48": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.56": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.64": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.72": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.8": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.88": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.96": { + "vector": [-39.75778, 4.81281, 5.7589] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.08": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.16": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.24": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.32": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.4": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.48": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.56": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.64": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.72": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.8": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.88": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.96": { + "vector": [-55.86446, -16.76559, -11.06517] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-65, 0, 0] + }, + "0.08": { + "vector": [-67.5, 0, 0] + }, + "0.16": { + "vector": [-65, 0, 0] + }, + "0.24": { + "vector": [-67.5, 0, 0] + }, + "0.32": { + "vector": [-65, 0, 0] + }, + "0.4": { + "vector": [-67.5, 0, 0] + }, + "0.48": { + "vector": [-65, 0, 0] + }, + "0.56": { + "vector": [-67.5, 0, 0] + }, + "0.64": { + "vector": [-65, 0, 0] + }, + "0.72": { + "vector": [-67.5, 0, 0] + }, + "0.8": { + "vector": [-65, 0, 0] + }, + "0.88": { + "vector": [-67.5, 0, 0] + }, + "0.96": { + "vector": [-65, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [-47.5, 0, 0] + }, + "0.08": { + "vector": [-42.5, 0, 0] + }, + "0.16": { + "vector": [-47.5, 0, 0] + }, + "0.24": { + "vector": [-42.5, 0, 0] + }, + "0.32": { + "vector": [-47.5, 0, 0] + }, + "0.4": { + "vector": [-42.5, 0, 0] + }, + "0.48": { + "vector": [-47.5, 0, 0] + }, + "0.56": { + "vector": [-42.5, 0, 0] + }, + "0.64": { + "vector": [-47.5, 0, 0] + }, + "0.72": { + "vector": [-42.5, 0, 0] + }, + "0.8": { + "vector": [-47.5, 0, 0] + }, + "0.88": { + "vector": [-42.5, 0, 0] + }, + "0.96": { + "vector": [-47.5, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/helmet.animation.json b/src/main/resources/assets/knightquest/animations/helmet.animation.json new file mode 100644 index 00000000..5278b6d8 --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/helmet.animation.json @@ -0,0 +1,9 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/lizzy.animation.json b/src/main/resources/assets/knightquest/animations/lizzy.animation.json new file mode 100644 index 00000000..6c3828b9 --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/lizzy.animation.json @@ -0,0 +1,760 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.04167, + "bones": { + "BodyGen": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1.05, 1, 1.02] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.54167, + "bones": { + "tail": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-20, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [20, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "vector": [25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [25, 0, 0] + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "vector": [-25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-25, 0, 0] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [-25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-25, 0, 0] + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [25, 0, 0] + } + } + }, + "head": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + } + } + }, + "death": { + "animation_length": 0.95833, + "bones": { + "BodyGen": { + "rotation": { + "0.0": { + "vector": [-30, 0, 0] + }, + "0.1667": { + "vector": [-30, 0, 0] + }, + "0.3333": { + "vector": [-30, 0, 0] + }, + "0.5": { + "vector": [-30, 0, 0] + }, + "0.625": { + "vector": [-30, 0, 0] + }, + "0.7917": { + "vector": [-30, 0, 0] + }, + "0.9583": { + "vector": [-30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2, 0] + }, + "0.1667": { + "vector": [0, 1, 0] + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 2, 0] + }, + "0.5833": { + "vector": [0, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [47.5, 0, 0] + }, + "0.0833": { + "vector": [50, 0, 0] + }, + "0.1667": { + "vector": [47.5, 0, 0] + }, + "0.25": { + "vector": [50, 0, 0] + }, + "0.3333": { + "vector": [47.5, 0, 0] + }, + "0.4167": { + "vector": [50, 0, 0] + }, + "0.5": { + "vector": [47.5, 0, 0] + }, + "0.5833": { + "vector": [50, 0, 0] + }, + "0.6667": { + "vector": [47.5, 0, 0] + }, + "0.75": { + "vector": [50, 0, 0] + }, + "0.8333": { + "vector": [47.5, 0, 0] + }, + "0.9167": { + "vector": [50, 0, 0] + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "vector": [0, 0, -37.5] + }, + "0.0833": { + "vector": [0, 0, -27.5] + }, + "0.1667": { + "vector": [0, 0, -37.5] + }, + "0.25": { + "vector": [0, 0, -27.5] + }, + "0.3333": { + "vector": [0, 0, -37.5] + }, + "0.4167": { + "vector": [0, 0, -27.5] + }, + "0.5": { + "vector": [0, 0, -37.5] + }, + "0.5833": { + "vector": [0, 0, -27.5] + }, + "0.6667": { + "vector": [0, 0, -37.5] + }, + "0.75": { + "vector": [0, 0, -27.5] + }, + "0.8333": { + "vector": [0, 0, -37.5] + }, + "0.9167": { + "vector": [0, 0, -27.5] + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "vector": [0, 0, 32.5] + }, + "0.0833": { + "vector": [0, 0, 25] + }, + "0.1667": { + "vector": [0, 0, 32.5] + }, + "0.25": { + "vector": [0, 0, 25] + }, + "0.3333": { + "vector": [0, 0, 32.5] + }, + "0.4167": { + "vector": [0, 0, 25] + }, + "0.5": { + "vector": [0, 0, 32.5] + }, + "0.5833": { + "vector": [0, 0, 25] + }, + "0.6667": { + "vector": [0, 0, 32.5] + }, + "0.75": { + "vector": [0, 0, 25] + }, + "0.8333": { + "vector": [0, 0, 32.5] + }, + "0.9167": { + "vector": [0, 0, 25] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [0, 0, 32.5] + }, + "0.0833": { + "vector": [0, 0, 25] + }, + "0.1667": { + "vector": [0, 0, 32.5] + }, + "0.25": { + "vector": [0, 0, 25] + }, + "0.3333": { + "vector": [0, 0, 32.5] + }, + "0.4167": { + "vector": [0, 0, 25] + }, + "0.5": { + "vector": [0, 0, 32.5] + }, + "0.5833": { + "vector": [0, 0, 25] + }, + "0.6667": { + "vector": [0, 0, 32.5] + }, + "0.75": { + "vector": [0, 0, 25] + }, + "0.8333": { + "vector": [0, 0, 32.5] + }, + "0.9167": { + "vector": [0, 0, 25] + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [0, 0, -37.5] + }, + "0.0833": { + "vector": [0, 0, -27.5] + }, + "0.1667": { + "vector": [0, 0, -37.5] + }, + "0.25": { + "vector": [0, 0, -27.5] + }, + "0.3333": { + "vector": [0, 0, -37.5] + }, + "0.4167": { + "vector": [0, 0, -27.5] + }, + "0.5": { + "vector": [0, 0, -37.5] + }, + "0.5833": { + "vector": [0, 0, -27.5] + }, + "0.6667": { + "vector": [0, 0, -37.5] + }, + "0.75": { + "vector": [0, 0, -27.5] + }, + "0.8333": { + "vector": [0, 0, -37.5] + }, + "0.9167": { + "vector": [0, 0, -27.5] + } + } + }, + "head": { + "rotation": { + "0.0": { + "vector": [22.5, 0, 0] + }, + "0.0833": { + "vector": [17.5, 0, 0] + }, + "0.1667": { + "vector": [22.5, 0, 0] + }, + "0.25": { + "vector": [17.5, 0, 0] + }, + "0.3333": { + "vector": [22.5, 0, 0] + }, + "0.4167": { + "vector": [17.5, 0, 0] + }, + "0.5": { + "vector": [22.5, 0, 0] + }, + "0.5833": { + "vector": [17.5, 0, 0] + }, + "0.6667": { + "vector": [22.5, 0, 0] + }, + "0.75": { + "vector": [17.5, 0, 0] + }, + "0.8333": { + "vector": [22.5, 0, 0] + }, + "0.9167": { + "vector": [17.5, 0, 0] + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 0.54167, + "bones": { + "tail": { + "rotation": { + "0.0": { + "vector": [20, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-20, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [20, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "vector": [25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [25, 0, 0] + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "vector": [-25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-25, 0, 0] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [-25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-25, 0, 0] + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [25, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-25, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [25, 0, 0] + } + } + }, + "head": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/momma_lizzy.animation.json b/src/main/resources/assets/knightquest/animations/momma_lizzy.animation.json new file mode 100644 index 00000000..1eba2193 --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/momma_lizzy.animation.json @@ -0,0 +1,298 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.0417, + "bones": { + "head": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [0.96, 1, 1] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + }, + "Body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1.05, 1, 1.02] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + }, + "tail": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5417": { + "vector": [0.96, 1, 1] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.5, + "bones": { + "left_arm": { + "rotation": { + "0.0": { + "vector": [15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [15, 0, 0] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-15, 0, 0] + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-15, 0, 0] + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "vector": [15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [15, 0, 0] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [0, 0, -2.4905] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, 0.21782, 2.4905] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + }, + "left_arm3": { + "rotation": { + "0.0": { + "vector": [15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [15, 0, 0] + } + } + }, + "right_arm3": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [15, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-15, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [8, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + } + } + } + } + }, + "hide": { + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, -10, 0] + }, + "0.625": { + "vector": [0, 10, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 10, 0] + }, + "0.6667": { + "vector": [0, -10, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -10, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 15, 0] + }, + "0.625": { + "vector": [0, -15, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/ratman.animation.json b/src/main/resources/assets/knightquest/animations/ratman.animation.json new file mode 100644 index 00000000..4e3c852e --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/ratman.animation.json @@ -0,0 +1,517 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.16, + "bones": { + "Body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.28": { + "vector": [1.02, 1, 1.02] + }, + "0.6": { + "vector": [1, 1, 1] + }, + "0.88": { + "vector": [1.02, 1, 1.02] + }, + "1.16": { + "vector": [1, 1, 1] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.28": { + "vector": [0, 0, -2.5] + }, + "0.6": { + "vector": [0, 0, 0] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 1.02] + }, + "0.28": { + "vector": [0, 0, 2.5] + }, + "0.6": { + "vector": [0, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [0, 15, 0] + }, + "0.6": { + "vector": [0, -15, 0], + "easing": "easeInOutSine" + }, + "1.16": { + "vector": [0, 15, 0], + "easing": "easeInOutSine" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.64, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.64": { + "vector": [-35, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0.5, 1] + }, + "0.12": { + "vector": [0, -1.5, -1] + }, + "0.24": { + "vector": [0, 1, 0.2] + }, + "0.32": { + "vector": [0, 1, 1] + }, + "0.44": { + "vector": [0, -1.5, -1] + }, + "0.56": { + "vector": [0, 0.7, 0.2] + }, + "0.64": { + "vector": [0, 0.5, 1] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [30, 0, 0] + }, + "0.16": { + "vector": [52.5, 0, 0] + }, + "0.32": { + "vector": [30, 0, 0] + }, + "0.48": { + "vector": [52.5, 0, 0] + }, + "0.64": { + "vector": [30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [0, 4, 0] + }, + "0.32": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [0, 4, 0] + }, + "0.64": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.1, 1] + }, + "0.24": { + "vector": [1.1, 1, 1] + }, + "0.32": { + "vector": [1, 1.1, 1] + }, + "0.56": { + "vector": [1.1, 1, 1] + }, + "0.64": { + "vector": [1, 1.1, 1] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [-55.6061, 27.73062, 12.6685] + }, + "0.16": { + "vector": [0, 0, 5] + }, + "0.24": { + "vector": [-39.02504, -9.57658, -16.59948] + }, + "0.32": { + "vector": [-55.6061, 27.73062, 12.6685] + }, + "0.48": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [-39.02504, -9.57658, -16.59948] + }, + "0.64": { + "vector": [-55.6061, 27.73062, 12.6685] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.64": { + "vector": [-35, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [-50, 0, 0] + }, + "0.16": { + "vector": [35, 0, 0] + }, + "0.24": { + "vector": [-9.04709, -6.28324, -34.5024] + }, + "0.32": { + "vector": [-50, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + }, + "0.56": { + "vector": [-9.04709, -6.28324, -34.5024] + }, + "0.64": { + "vector": [-50, 0, 0] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-50, 0, 0] + }, + "0.16": { + "vector": [35, 0, 0] + }, + "0.24": { + "vector": [-9.99119, 4.62532, 24.59548] + }, + "0.32": { + "vector": [-50, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + }, + "0.56": { + "vector": [-9.99119, 4.62532, 24.59548] + }, + "0.64": { + "vector": [-50, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [20, 15, 0] + }, + "0.12": { + "vector": [-25, 5, 0] + }, + "0.32": { + "vector": [20, -15, 0] + }, + "0.44": { + "vector": [-25, 5, 0] + }, + "0.64": { + "vector": [20, 15, 0] + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 0.64, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.64": { + "vector": [-35, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0.5, 1] + }, + "0.12": { + "vector": [0, -1.5, -1] + }, + "0.24": { + "vector": [0, 1, 0.2] + }, + "0.32": { + "vector": [0, 1, 1] + }, + "0.44": { + "vector": [0, -1.5, -1] + }, + "0.56": { + "vector": [0, 0.7, 0.2] + }, + "0.64": { + "vector": [0, 0.5, 1] + } + } + }, + "Body": { + "rotation": { + "0.0": { + "vector": [30, 0, 0] + }, + "0.16": { + "vector": [52.5, 0, 0] + }, + "0.32": { + "vector": [30, 0, 0] + }, + "0.48": { + "vector": [52.5, 0, 0] + }, + "0.64": { + "vector": [30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [0, 4, 0] + }, + "0.32": { + "vector": [0, 0, 0] + }, + "0.48": { + "vector": [0, 4, 0] + }, + "0.64": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.1, 1] + }, + "0.24": { + "vector": [1.1, 1, 1] + }, + "0.32": { + "vector": [1, 1.1, 1] + }, + "0.56": { + "vector": [1.1, 1, 1] + }, + "0.64": { + "vector": [1, 1.1, 1] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [-55.6061, 27.73062, 12.6685] + }, + "0.16": { + "vector": [0, 0, 5] + }, + "0.24": { + "vector": [-39.02504, -9.57658, -16.59948] + }, + "0.32": { + "vector": [-55.6061, 27.73062, 12.6685] + }, + "0.48": { + "vector": [0, 0, 0] + }, + "0.56": { + "vector": [-39.02504, -9.57658, -16.59948] + }, + "0.64": { + "vector": [-55.6061, 27.73062, 12.6685] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.64": { + "vector": [-35, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [-50, 0, 0] + }, + "0.16": { + "vector": [35, 0, 0] + }, + "0.24": { + "vector": [-9.04709, -6.28324, -34.5024] + }, + "0.32": { + "vector": [-50, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + }, + "0.56": { + "vector": [-9.04709, -6.28324, -34.5024] + }, + "0.64": { + "vector": [-50, 0, 0] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-50, 0, 0] + }, + "0.16": { + "vector": [35, 0, 0] + }, + "0.24": { + "vector": [-9.99119, 4.62532, 24.59548] + }, + "0.32": { + "vector": [-50, 0, 0] + }, + "0.48": { + "vector": [35, 0, 0] + }, + "0.56": { + "vector": [-9.99119, 4.62532, 24.59548] + }, + "0.64": { + "vector": [-50, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "vector": [20, 15, 0] + }, + "0.12": { + "vector": [-25, 5, 0] + }, + "0.32": { + "vector": [20, -15, 0] + }, + "0.44": { + "vector": [-25, 5, 0] + }, + "0.64": { + "vector": [20, 15, 0] + } + } + } + } + }, + "attack": { + "animation_length": 0.52, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [0, 2.5, 0] + }, + "0.08": { + "vector": [0, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.16": { + "vector": [-30, 0, 62.5] + }, + "0.24": { + "vector": [-27.62113, 12.19908, 84.49054] + }, + "0.52": { + "vector": [0, 0, 0] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [-15, 0, 0] + }, + "0.08": { + "vector": [-15, 0, 0] + }, + "0.16": { + "vector": [25, -45, 0] + }, + "0.52": { + "vector": [0, 0, 0] + } + }, + "position": { + "vector": [0, 0, 1] + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/samhain.animation.json b/src/main/resources/assets/knightquest/animations/samhain.animation.json new file mode 100644 index 00000000..75bb7eed --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/samhain.animation.json @@ -0,0 +1,503 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.04167, + "bones": { + "Body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1.05, 1, 1.02] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + }, + "Head": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [0.96, 1, 1] + }, + "1.0417": { + "vector": [1, 1, 1] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.5, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [-4.99527, -0.21782, -2.4905] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "vector": [-4.99527, 0.21782, 2.4905] + }, + "0.375": { + "vector": [-5, 0, 0] + }, + "0.5": { + "vector": [-4.99527, -0.21782, -2.4905] + } + }, + "position": { + "0.0": { + "vector": [0, 1, 0] + }, + "0.125": { + "vector": [0, -0.1, 0] + }, + "0.25": { + "vector": [0, 1, 0] + }, + "0.375": { + "vector": [0, -0.1, 0] + }, + "0.5": { + "vector": [0, 1, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1.05, 1] + }, + "0.125": { + "vector": [1, 1, 1] + }, + "0.25": { + "vector": [1, 1.05, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.05, 1] + } + } + }, + "Head": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [0, -0.4, 0] + }, + "0.25": { + "vector": [0, 0, 0] + }, + "0.4167": { + "vector": [0, 0, 0] + }, + "0.4583": { + "vector": [0, -0.4, 0] + }, + "0.5": { + "vector": [0, 0, 0] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 45] + }, + "0.125": { + "vector": [0, 0, 40] + }, + "0.25": { + "vector": [0, 0, 45] + }, + "0.375": { + "vector": [0, 0, 40] + }, + "0.5": { + "vector": [0, 0, 45] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, -45] + }, + "0.125": { + "vector": [0, 0, -40] + }, + "0.25": { + "vector": [0, 0, -45] + }, + "0.375": { + "vector": [0, 0, -40] + }, + "0.5": { + "vector": [0, 0, -45] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-35, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [35, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [-35, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [35, 0, 0] + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [-35, 0, 0] + }, + "0.375": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [35, 0, 0] + } + } + } + } + }, + "death": { + "animation_length": 0.95833, + "bones": { + "Body": { + "rotation": { + "0.0": { + "vector": [-30, 0, 0] + }, + "0.1667": { + "vector": [-30, 0, 0] + }, + "0.3333": { + "vector": [-30, 0, 0] + }, + "0.5": { + "vector": [-30, 0, 0] + }, + "0.625": { + "vector": [-30, 0, 0] + }, + "0.7917": { + "vector": [-30, 0, 0] + }, + "0.9583": { + "vector": [-30, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, -1, 0] + }, + "0.3333": { + "vector": [0, -4, 0] + }, + "0.5": { + "vector": [0, -1, 0], + "easing": "easeInOutSine" + }, + "0.5833": { + "vector": [0, -4, 0], + "easing": "easeInOutSine" + } + } + }, + "Head": { + "rotation": { + "0.0": { + "vector": [45, 0, 0] + }, + "0.0833": { + "vector": [42.5, 0, 0] + }, + "0.1667": { + "vector": [45, 0, 0] + }, + "0.25": { + "vector": [42.5, 0, 0] + }, + "0.3333": { + "vector": [45, 0, 0] + }, + "0.4167": { + "vector": [42.5, 0, 0] + }, + "0.5": { + "vector": [45, 0, 0] + }, + "0.5417": { + "vector": [42.5, 0, 0] + }, + "0.625": { + "vector": [45, 0, 0] + }, + "0.7083": { + "vector": [42.5, 0, 0] + }, + "0.7917": { + "vector": [45, 0, 0] + }, + "0.875": { + "vector": [42.5, 0, 0] + }, + "0.9583": { + "vector": [45, 0, 0] + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.0833": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.1667": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.25": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.3333": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.4167": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.5": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.5417": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.625": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.7083": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.7917": { + "vector": [-39.75778, 4.81281, 5.7589] + }, + "0.875": { + "vector": [-39.32466, 7.9972, 9.63846] + }, + "0.9583": { + "vector": [-39.75778, 4.81281, 5.7589] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.0833": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.1667": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.25": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.3333": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.4167": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.5": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.5417": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.625": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.7083": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.7917": { + "vector": [-55.86446, -16.76559, -11.06517] + }, + "0.875": { + "vector": [-56.59341, -12.60837, -8.19252] + }, + "0.9583": { + "vector": [-55.86446, -16.76559, -11.06517] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [-65, 0, 0] + }, + "0.0833": { + "vector": [-67.5, 0, 0] + }, + "0.1667": { + "vector": [-65, 0, 0] + }, + "0.25": { + "vector": [-67.5, 0, 0] + }, + "0.3333": { + "vector": [-65, 0, 0] + }, + "0.4167": { + "vector": [-67.5, 0, 0] + }, + "0.5": { + "vector": [-65, 0, 0] + }, + "0.5417": { + "vector": [-67.5, 0, 0] + }, + "0.625": { + "vector": [-65, 0, 0] + }, + "0.7083": { + "vector": [-67.5, 0, 0] + }, + "0.7917": { + "vector": [-65, 0, 0] + }, + "0.875": { + "vector": [-67.5, 0, 0] + }, + "0.9583": { + "vector": [-65, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [-47.5, 0, 0] + }, + "0.0833": { + "vector": [-42.5, 0, 0] + }, + "0.1667": { + "vector": [-47.5, 0, 0] + }, + "0.25": { + "vector": [-42.5, 0, 0] + }, + "0.3333": { + "vector": [-47.5, 0, 0] + }, + "0.4167": { + "vector": [-42.5, 0, 0] + }, + "0.5": { + "vector": [-47.5, 0, 0] + }, + "0.5417": { + "vector": [-42.5, 0, 0] + }, + "0.625": { + "vector": [-47.5, 0, 0] + }, + "0.7083": { + "vector": [-42.5, 0, 0] + }, + "0.7917": { + "vector": [-47.5, 0, 0] + }, + "0.875": { + "vector": [-42.5, 0, 0] + }, + "0.9583": { + "vector": [-47.5, 0, 0] + } + } + } + } + }, + "sit": { + "loop": true, + "bones": { + "Body": { + "rotation": { + "vector": [-37.5, 0, 0] + }, + "position": { + "vector": [0, -6, 5] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Head": { + "rotation": { + "vector": [27.5, 0, 0] + } + }, + "RightArm": { + "rotation": { + "vector": [37.5, 0, 0] + } + }, + "LeftArm": { + "rotation": { + "vector": [37.5, 0, 0] + } + }, + "RightLeg": { + "rotation": { + "vector": [-52.11646, 9.03667, 4.01907] + } + }, + "LeftLeg": { + "rotation": { + "vector": [-54.69793, -11.9693, -2.54528] + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/animations/swampman.animation.json b/src/main/resources/assets/knightquest/animations/swampman.animation.json new file mode 100644 index 00000000..1d3c6bf9 --- /dev/null +++ b/src/main/resources/assets/knightquest/animations/swampman.animation.json @@ -0,0 +1,302 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 1.12, + "bones": { + "head": { + "scale": { + "0.0": { + "vector": [1.02, 1.02, 1.02] + }, + "0.52": { + "vector": [1, 1, 1] + }, + "1.04": { + "vector": [1.02, 1.02, 1.02] + } + } + }, + "Body": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [1.05, 1.01, 1.01] + }, + "1.04": { + "vector": [1, 1, 1] + } + } + }, + "Tail": { + "rotation": { + "0.0": { + "vector": [0, 15, 0] + }, + "0.52": { + "vector": [0, -20, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [0, 15, 0], + "easing": "linear" + } + } + }, + "RightArm": { + "rotation": { + "0.0": { + "vector": [2.58377, 4.53051, 2.11751] + }, + "0.52": { + "vector": [-2.41623, 4.53051, 2.11751], + "easing": "easeInSine" + }, + "1.04": { + "vector": [2.58377, 4.53051, 2.11751] + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [-5, 0, -10] + }, + "0.52": { + "vector": [2.5, 0, -12.5], + "easing": "easeInSine" + }, + "1.04": { + "vector": [-5, 0, -10] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "1.04": { + "vector": [0, 0, 0] + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0], + "easing": "easeInSine" + }, + "1.04": { + "vector": [0, 0, 0], + "easing": "linear" + } + } + } + } + }, + "swim": { + "loop": true, + "animation_length": 1.04, + "bones": { + "head": { + "rotation": { + "vector": [-15, 0, 0] + } + }, + "Body": { + "rotation": { + "vector": [15, 0, 0] + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [1.04, 1.01, 1.01], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [1, 1, 1], + "easing": "linear" + } + } + }, + "Tail": { + "rotation": { + "0.0": { + "vector": [0, 15, 0] + }, + "0.52": { + "vector": [0, -15, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [0, 15, 0], + "easing": "easeInOutSine" + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, -10] + }, + "0.52": { + "vector": [0, 0, -5] + }, + "1.04": { + "vector": [0, 0, -10] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [45, 0, 0] + }, + "0.52": { + "vector": [15, 0, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [45, 0, 0], + "easing": "easeInOutSine" + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [15, 0, 0] + }, + "0.52": { + "vector": [45, 0, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [15, 0, 0], + "easing": "easeInOutSine" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1.04, + "bones": { + "head": { + "rotation": { + "vector": [-15, 0, 0] + } + }, + "Body": { + "rotation": { + "vector": [15, 0, 0] + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [1.04, 1.01, 1.01], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [1, 1, 1], + "easing": "linear" + } + } + }, + "Tail": { + "rotation": { + "0.0": { + "vector": [0, 15, 0] + }, + "0.52": { + "vector": [0, -15, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [0, 15, 0], + "easing": "easeInOutSine" + } + } + }, + "LeftArm": { + "rotation": { + "0.0": { + "vector": [0, 0, -10] + }, + "0.52": { + "vector": [0, 0, -5] + }, + "1.04": { + "vector": [0, 0, -10] + } + } + }, + "RightLeg": { + "rotation": { + "0.0": { + "vector": [45, 0, 0] + }, + "0.52": { + "vector": [15, 0, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [45, 0, 0], + "easing": "easeInOutSine" + } + } + }, + "LeftLeg": { + "rotation": { + "0.0": { + "vector": [15, 0, 0] + }, + "0.52": { + "vector": [45, 0, 0], + "easing": "easeInOutSine" + }, + "1.04": { + "vector": [15, 0, 0], + "easing": "easeInOutSine" + } + } + } + } + }, + "attack": { + "animation_length": 0.36, + "bones": { + "RightArm": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.04": { + "vector": [110, 0, 0] + }, + "0.32": { + "vector": [0, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/blockstates/great_chalice.json b/src/main/resources/assets/knightquest/blockstates/great_chalice.json new file mode 100644 index 00000000..4ef124ea --- /dev/null +++ b/src/main/resources/assets/knightquest/blockstates/great_chalice.json @@ -0,0 +1,9 @@ +{ + "variants": { + "level=1": { "model": "knightquest:block/great_chalice" }, + "level=2": { "model": "knightquest:block/great_chalice_1" }, + "level=3": { "model": "knightquest:block/great_chalice_2" }, + "level=4": { "model": "knightquest:block/great_chalice_3" }, + "level=5": { "model": "knightquest:block/great_chalice_4" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/apple_helmet.geo.json b/src/main/resources/assets/knightquest/geo/apple_helmet.geo.json new file mode 100644 index 00000000..5a4687b5 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/apple_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-8, 33.8, -2], "size": [16, 5, 4], "uv": [0, 23]}, + {"origin": [-1, 31.8, -1], "size": [2, 2, 2], "uv": [56, 28]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bad_patch.geo.json b/src/main/resources/assets/knightquest/geo/bad_patch.geo.json new file mode 100644 index 00000000..2d77fefa --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bad_patch.geo.json @@ -0,0 +1,68 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_gremlin", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "BodyGen", + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "BodyGen", + "pivot": [0, 19, 0], + "cubes": [ + {"origin": [-5, 3, -5], "size": [10, 10, 10], "uv": [0, 0]}, + {"origin": [-5, 3, -5], "size": [10, 10, 10], "inflate": 0.5, "uv": [0, 20]}, + {"origin": [-5, 13, 0], "size": [10, 10, 0], "pivot": [0, 3, 0], "rotation": [0, 45, 0], "uv": [30, 0]}, + {"origin": [-5, 13, 0], "size": [10, 10, 0], "pivot": [0, 3, 0], "rotation": [0, 135, 0], "uv": [30, 0]} + ] + }, + { + "name": "armleft", + "parent": "body", + "pivot": [5, 10, 0], + "cubes": [ + {"origin": [5, -1, -2], "size": [4, 7, 4], "pivot": [4, 6, 0], "rotation": [0, 0, -90], "uv": [26, 40], "mirror": true}, + {"origin": [4, 2, -3], "size": [6, 0, 6], "pivot": [4, 6, 0], "rotation": [0, 0, -90], "uv": [23, 51], "mirror": true} + ] + }, + { + "name": "armright", + "parent": "body", + "pivot": [-5, 10, 0], + "cubes": [ + {"origin": [-9, -1, -2], "size": [4, 7, 4], "pivot": [-4, 6, 0], "rotation": [0, 0, 90], "uv": [26, 40]}, + {"origin": [-10, 2, -3], "size": [6, 0, 6], "pivot": [-4, 6, 0], "rotation": [0, 0, 90], "uv": [23, 51]} + ] + }, + { + "name": "legleft", + "parent": "body", + "pivot": [3, 3, 0], + "cubes": [ + {"origin": [1, 0, -2], "size": [4, 3, 4], "uv": [0, 50], "mirror": true}, + {"origin": [0, 0, -3], "size": [6, 0, 6], "uv": [-3, 57], "mirror": true} + ] + }, + { + "name": "legright", + "parent": "body", + "pivot": [-3, 3, 0], + "cubes": [ + {"origin": [-5, 0, -2], "size": [4, 3, 4], "uv": [0, 50]}, + {"origin": [-6, 0, -3], "size": [6, 0, 6], "uv": [-3, 57]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bamboo_helmet.geo.json b/src/main/resources/assets/knightquest/geo/bamboo_helmet.geo.json new file mode 100644 index 00000000..aa1183fc --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bamboo_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-1, 27.3, -5.6], "size": [2, 8, 1], "inflate": 0.25, "uv": [0, 23]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bambooblue_helmet.geo.json b/src/main/resources/assets/knightquest/geo/bambooblue_helmet.geo.json new file mode 100644 index 00000000..e8f1f378 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bambooblue_helmet.geo.json @@ -0,0 +1,35 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-10, 29, -1.2], "size": [2, 3, 2], "inflate": 0.5, "uv": [0, 27]}, + {"origin": [-7.5, 26, -0.2], "size": [2, 3, 0], "uv": [2, 24]}, + {"origin": [5.5, 26, -0.2], "size": [2, 3, 0], "uv": [2, 24], "mirror": true}, + {"origin": [8, 29, -1.2], "size": [2, 3, 2], "inflate": 0.5, "uv": [0, 27], "mirror": true}, + {"origin": [-7, 29, -1.2], "size": [14, 2, 2], "inflate": 0.5, "uv": [32, 28]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bamboogreen_helmet.geo.json b/src/main/resources/assets/knightquest/geo/bamboogreen_helmet.geo.json new file mode 100644 index 00000000..142ada71 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bamboogreen_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-7, 28, -5.2], "size": [14, 7, 0], "uv": [36, 25]}, + {"origin": [-1, 27, -5.6], "size": [2, 3, 1], "inflate": 0.25, "uv": [0, 23]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bat_helmet.geo.json b/src/main/resources/assets/knightquest/geo/bat_helmet.geo.json new file mode 100644 index 00000000..afe39091 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bat_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-5.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19]}, + {"origin": [4.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/blaze_helmet.geo.json b/src/main/resources/assets/knightquest/geo/blaze_helmet.geo.json new file mode 100644 index 00000000..e05767d0 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/blaze_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 30, -0.4], "size": [2, 6, 2], "inflate": 0.25, "uv": [0, 24]}, + {"origin": [4, 30, -0.4], "size": [2, 6, 2], "inflate": 0.25, "uv": [0, 24], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/bow_helmet.geo.json b/src/main/resources/assets/knightquest/geo/bow_helmet.geo.json new file mode 100644 index 00000000..dc0a3cf2 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/bow_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 10, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-7, 30.5, -7], "size": [14, -3, 14], "inflate": 1.5, "uv": [0, 18]}, + {"origin": [-4, 24, -4], "size": [8, 10, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/chainmail_helmet2.geo.json b/src/main/resources/assets/knightquest/geo/chainmail_helmet2.geo.json new file mode 100644 index 00000000..bbb40bdb --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/chainmail_helmet2.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/conquistador2_helmet.geo.json b/src/main/resources/assets/knightquest/geo/conquistador2_helmet.geo.json new file mode 100644 index 00000000..a0e56c09 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/conquistador2_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 9, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 29, -8], "size": [12, 1, 16], "uv": [0, 18]}, + {"origin": [-1, 30, -6], "size": [2, 5, 12], "uv": [8, 47]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/conquistador3_helmet.geo.json b/src/main/resources/assets/knightquest/geo/conquistador3_helmet.geo.json new file mode 100644 index 00000000..beb17420 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/conquistador3_helmet.geo.json @@ -0,0 +1,33 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 25, -4], "size": [8, 8, 8], "inflate": 1.4, "pivot": [0, 28, 0], "rotation": [-10, 0, 0], "uv": [32, 0]}, + {"origin": [-8, 31, -8], "size": [13, -4, 16], "inflate": 2, "pivot": [0, 29, 0], "rotation": [-10, 0, 0], "uv": [0, 18]}, + {"origin": [-2.7, 38, -8], "size": [7, -4, 16], "inflate": 2, "pivot": [0, 29, 0], "rotation": [0, 10, 90], "uv": [26, 43]}, + {"origin": [5.6, 31, -2], "size": [0, 7, 10], "pivot": [6, 33.5, 4], "rotation": [50, 0, 0], "uv": [44, 17]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/conquistador_helmet.geo.json b/src/main/resources/assets/knightquest/geo/conquistador_helmet.geo.json new file mode 100644 index 00000000..206fb6fb --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/conquistador_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 11, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-5, 32, -4], "size": [10, 8, 8], "inflate": 1.5, "uv": [0, 16]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/deepslate_helmet.geo.json b/src/main/resources/assets/knightquest/geo/deepslate_helmet.geo.json new file mode 100644 index 00000000..0f5d119f --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/deepslate_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-6, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26]}, + {"origin": [7, 22.9, 15.1], "size": [2, 8, 2], "inflate": 0.5, "pivot": [0, 0, 0], "rotation": [35, 0, 0], "uv": [0, 22], "mirror": true}, + {"origin": [-9, 22.9, 15.1], "size": [2, 8, 2], "inflate": 0.5, "pivot": [0, 0, 0], "rotation": [35, 0, 0], "uv": [0, 22]}, + {"origin": [4, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/dragon_helmet.geo.json b/src/main/resources/assets/knightquest/geo/dragon_helmet.geo.json new file mode 100644 index 00000000..afe39091 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/dragon_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-5.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19]}, + {"origin": [4.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/eldbomb.geo.json b/src/main/resources/assets/knightquest/geo/eldbomb.geo.json new file mode 100644 index 00000000..e32e1aed --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/eldbomb.geo.json @@ -0,0 +1,58 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_bound_creeper", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 5, 0], + "cubes": [ + {"origin": [-5, 4, -5], "size": [10, 10, 10], "uv": [0, 0]}, + {"origin": [-5, 4, -5], "size": [10, 10, 10], "inflate": 0.5, "uv": [0, 28]}, + {"origin": [-2, 14, -2], "size": [4, 2, 4], "uv": [30, 4]} + ] + }, + { + "name": "armtop", + "parent": "Body", + "pivot": [0, 16, 0], + "cubes": [ + {"origin": [-1, 15, -1], "size": [2, 7, 2], "uv": [2, 1]} + ] + }, + { + "name": "bone", + "parent": "armtop", + "pivot": [0, 21, 0], + "cubes": [ + {"origin": [-2, 21, -2], "size": [4, 4, 4], "uv": [46, 4]} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [1.9, 4, -0.5], + "cubes": [ + {"origin": [0.9, 0, -1.5], "size": [3, 4, 3], "uv": [0, 20]} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-1.9, 4, -0.5], + "cubes": [ + {"origin": [-3.9, 0, -1.5], "size": [3, 4, 3], "uv": [12, 20]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/eldknight.geo.json b/src/main/resources/assets/knightquest/geo/eldknight.geo.json new file mode 100644 index 00000000..5b124862 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/eldknight.geo.json @@ -0,0 +1,72 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_bound_lord", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "body", + "pivot": [0, 16, 0], + "cubes": [ + {"origin": [-6, 33, -5.5], "size": [12, 6, 10], "uv": [0, 0]}, + {"origin": [-7, 21, -6], "size": [14, 12, 11], "uv": [48, 0]}, + {"origin": [-4.5, 16, -3], "size": [9, 5, 6], "inflate": 0.5, "uv": [65, 69]} + ] + }, + { + "name": "head", + "parent": "body", + "pivot": [0, 31, -2], + "cubes": [ + {"origin": [-3, 33, -4.5], "size": [6, 15, 8], "uv": [0, 16]}, + {"origin": [-3, 33, -4.5], "size": [6, 15, 8], "inflate": 0.5, "uv": [0, 105]} + ] + }, + { + "name": "armleft", + "parent": "body", + "pivot": [7, 31, 0], + "cubes": [ + {"origin": [7, 26.5, -4], "size": [8, 8, 8], "uv": [65, 47], "mirror": true}, + {"origin": [9, 24.5, -9], "size": [4, 5, 12], "uv": [96, 95], "mirror": true}, + {"origin": [3, 7.5, -12], "size": [14, 28, 3], "uv": [31, 47]} + ] + }, + { + "name": "armright", + "parent": "body", + "pivot": [-9, 31, 0], + "cubes": [ + {"origin": [-13, 15.5, -3], "size": [4, 11, 6], "uv": [0, 47]}, + {"origin": [-15, 26.5, -4], "size": [8, 8, 8], "uv": [65, 47]}, + {"origin": [-15, 18.5, -4], "size": [8, 8, 8], "uv": [96, 56]}, + {"origin": [-15, 7.5, -4], "size": [8, 8, 8], "uv": [96, 112]} + ] + }, + { + "name": "legright", + "parent": "body", + "pivot": [-4, 16, 0], + "cubes": [ + {"origin": [-6.5, 0, -3], "size": [4, 16, 5], "uv": [0, 82]} + ] + }, + { + "name": "legleft", + "parent": "body", + "pivot": [4, 16, 0], + "cubes": [ + {"origin": [2.5, 0, -3], "size": [4, 16, 5], "uv": [0, 82], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/enderman_helmet.geo.json b/src/main/resources/assets/knightquest/geo/enderman_helmet.geo.json new file mode 100644 index 00000000..837d668c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/enderman_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-7, 27, -1], "size": [14, 2, 9], "inflate": 0.5, "uv": [0, 21]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/evoker_helmet.geo.json b/src/main/resources/assets/knightquest/geo/evoker_helmet.geo.json new file mode 100644 index 00000000..db478ae7 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/evoker_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 10, 8], "inflate": 1, "uv": [0, 0]}, + {"origin": [-7, 29.85, -7], "size": [14, -4, 14], "inflate": 2, "uv": [0, 18]}, + {"origin": [-4, 24, -4], "size": [8, 10, 8], "inflate": 1.5, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/forze_helmet.geo.json b/src/main/resources/assets/knightquest/geo/forze_helmet.geo.json new file mode 100644 index 00000000..e672bb8c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/forze_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-7, 26, -0.2], "size": [3, 4, 1], "inflate": 0.5, "uv": [17, 27]}, + {"origin": [4, 26, -0.2], "size": [3, 4, 1], "inflate": 0.5, "uv": [17, 27], "mirror": true}, + {"origin": [-10.1, 26.8, 0.2], "size": [5, 11, 0], "uv": [0, 21]}, + {"origin": [5.1, 26.8, 0.2], "size": [5, 11, 0], "uv": [0, 21], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/forze_main.geo.json b/src/main/resources/assets/knightquest/geo/forze_main.geo.json new file mode 100644 index 00000000..d22a2ddb --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/forze_main.geo.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedBody", + "pivot": [0, 24, 0] + }, + { + "name": "armorBody", + "parent": "bipedBody", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 1, "uv": [16, 16]} + ] + }, + { + "name": "bipedRightArm", + "pivot": [-5, 22, 0] + }, + { + "name": "armorRightArm", + "parent": "bipedRightArm", + "pivot": [-5, 22, 0], + "cubes": [ + {"origin": [-10, 21, -2], "size": [4, 4, 4], "inflate": 1, "uv": [40, 16]}, + {"origin": [-10, 15.5, -2], "size": [4, 4, 4], "inflate": 0.6, "uv": [40, 24]} + ] + }, + { + "name": "bipedLeftArm", + "pivot": [5, 22, 0] + }, + { + "name": "armorLeftArm", + "parent": "bipedLeftArm", + "pivot": [5, 22, 0], + "cubes": [ + {"origin": [6, 13, -2], "size": [4, 12, 4], "inflate": 1, "uv": [40, 0], "mirror": true}, + {"origin": [3, 19, -4], "size": [5, 5, 1], "uv": [0, 10], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/ghosty.geo.json b/src/main/resources/assets/knightquest/geo/ghosty.geo.json new file mode 100644 index 00000000..ce4d3a0d --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/ghosty.geo.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 12, 0], + "cubes": [ + {"origin": [-5, 3, -3.5], "size": [10, 12, 7], "uv": [0, 0]}, + {"origin": [-3.5, 15, -1.5], "size": [3, 2, 3], "uv": [0, 36]}, + {"origin": [-5, 2, -3.5], "size": [10, 13, 7], "inflate": 0.5, "uv": [0, 44]} + ] + }, + { + "name": "RightLeg", + "pivot": [-2.9, 3, 0], + "cubes": [ + {"origin": [-4.9, 0, -2], "size": [5, 4, 4], "inflate": -0.2, "pivot": [-1, 3, 0], "rotation": [12.5, 0, 0], "uv": [24, 22]} + ] + }, + { + "name": "LeftLeg", + "pivot": [2.9, 3, 0], + "cubes": [ + {"origin": [-0.1, 0, -2], "size": [5, 4, 4], "inflate": -0.2, "pivot": [1, 3, 0], "rotation": [17.5, 0, 0], "uv": [24, 22]} + ] + }, + { + "name": "RightArm", + "pivot": [-5, 9, 0], + "cubes": [ + {"origin": [-8, 2, -1.5], "size": [3, 9, 3], "pivot": [-6, 9, 0], "rotation": [-90, 0, 0], "uv": [12, 22]} + ] + }, + { + "name": "LeftArm", + "pivot": [5, 9, 0], + "cubes": [ + {"origin": [5, 2, -1.5], "size": [3, 9, 3], "pivot": [6, 9, 0], "rotation": [-90, 0, 0], "uv": [12, 22], "mirror": true}, + {"origin": [2.6, 4, -8.5], "size": [0, 13, 7], "pivot": [6, 9, -1], "rotation": [0, -45, 0], "uv": [34, 0], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/gremlin.geo.json b/src/main/resources/assets/knightquest/geo/gremlin.geo.json new file mode 100644 index 00000000..f457395b --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/gremlin.geo.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_gremlin", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 10, 0], + "cubes": [ + {"origin": [-3, 3, -2], "size": [6, 7, 4], "uv": [32, 21]}, + {"origin": [-3, 3, -2], "size": [6, 7, 4], "inflate": 0.25, "uv": [32, 10]} + ] + }, + { + "name": "RightArm", + "parent": "Body", + "pivot": [-4, 9, 0], + "cubes": [ + {"origin": [-5, 3, -1], "size": [2, 7, 2], "uv": [16, 32]}, + {"origin": [-5, 3, -1], "size": [2, 7, 2], "inflate": 0.25, "uv": [8, 32]} + ] + }, + { + "name": "rightItem", + "parent": "RightArm", + "pivot": [-4, 4, 0], + "cubes": [ + {"origin": [-4, 2, -10], "size": [0, 5, 12], "uv": [40, 41]} + ] + }, + { + "name": "LeftArm", + "parent": "Body", + "pivot": [4, 9, 0], + "cubes": [ + {"origin": [3, 3, -1], "size": [2, 7, 2], "uv": [16, 41]}, + {"origin": [3, 3, -1], "size": [2, 7, 2], "inflate": 0.25, "uv": [8, 41]} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-2.9, 5, 0], + "cubes": [ + {"origin": [-2.9, 0, -1], "size": [2, 3, 2], "uv": [16, 59]}, + {"origin": [-2.9, 0, -1], "size": [2, 3, 2], "inflate": 0.25, "uv": [16, 54]} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [2.9, 5, 0], + "cubes": [ + {"origin": [0.9, 0, -1], "size": [2, 3, 2], "uv": [8, 59]}, + {"origin": [0.9, 0, -1], "size": [2, 3, 2], "inflate": 0.25, "uv": [8, 54]} + ] + }, + { + "name": "head", + "parent": "Body", + "pivot": [0, 10, 0], + "cubes": [ + {"origin": [-4, 10, -4], "size": [8, 8, 8], "uv": [0, 16]}, + {"origin": [-8, 14, -1], "size": [4, 3, 3], "uv": [50, 58]}, + {"origin": [-8, 17, -1], "size": [2, 3, 3], "uv": [39, 58]}, + {"origin": [4, 14, -1], "size": [4, 3, 3], "uv": [50, 58], "mirror": true}, + {"origin": [6, 17, -1], "size": [2, 3, 3], "uv": [39, 58], "mirror": true}, + {"origin": [-4, 10, -4], "size": [8, 8, 8], "inflate": 0.5, "uv": [0, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/hollow_helmet.geo.json b/src/main/resources/assets/knightquest/geo/hollow_helmet.geo.json new file mode 100644 index 00000000..564e0f9f --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/hollow_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 29, -1], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26]}, + {"origin": [4, 29, -1], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26], "mirror": true}, + {"origin": [-8, 30, -1], "size": [2, 8, 2], "inflate": 0.4, "uv": [0, 22]}, + {"origin": [6, 30, -1], "size": [2, 8, 2], "inflate": 0.4, "uv": [0, 22], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/horn_helmet.geo.json b/src/main/resources/assets/knightquest/geo/horn_helmet.geo.json new file mode 100644 index 00000000..17a61002 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/horn_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26]}, + {"origin": [4, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26], "mirror": true}, + {"origin": [-9, 27, -1], "size": [2, 8, 2], "inflate": 0.5, "uv": [0, 22]}, + {"origin": [7, 27, -1], "size": [2, 8, 2], "inflate": 0.5, "uv": [0, 22], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/husk_helmet.geo.json b/src/main/resources/assets/knightquest/geo/husk_helmet.geo.json new file mode 100644 index 00000000..4a6420f0 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/husk_helmet.geo.json @@ -0,0 +1,33 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 28.5, -5.8], "size": [4, 8, 1], "uv": [0, 23]}, + {"origin": [-7.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23]}, + {"origin": [3.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/husk_helmet2.geo.json b/src/main/resources/assets/knightquest/geo/husk_helmet2.geo.json new file mode 100644 index 00000000..e346b654 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/husk_helmet2.geo.json @@ -0,0 +1,35 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 28.5, -5.6], "size": [4, 8, 1], "uv": [0, 23]}, + {"origin": [-7.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23]}, + {"origin": [3.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23], "mirror": true}, + {"origin": [-5.5, 30.5, 0], "size": [4, 8, 1], "uv": [44, 23]}, + {"origin": [1.6, 30.5, 0], "size": [4, 8, 1], "uv": [44, 23], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/husk_helmet3.geo.json b/src/main/resources/assets/knightquest/geo/husk_helmet3.geo.json new file mode 100644 index 00000000..b9a1ceb8 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/husk_helmet3.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-3.5, 28, -9.6], "size": [7, 3, 5], "uv": [10, 24]}, + {"origin": [-3.5, 25, -9.6], "size": [7, 3, 5], "uv": [10, 16]}, + {"origin": [-7.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23]}, + {"origin": [3.6, 22.5, -2.6], "size": [4, 8, 1], "uv": [54, 23], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/lizzy.geo.json b/src/main/resources/assets/knightquest/geo/lizzy.geo.json new file mode 100644 index 00000000..a158297c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/lizzy.geo.json @@ -0,0 +1,82 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 48, + "texture_height": 48, + "visible_bounds_width": 3, + "visible_bounds_height": 1.5, + "visible_bounds_offset": [0, 0.25, 0] + }, + "bones": [ + { + "name": "BodyGen", + "pivot": [0, 0, 0] + }, + { + "name": "tail", + "parent": "BodyGen", + "pivot": [0, 2, 4], + "cubes": [ + {"origin": [-2.5, 1, 4], "size": [5, 3, 9], "uv": [3, 13]} + ] + }, + { + "name": "left_arm2", + "parent": "BodyGen", + "pivot": [4, 3, 2.5], + "cubes": [ + {"origin": [3, 0, 1.5], "size": [2, 3, 3], "uv": [0, 32]}, + {"origin": [0, -0.01, -2.5], "size": [8, 0, 8], "uv": [18, 40]} + ] + }, + { + "name": "right_arm2", + "parent": "BodyGen", + "pivot": [-4, 3, 2.5], + "cubes": [ + {"origin": [-5, 0, 1.5], "size": [2, 3, 3], "uv": [0, 38]}, + {"origin": [-8, -0.01, -2.5], "size": [8, 0, 8], "uv": [2, 40]} + ] + }, + { + "name": "right_arm", + "parent": "BodyGen", + "pivot": [-4, 3, -3.5], + "cubes": [ + {"origin": [-5, 0, -4.5], "size": [2, 3, 3], "uv": [0, 38]}, + {"origin": [-8, -0.01, -8.5], "size": [8, 0, 8], "uv": [2, 40]} + ] + }, + { + "name": "left_arm", + "parent": "BodyGen", + "pivot": [4, 3, -3.5], + "cubes": [ + {"origin": [3, 0, -4.5], "size": [2, 3, 3], "uv": [0, 32]}, + {"origin": [0, -0.01, -8.5], "size": [8, 0, 8], "uv": [18, 40]} + ] + }, + { + "name": "head", + "parent": "BodyGen", + "pivot": [0, 2, -5], + "cubes": [ + {"origin": [-2.5, 1, -10], "size": [5, 3, 5], "uv": [28, 0]}, + {"origin": [-2.5, 2, -12], "size": [5, 0, 2], "uv": [31, 8]} + ] + }, + { + "name": "body", + "parent": "BodyGen", + "pivot": [0, 4, 0], + "cubes": [ + {"origin": [-3.5, 1, -5], "size": [7, 3, 9], "uv": [3, 1]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/momma_lizzy.geo.json b/src/main/resources/assets/knightquest/geo/momma_lizzy.geo.json new file mode 100644 index 00000000..ad95bf4c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/momma_lizzy.geo.json @@ -0,0 +1,101 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 4, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 0, 0] + }, + { + "name": "left_arm3", + "parent": "Body", + "pivot": [5, 3, -0.5], + "cubes": [ + {"origin": [4, 0, -1.5], "size": [2, 4, 3], "uv": [0, 31]}, + {"origin": [1, -0.01, -5.5], "size": [8, 0, 8], "uv": [18, 40]} + ] + }, + { + "name": "right_arm3", + "parent": "Body", + "pivot": [-5, 3, -0.5], + "cubes": [ + {"origin": [-6, 0, -1.5], "size": [2, 4, 3], "uv": [0, 39]}, + {"origin": [-9, -0.01, -5.5], "size": [8, 0, 8], "uv": [2, 40]} + ] + }, + { + "name": "tail", + "parent": "Body", + "pivot": [0, 4, 9], + "rotation": [50, 0, 0], + "cubes": [ + {"origin": [-2.5, 5, 8], "size": [5, 3, 13], "pivot": [0, 4, 4], "rotation": [-47.5, 0, 0], "uv": [0, 48]} + ] + }, + { + "name": "left_arm2", + "parent": "Body", + "pivot": [5, 3, 5.5], + "cubes": [ + {"origin": [4, 0, 4.5], "size": [2, 4, 3], "uv": [0, 31]}, + {"origin": [1, -0.01, 0.5], "size": [8, 0, 8], "uv": [18, 40]} + ] + }, + { + "name": "right_arm2", + "parent": "Body", + "pivot": [-5, 3, 5.5], + "cubes": [ + {"origin": [-6, 0, 4.5], "size": [2, 4, 3], "uv": [0, 39]}, + {"origin": [-9, -0.01, 0.5], "size": [8, 0, 8], "uv": [2, 40]} + ] + }, + { + "name": "right_arm", + "parent": "Body", + "pivot": [-5, 3, -6.5], + "cubes": [ + {"origin": [-6, 0, -7.5], "size": [2, 4, 3], "uv": [0, 39]}, + {"origin": [-9, -0.01, -11.5], "size": [8, 0, 8], "uv": [2, 40]} + ] + }, + { + "name": "left_arm", + "parent": "Body", + "pivot": [5, 3, -6.5], + "cubes": [ + {"origin": [4, 0, -7.5], "size": [2, 4, 3], "uv": [0, 31]}, + {"origin": [1, -0.01, -11.5], "size": [8, 0, 8], "uv": [18, 40]} + ] + }, + { + "name": "head", + "parent": "Body", + "pivot": [0, 2, -9], + "cubes": [ + {"origin": [-3.5, 1, -15], "size": [7, 4, 6], "uv": [38, 0]}, + {"origin": [-2.5, 2, -17], "size": [5, 0, 2], "uv": [43, 10]} + ] + }, + { + "name": "body2", + "parent": "Body", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-4.5, 1, -9], "size": [9, 5, 19], "uv": [0, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/nether_helmet.geo.json b/src/main/resources/assets/knightquest/geo/nether_helmet.geo.json new file mode 100644 index 00000000..17a61002 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/nether_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26]}, + {"origin": [4, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [8, 26], "mirror": true}, + {"origin": [-9, 27, -1], "size": [2, 8, 2], "inflate": 0.5, "uv": [0, 22]}, + {"origin": [7, 27, -1], "size": [2, 8, 2], "inflate": 0.5, "uv": [0, 22], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/path_helmet.geo.json b/src/main/resources/assets/knightquest/geo/path_helmet.geo.json new file mode 100644 index 00000000..a7392e18 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/path_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 26, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/phantom_helmet.geo.json b/src/main/resources/assets/knightquest/geo/phantom_helmet.geo.json new file mode 100644 index 00000000..e157b8ae --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/phantom_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 32, 0.4], "size": [4, 2, 12], "uv": [0, 18]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/pirate2_helmet.geo.json b/src/main/resources/assets/knightquest/geo/pirate2_helmet.geo.json new file mode 100644 index 00000000..74e2170a --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/pirate2_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/pirate3_helmet.geo.json b/src/main/resources/assets/knightquest/geo/pirate3_helmet.geo.json new file mode 100644 index 00000000..74e2170a --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/pirate3_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/pirate_helmet.geo.json b/src/main/resources/assets/knightquest/geo/pirate_helmet.geo.json new file mode 100644 index 00000000..04aea4ac --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/pirate_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-5, 32, -4], "size": [10, 8, 8], "inflate": 1.5, "uv": [28, 16]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/polar_helmet.geo.json b/src/main/resources/assets/knightquest/geo/polar_helmet.geo.json new file mode 100644 index 00000000..5d8dd05d --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/polar_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.2, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/ratman.geo.json b/src/main/resources/assets/knightquest/geo/ratman.geo.json new file mode 100644 index 00000000..07ad2401 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/ratman.geo.json @@ -0,0 +1,85 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_ratman", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 3, 0], + "cubes": [ + {"origin": [-4, 2, -4], "size": [8, 12, 4], "pivot": [0, 8, 0], "rotation": [20, 0, 0], "uv": [26, 23]}, + {"origin": [-4, 2, -4], "size": [8, 12, 4], "inflate": 0.5, "pivot": [0, 8, 0], "rotation": [20, 0, 0], "uv": [40, 39]}, + {"origin": [-2, 7, 0], "size": [3, 9, 2], "pivot": [0, 8, 0], "rotation": [16.60179, -11.31335, 33.34411], "uv": [50, 28]} + ] + }, + { + "name": "head", + "parent": "Body", + "pivot": [0, 14, -5], + "cubes": [ + {"origin": [-3, 12, -11], "size": [6, 6, 8], "inflate": 0.1, "uv": [0, 0]}, + {"origin": [-3, 12, -11], "size": [6, 6, 8], "inflate": 0.5, "uv": [0, 44]}, + {"origin": [-4, 15, -8], "size": [1, 2, 2], "uv": [0, 3]}, + {"origin": [3, 15, -8], "size": [1, 2, 2], "uv": [0, 3], "mirror": true}, + {"origin": [-7, 16, -4], "size": [6, 6, 0], "uv": [0, 58]}, + {"origin": [1, 16, -4], "size": [6, 6, 0], "uv": [0, 58], "mirror": true}, + {"origin": [-5, 12, -10], "size": [10, 6, 0], "uv": [44, 58], "mirror": true} + ] + }, + { + "name": "LeftArm", + "parent": "Body", + "pivot": [5, 11, -4], + "cubes": [ + {"origin": [4, 2, -6], "size": [3, 11, 4], "pivot": [5, 11.5, -4], "rotation": [0, 0, -20], "uv": [48, 0], "mirror": true} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [4.9, 4, -1], + "cubes": [ + {"origin": [3.9, 0, -3], "size": [3, 5, 4], "uv": [20, 39], "mirror": true}, + {"origin": [3.9, 0, -7], "size": [3, 0, 7], "uv": [0, 27], "mirror": true} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-4.9, 4, -1], + "cubes": [ + {"origin": [-6.9, 0, -3], "size": [3, 5, 4], "uv": [20, 39]}, + {"origin": [-6.9, 0, -7], "size": [3, 0, 7], "uv": [0, 27]} + ] + }, + { + "name": "RightArm", + "parent": "Body", + "pivot": [-5, 11, -4], + "cubes": [ + {"origin": [-7, 7, -6], "size": [3, 6, 4], "inflate": 0.1, "uv": [48, 0]}, + {"origin": [-7, 4.8, -8], "size": [3, 2, 6], "inflate": 0.1, "uv": [0, 36]}, + {"origin": [-7.5, 6.9, -17], "size": [4, 2, 11], "uv": [0, 14]}, + {"origin": [-10.5, 8.9, -18], "size": [10, 0, 6], "uv": [13, 16]} + ] + }, + { + "name": "tail", + "parent": "Body", + "pivot": [0, 4, 0.5], + "cubes": [ + {"origin": [-1, 1, 0], "size": [2, 2, 11], "pivot": [0, 4, 5.5], "rotation": [-17.5, 0, 0], "uv": [21, 3]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/samhain.geo.json b/src/main/resources/assets/knightquest/geo/samhain.geo.json new file mode 100644 index 00000000..ee603612 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/samhain.geo.json @@ -0,0 +1,73 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 15, 0], + "cubes": [ + {"origin": [-4, 5, -2], "size": [8, 10, 4], "uv": [0, 20]}, + {"origin": [-5, 12, 2], "size": [10, 3, 4], "uv": [24, 20]} + ] + }, + { + "name": "Head", + "parent": "Body", + "pivot": [0, 15, 0], + "cubes": [ + {"origin": [-5, 15, -5], "size": [10, 10, 10], "uv": [0, 0]}, + {"origin": [-5, 15, -5], "size": [10, 10, 10], "inflate": 0.2, "uv": [0, 38]}, + {"origin": [-8, 23, 0], "size": [6, 10, 0], "uv": [52, 0]}, + {"origin": [2, 23, 0], "size": [6, 10, 0], "uv": [52, 0], "mirror": true}, + {"origin": [-1, 24, -6], "size": [2, 4, 2], "pivot": [0, 0, 0], "rotation": [-12.5, 0, 0], "uv": [40, 14]} + ] + }, + { + "name": "RightArm", + "parent": "Body", + "pivot": [-5, 14, 0], + "cubes": [ + {"origin": [-8, 5, -1], "size": [2, 9, 2], "pivot": [0, 0, 0], "rotation": [0, 0, 7.5], "uv": [32, 27]}, + {"origin": [-8, 5, -1], "size": [2, 9, 2], "inflate": 0.3, "pivot": [0, 0, 0], "rotation": [0, 0, 7.5], "uv": [40, 27]} + ] + }, + { + "name": "LeftArm", + "parent": "Body", + "pivot": [5, 14, 0], + "cubes": [ + {"origin": [6, 5, -1], "size": [2, 9, 2], "pivot": [0, 0, 0], "rotation": [0, 0, -7.5], "uv": [32, 27], "mirror": true}, + {"origin": [6, 5, -1], "size": [2, 9, 2], "inflate": 0.3, "pivot": [0, 0, 0], "rotation": [0, 0, -7.5], "uv": [40, 27], "mirror": true} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-2.9, 5, 0], + "cubes": [ + {"origin": [-3.9, 0, -1], "size": [2, 6, 2], "uv": [30, 0]}, + {"origin": [-3.9, 0, -1], "size": [2, 6, 2], "inflate": 0.3, "uv": [48, 50]} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [2.9, 5, 0], + "cubes": [ + {"origin": [1.9, 0, -1], "size": [2, 6, 2], "uv": [0, 0]}, + {"origin": [1.9, 0, -1], "size": [2, 6, 2], "inflate": 0.3, "uv": [40, 50]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/samhain_squire.geo.json b/src/main/resources/assets/knightquest/geo/samhain_squire.geo.json new file mode 100644 index 00000000..180646e8 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/samhain_squire.geo.json @@ -0,0 +1,81 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 128, + "texture_height": 64, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 15, 0], + "cubes": [ + {"origin": [-4, 5, -2], "size": [8, 10, 4], "uv": [64, 20]}, + {"origin": [-5, 12, 2], "size": [10, 3, 4], "uv": [88, 20]} + ] + }, + { + "name": "RightArm", + "parent": "Body", + "pivot": [-5, 14, 0], + "cubes": [ + {"origin": [-8, 5, -1], "size": [2, 9, 2], "pivot": [0, 0, 0], "rotation": [0, 0, 7.5], "uv": [96, 27]}, + {"origin": [-8, 5, -1], "size": [2, 9, 2], "inflate": 0.3, "pivot": [0, 0, 0], "rotation": [0, 0, 7.5], "uv": [104, 27]} + ] + }, + { + "name": "LeftArm", + "parent": "Body", + "pivot": [5, 14, 0], + "cubes": [ + {"origin": [6, 5, -1], "size": [2, 9, 2], "pivot": [0, 0, 0], "rotation": [0, 0, -7.5], "uv": [96, 27], "mirror": true}, + {"origin": [6, 5, -1], "size": [2, 9, 2], "inflate": 0.3, "pivot": [0, 0, 0], "rotation": [0, 0, -7.5], "uv": [104, 27], "mirror": true} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-2.9, 5, 0], + "cubes": [ + {"origin": [-3.9, 0, -1], "size": [2, 6, 2], "uv": [94, 0]}, + {"origin": [-3.9, 0, -1], "size": [2, 6, 2], "inflate": 0.3, "uv": [112, 50]} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [2.9, 5, 0], + "cubes": [ + {"origin": [1.9, 0, -1], "size": [2, 6, 2], "uv": [64, 0]}, + {"origin": [1.9, 0, -1], "size": [2, 6, 2], "inflate": 0.3, "uv": [104, 50]} + ] + }, + { + "name": "Head", + "parent": "Body", + "pivot": [0, 16, 0], + "cubes": [ + {"origin": [-4, 16, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 40]}, + {"origin": [-2, 20.9, 0], "size": [4, 8, 8], "inflate": 0.6, "uv": [40, 16]}, + {"origin": [-4, 16, -4], "size": [8, 8, 8], "inflate": 1, "uv": [16, 24]} + ] + }, + { + "name": "Head2", + "parent": "Head", + "pivot": [0, 15, 0], + "cubes": [ + {"origin": [-4, 15, -4], "size": [8, 9, 8], "uv": [67, 2]}, + {"origin": [-4, 15, -4], "size": [8, 9, 8], "inflate": 0.2, "uv": [67, 40]}, + {"origin": [-1, 24, -6], "size": [2, 4, 2], "pivot": [0, 0, 0], "rotation": [-12.5, 0, 0], "uv": [104, 14]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/sea_helmet.geo.json b/src/main/resources/assets/knightquest/geo/sea_helmet.geo.json new file mode 100644 index 00000000..8b9edc4d --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/sea_helmet.geo.json @@ -0,0 +1,33 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-5.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19]}, + {"origin": [-0.6, 26, 13], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [27.5, 0, 0], "uv": [0, 19]}, + {"origin": [4.6, 26, 6], "size": [1, 4, 9], "pivot": [0, 0, 0], "rotation": [15, 0, 0], "uv": [0, 19], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/shield.geo.json b/src/main/resources/assets/knightquest/geo/shield.geo.json new file mode 100644 index 00000000..77cb2a9c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/shield.geo.json @@ -0,0 +1,25 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "bb_main", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-4, 1, -4], "size": [8, 8, 8], "uv": [0, 0]}, + {"origin": [-4, 1, -4], "size": [8, 8, 8], "inflate": 0.5, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/shield_helmet.geo.json b/src/main/resources/assets/knightquest/geo/shield_helmet.geo.json new file mode 100644 index 00000000..e6975942 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/shield_helmet.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 33.6, -2], "size": [12, 5, 4], "pivot": [0, -0.9, 0], "rotation": [0, 90, 0], "uv": [0, 23]}, + {"origin": [-1, 31.6, -1], "size": [2, 2, 2], "uv": [56, 28]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/shinobi_helmet.geo.json b/src/main/resources/assets/knightquest/geo/shinobi_helmet.geo.json new file mode 100644 index 00000000..4c8b6cb8 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/shinobi_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1.5, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/silver_helmet.geo.json b/src/main/resources/assets/knightquest/geo/silver_helmet.geo.json new file mode 100644 index 00000000..e672bb8c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/silver_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-7, 26, -0.2], "size": [3, 4, 1], "inflate": 0.5, "uv": [17, 27]}, + {"origin": [4, 26, -0.2], "size": [3, 4, 1], "inflate": 0.5, "uv": [17, 27], "mirror": true}, + {"origin": [-10.1, 26.8, 0.2], "size": [5, 11, 0], "uv": [0, 21]}, + {"origin": [5.1, 26.8, 0.2], "size": [5, 11, 0], "uv": [0, 21], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/silver_main.geo.json b/src/main/resources/assets/knightquest/geo/silver_main.geo.json new file mode 100644 index 00000000..d22a2ddb --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/silver_main.geo.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedBody", + "pivot": [0, 24, 0] + }, + { + "name": "armorBody", + "parent": "bipedBody", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 1, "uv": [16, 16]} + ] + }, + { + "name": "bipedRightArm", + "pivot": [-5, 22, 0] + }, + { + "name": "armorRightArm", + "parent": "bipedRightArm", + "pivot": [-5, 22, 0], + "cubes": [ + {"origin": [-10, 21, -2], "size": [4, 4, 4], "inflate": 1, "uv": [40, 16]}, + {"origin": [-10, 15.5, -2], "size": [4, 4, 4], "inflate": 0.6, "uv": [40, 24]} + ] + }, + { + "name": "bipedLeftArm", + "pivot": [5, 22, 0] + }, + { + "name": "armorLeftArm", + "parent": "bipedLeftArm", + "pivot": [5, 22, 0], + "cubes": [ + {"origin": [6, 13, -2], "size": [4, 12, 4], "inflate": 1, "uv": [40, 0], "mirror": true}, + {"origin": [3, 19, -4], "size": [5, 5, 1], "uv": [0, 10], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/silverfish_helmet.geo.json b/src/main/resources/assets/knightquest/geo/silverfish_helmet.geo.json new file mode 100644 index 00000000..e02bd50a --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/silverfish_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-1, 28.4, 0.9], "size": [2, 8, 8], "inflate": 0.6, "uv": [0, 16]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/skeleton_helmet.geo.json b/src/main/resources/assets/knightquest/geo/skeleton_helmet.geo.json new file mode 100644 index 00000000..bbb40bdb --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/skeleton_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/skulk2_helmet.geo.json b/src/main/resources/assets/knightquest/geo/skulk2_helmet.geo.json new file mode 100644 index 00000000..bcde72f3 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/skulk2_helmet.geo.json @@ -0,0 +1,38 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-6, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24]}, + {"origin": [-1, 23, -7], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 22]}, + {"origin": [6, 13.10952, -6.64278], "size": [2, 7, 2], "pivot": [6, 25.10952, -5.64278], "rotation": [0, 0, 90], "uv": [0, 22]}, + {"origin": [10, 31.10952, -6.64278], "size": [2, 7, 2], "pivot": [12, 25.10952, -5.64278], "rotation": [0, 0, -90], "uv": [0, 22], "mirror": true}, + {"origin": [-0.5, 32.10952, -2.64278], "size": [1, 7, 2], "pivot": [0, 34.60952, -2.64278], "rotation": [-27.5, 0, 0], "uv": [0, 22]}, + {"origin": [4, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24], "mirror": true}, + {"origin": [-6, 23.5, -0.7], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26]}, + {"origin": [4, 23.5, -0.7], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/skulk3_helmet.geo.json b/src/main/resources/assets/knightquest/geo/skulk3_helmet.geo.json new file mode 100644 index 00000000..29c52786 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/skulk3_helmet.geo.json @@ -0,0 +1,38 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-6, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24]}, + {"origin": [-1, 23, -7], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 22]}, + {"origin": [6, 13.10952, -6.64278], "size": [2, 7, 2], "pivot": [6, 25.10952, -5.64278], "rotation": [0, 0, 90], "uv": [0, 22]}, + {"origin": [10, 31.10952, -6.64278], "size": [2, 7, 2], "pivot": [12, 25.10952, -5.64278], "rotation": [0, 0, -90], "uv": [0, 22], "mirror": true}, + {"origin": [-6, 29.10952, 3.35722], "size": [1, 7, 2], "pivot": [0, 34.60952, -2.64278], "rotation": [-27.5, 0, 0], "uv": [0, 22]}, + {"origin": [4, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24], "mirror": true}, + {"origin": [-6, 23.5, -0.7], "size": [2, 4, 2], "inflate": 0.5, "uv": [8, 26]}, + {"origin": [4, 23.5, -0.7], "size": [2, 4, 2], "inflate": 0.5, "uv": [8, 26], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/skulk4_helmet.geo.json b/src/main/resources/assets/knightquest/geo/skulk4_helmet.geo.json new file mode 100644 index 00000000..f2d46a29 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/skulk4_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-6, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24]}, + {"origin": [4, 23.1, -4.7], "size": [2, 2, 4], "uv": [16, 24], "mirror": true}, + {"origin": [-6, 23.5, -0.7], "size": [2, 4, 2], "inflate": 0.5, "uv": [8, 26]}, + {"origin": [4, 23.5, -0.7], "size": [2, 4, 2], "inflate": 0.5, "uv": [8, 26], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/skulk_helmet.geo.json b/src/main/resources/assets/knightquest/geo/skulk_helmet.geo.json new file mode 100644 index 00000000..caf4a5bd --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/skulk_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-6, 27, -1], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26]}, + {"origin": [-4, 32.26977, -2.24086], "size": [2, 8, 2], "pivot": [-3, 35.26977, -3.24086], "rotation": [-30, 0, 0], "uv": [0, 22]}, + {"origin": [2, 32.26977, -2.24086], "size": [2, 8, 2], "pivot": [3, 35.26977, -3.24086], "rotation": [-30, 0, 0], "uv": [0, 22], "mirror": true}, + {"origin": [4, 27, -1], "size": [2, 2, 2], "inflate": 0.5, "uv": [8, 26], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/spider_helmet.geo.json b/src/main/resources/assets/knightquest/geo/spider_helmet.geo.json new file mode 100644 index 00000000..25d516f1 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/spider_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1.5, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/spider_main.geo.json b/src/main/resources/assets/knightquest/geo/spider_main.geo.json new file mode 100644 index 00000000..0b51b2e4 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/spider_main.geo.json @@ -0,0 +1,54 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedBody", + "pivot": [0, 24, 0] + }, + { + "name": "armorBody", + "parent": "bipedBody", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 1, "uv": [16, 16]}, + {"origin": [-4, 15, 4], "size": [8, 9, 4], "inflate": 1, "uv": [0, 0]} + ] + }, + { + "name": "bipedRightArm", + "pivot": [-5, 22, 0] + }, + { + "name": "armorRightArm", + "parent": "bipedRightArm", + "pivot": [-5, 22, 0], + "cubes": [ + {"origin": [-9, 12, -2], "size": [4, 12, 4], "inflate": 1, "uv": [40, 16]} + ] + }, + { + "name": "bipedLeftArm", + "pivot": [5, 22, 0] + }, + { + "name": "armorLeftArm", + "parent": "bipedLeftArm", + "pivot": [5, 22, 0], + "cubes": [ + {"origin": [5, 12, -2], "size": [4, 12, 4], "inflate": 1, "uv": [40, 16], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/squire_helmet.geo.json b/src/main/resources/assets/knightquest/geo/squire_helmet.geo.json new file mode 100644 index 00000000..20e4bd88 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/squire_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 28.9, 0], "size": [4, 8, 8], "inflate": 0.6, "uv": [0, 16]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/strawhat_helmet.geo.json b/src/main/resources/assets/knightquest/geo/strawhat_helmet.geo.json new file mode 100644 index 00000000..580d8869 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/strawhat_helmet.geo.json @@ -0,0 +1,33 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-10, 26, -10], "size": [20, 5, 20], "uv": [0, 16]}, + {"origin": [-3, 33, -3], "size": [6, 1, 6], "uv": [56, 1]}, + {"origin": [-3, 28, -11], "size": [6, 6, 1], "uv": [60, 17]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/swampman.geo.json b/src/main/resources/assets/knightquest/geo/swampman.geo.json new file mode 100644 index 00000000..99202fca --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/swampman.geo.json @@ -0,0 +1,86 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.kq_fishman", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "Body", + "pivot": [0, 14.14849, -0.56711], + "cubes": [ + {"origin": [0, 22, -0.4], "size": [0, 8, 6], "pivot": [0, 26, 0], "rotation": [25, 0, 0], "uv": [64, -2]}, + {"origin": [-4, 14, -3], "size": [8, 8, 4], "pivot": [0, 18, 0], "rotation": [12.5, 0, 0], "uv": [40, 0]}, + {"origin": [-6, 22, -6.4], "size": [12, 8, 6], "pivot": [0, 26, 0], "rotation": [25, 0, 0], "uv": [0, 0]} + ] + }, + { + "name": "head", + "parent": "Body", + "pivot": [0, 29, -2], + "cubes": [ + {"origin": [-4, 25, -11], "size": [8, 8, 8], "uv": [0, 14]}, + {"origin": [-4, 25, -11], "size": [8, 8, 8], "inflate": 0.5, "uv": [0, 70]}, + {"origin": [-4, 25, -11], "size": [8, 8, 8], "inflate": 1, "uv": [0, 86]}, + {"origin": [4, 28, -10], "size": [2, 3, 3], "uv": [24, 16]}, + {"origin": [-6, 28, -10], "size": [2, 3, 3], "uv": [24, 16], "mirror": true}, + {"origin": [5, 25, -9], "size": [0, 8, 8], "pivot": [4, 29, -7], "rotation": [0, 25, 0], "uv": [112, -8]}, + {"origin": [-5, 25, -9], "size": [0, 8, 8], "pivot": [-4, 29, -7], "rotation": [0, -25, 0], "uv": [112, -8], "mirror": true}, + {"origin": [0, 29, -8], "size": [0, 8, 8], "uv": [24, 62], "mirror": true} + ] + }, + { + "name": "RightArm", + "parent": "Body", + "pivot": [-7, 26, -3], + "cubes": [ + {"origin": [-10, 13, -5], "size": [4, 15, 4], "pivot": [-8, 27, -3], "rotation": [-130, 0, 0], "uv": [57, 12]}, + {"origin": [-8.5, 13.5, -10], "size": [1, 1, 12], "pivot": [-8, 27, -3], "rotation": [-130, 0, 0], "uv": [26, 26]}, + {"origin": [-8, 9, -18], "size": [0, 9, 10], "pivot": [-8, 27, -3], "rotation": [-130, 0, 0], "uv": [56, 24]} + ] + }, + { + "name": "LeftArm", + "parent": "Body", + "pivot": [7, 27, -4], + "cubes": [ + {"origin": [6, 14, -6], "size": [4, 15, 4], "uv": [40, 12]} + ] + }, + { + "name": "Tail", + "parent": "Body", + "pivot": [0, 16, 1], + "cubes": [ + {"origin": [-2, 14, 0], "size": [4, 4, 9], "pivot": [0, 16, 1], "rotation": [-20, 0, 0], "uv": [0, 39]}, + {"origin": [0, 11.5, 1], "size": [0, 10, 13], "pivot": [0, 16, 1], "rotation": [-20, 0, 0], "uv": [60, 35]} + ] + }, + { + "name": "RightLeg", + "parent": "Body", + "pivot": [-2.9, 14, 0], + "cubes": [ + {"origin": [-4.9, 0, -2], "size": [4, 14, 4], "uv": [0, 52]}, + {"origin": [-5.9, 0, -8], "size": [6, 0, 10], "uv": [51, 58]} + ] + }, + { + "name": "LeftLeg", + "parent": "Body", + "pivot": [2.9, 14, 0], + "cubes": [ + {"origin": [0.9, 0, -2], "size": [4, 14, 4], "uv": [0, 52], "mirror": true}, + {"origin": [-0.1, 0, -8], "size": [6, 0, 10], "uv": [51, 58], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/tengu_helmet.geo.json b/src/main/resources/assets/knightquest/geo/tengu_helmet.geo.json new file mode 100644 index 00000000..10785120 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/tengu_helmet.geo.json @@ -0,0 +1,31 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-1, 25, -12.6], "size": [2, 2, 8], "uv": [2, 16]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/veteran_helmet.geo.json b/src/main/resources/assets/knightquest/geo/veteran_helmet.geo.json new file mode 100644 index 00000000..d94d02c9 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/veteran_helmet.geo.json @@ -0,0 +1,36 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 28.9, 0], "size": [4, 8, 8], "inflate": 0.6, "uv": [0, 16]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]}, + {"origin": [-4, 20, -21], "size": [8, 8, 3], "inflate": 1, "pivot": [0, 0, 0], "rotation": [-32.5, 0, 0], "uv": [42, 21]}, + {"origin": [-7, 27, -1], "size": [1, 2, 2], "inflate": 0.5, "uv": [24, 22]}, + {"origin": [4, 27, -1], "size": [1, 2, 2], "inflate": 1, "uv": [32, 26], "mirror": true}, + {"origin": [-5, 27, -1], "size": [1, 2, 2], "inflate": 1, "uv": [32, 26]}, + {"origin": [6, 27, -1], "size": [1, 2, 2], "inflate": 0.5, "uv": [24, 22], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/veteran_leggings.geo.json b/src/main/resources/assets/knightquest/geo/veteran_leggings.geo.json new file mode 100644 index 00000000..4183f6e6 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/veteran_leggings.geo.json @@ -0,0 +1,54 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedBody", + "pivot": [0, 24, 0] + }, + { + "name": "armorBody", + "parent": "bipedBody", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 0.51, "uv": [16, 16]}, + {"origin": [-4, 11, 2.4], "size": [4, 4, 2], "uv": [0, 0]} + ] + }, + { + "name": "bipedRightLeg", + "pivot": [-1.9, 12, 0] + }, + { + "name": "armorRightLeg", + "parent": "bipedRightLeg", + "pivot": [-1.9, 12, 0], + "cubes": [ + {"origin": [-3.9, 0, -2], "size": [4, 12, 4], "inflate": 0.5, "uv": [0, 16]} + ] + }, + { + "name": "bipedLeftLeg", + "pivot": [-1.9, 12, 0] + }, + { + "name": "armorLeftLeg", + "parent": "bipedLeftLeg", + "pivot": [1.9, 12, 0], + "cubes": [ + {"origin": [-0.1, 0, -2], "size": [4, 12, 4], "inflate": 0.5, "uv": [0, 16], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/veteran_main.geo.json b/src/main/resources/assets/knightquest/geo/veteran_main.geo.json new file mode 100644 index 00000000..e9a0db85 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/veteran_main.geo.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedBody", + "pivot": [0, 24, 0] + }, + { + "name": "armorBody", + "parent": "bipedBody", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 11, 2.4], "size": [4, 4, 2], "uv": [0, 0]}, + {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 1, "uv": [16, 16]} + ] + }, + { + "name": "bipedRightArm", + "pivot": [-5, 22, 0] + }, + { + "name": "armorRightArm", + "parent": "bipedRightArm", + "pivot": [-5, 22, 0], + "cubes": [ + {"origin": [-9, 12, -2], "size": [4, 12, 4], "inflate": 0.7, "uv": [40, 16]} + ] + }, + { + "name": "bipedLeftArm", + "pivot": [5, 22, 0] + }, + { + "name": "armorLeftArm", + "parent": "bipedLeftArm", + "pivot": [5, 22, 0], + "cubes": [ + {"origin": [5, 12, -2], "size": [4, 12, 4], "inflate": 1, "uv": [40, 0], "mirror": true}, + {"origin": [3, 19, -4], "size": [5, 5, 1], "uv": [0, 10], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/warlord_helmet.geo.json b/src/main/resources/assets/knightquest/geo/warlord_helmet.geo.json new file mode 100644 index 00000000..fae92d8d --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/warlord_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 13, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 13, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/witch_helmet.geo.json b/src/main/resources/assets/knightquest/geo/witch_helmet.geo.json new file mode 100644 index 00000000..4c8b6cb8 --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/witch_helmet.geo.json @@ -0,0 +1,30 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 2, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [0, 0]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1.5, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/zombie_helmet.geo.json b/src/main/resources/assets/knightquest/geo/zombie_helmet.geo.json new file mode 100644 index 00000000..404f354c --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/zombie_helmet.geo.json @@ -0,0 +1,34 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-6, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [0, 26]}, + {"origin": [4, 27, -1], "size": [2, 2, 2], "inflate": 1, "uv": [0, 26], "mirror": true}, + {"origin": [-9, 27, -6], "size": [2, 2, 10], "inflate": 0.5, "uv": [0, 20]}, + {"origin": [7, 27, -6], "size": [2, 2, 10], "inflate": 0.5, "uv": [0, 20], "mirror": true}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/geo/zombie_helmet2.geo.json b/src/main/resources/assets/knightquest/geo/zombie_helmet2.geo.json new file mode 100644 index 00000000..7e13563e --- /dev/null +++ b/src/main/resources/assets/knightquest/geo/zombie_helmet2.geo.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.128", + "texture_width": 64, + "texture_height": 32, + "visible_bounds_width": 3, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "bipedHead", + "pivot": [0, 24, 0] + }, + { + "name": "armorHead", + "parent": "bipedHead", + "pivot": [0, 24, 0], + "cubes": [ + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.6, "uv": [0, 0]}, + {"origin": [-2, 32.5, -2], "size": [4, 2, 4], "uv": [29, 26]}, + {"origin": [-2, 34, -2], "size": [4, 8, 4], "inflate": -0.5, "uv": [45, 20]}, + {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 1, "uv": [32, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/item_skins/khopesh_claymore.json b/src/main/resources/assets/knightquest/item_skins/khopesh_claymore.json new file mode 100644 index 00000000..6420f023 --- /dev/null +++ b/src/main/resources/assets/knightquest/item_skins/khopesh_claymore.json @@ -0,0 +1,11 @@ +{ + "trail": { + "color": [226, 193, 94], + "begin_pos": [0.0, 0.0, -0.2], + "end_pos": [0.0, -0.1, -1.3], + "lifetime": 6, + "interpolations": 5, + "texture_path": "epicfight:textures/particle/swing_trail.png", + "particle_type": "epicfight:swing_trail" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/item_skins/paladin_sword.json b/src/main/resources/assets/knightquest/item_skins/paladin_sword.json new file mode 100644 index 00000000..66a31585 --- /dev/null +++ b/src/main/resources/assets/knightquest/item_skins/paladin_sword.json @@ -0,0 +1,11 @@ +{ + "trail": { + "color": [211, 211, 211], + "begin_pos": [0.0, 0.0, -0.5], + "end_pos": [0.0, 0.2, -1], + "lifetime": 7, + "interpolations": 5, + "texture_path": "epicfight:textures/particle/swing_trail.png", + "particle_type": "epicfight:swing_trail" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/item_skins/uchigatana_katana.json b/src/main/resources/assets/knightquest/item_skins/uchigatana_katana.json new file mode 100644 index 00000000..be995ed9 --- /dev/null +++ b/src/main/resources/assets/knightquest/item_skins/uchigatana_katana.json @@ -0,0 +1,11 @@ +{ + "trail": { + "color": [102, 51, 153], + "begin_pos": [0.0, 0.0, -0.2], + "end_pos": [0.0, -0.22, -1.75], + "lifetime": 3, + "interpolations": 6, + "texture_path": "epicfight:textures/particle/katana_trail.png", + "particle_type": "epicfight:katana_trail" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/de_de.json b/src/main/resources/assets/knightquest/lang/de_de.json new file mode 100644 index 00000000..2d4901d3 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/de_de.json @@ -0,0 +1,230 @@ +{ + "itemgroup.knightquest": "Ritter-Quest", + "item.knightquest.great_essence": "Große Essenz", + "item.knightquest.small_essence": "Kleine Essenz", + "item.knightquest.empty_goblet": "Leerer Kelch", + "item.knightquest.filled_goblet": "Gefüllter Kelch", + "item.knightquest.paladin_sword": "Paladin-Schwert", + "item.knightquest.nail_glaive": "Nagel-Glaive", + "item.knightquest.uchigatana_katana": "Uchigatana", + "item.knightquest.kukri_dagger": "Kukri", + "item.knightquest.khopesh_claymore": "Khopesh", + "item.knightquest.cleaver_heavy_axe": "Fleischerbeil", + "item.knightquest.crimson_sword": "Karmesin-Schwert", + "item.knightquest.water_sword": "Wasserschwert", + "item.knightquest.steel_sword": "Stahlschwert", + "item.knightquest.water_axe": "Wasseraxt", + "item.knightquest.steel_axe": "Stahlaxt", + "item.knightquest.ratman_eye": "Rattenmanns Auge", + "item.knightquest.lizzy_scale": "Lizzy-Schuppe", + "item.knightquest.gremlin_spawn_egg": "Gremlin-Spawnei", + "item.knightquest.eldbomb_spawn_egg": "Eldbomb-Spawnei", + "item.knightquest.eldknight_spawn_egg": "Eldknight-Spawnei", + "item.knightquest.ratman_spawn_egg": "Rattenmann-Spawnei", + "item.knightquest.samhain_spawn_egg": "Samhain-Spawnei", + "item.knightquest.swampman_spawn_egg": "Sumpfmensch-Spawnei", + "item.knightquest.lizzy_spawn_egg": "Lizzy-Spawnei", + "item.knightquest.bad_patch_spawn_egg": "Schlechter Patch-Spawnei", + "item.knightquest.momma_lizzy_spawn_egg": "Momma Lizzy-Spawnei", + "item.knightquest.ghastling_spawn_egg": "Geisterling-Spawnei", + "item.knightquest.ghosty_spawn_egg": "Gespenst-Spawnei", + "item.knightquest.apple_helmet": "Apfelhelm", + "item.knightquest.apple_chestplate": "Apfelbrustplatte", + "item.knightquest.apple_leggings": "Apfelbeinlinge", + "item.knightquest.apple_boots": "Apfelstiefel", + "item.knightquest.bamboo_blue_helmet": "Blauer Bambushelm", + "item.knightquest.bamboo_blue_chestplate": "Blaue Bambusbrustplatte", + "item.knightquest.bamboo_blue_leggings": "Blaue Bambusbeinlinge", + "item.knightquest.bamboo_blue_boots": "Blaue Bambusstiefel", + "item.knightquest.bamboo_green_helmet": "Grüner Bambushelm", + "item.knightquest.bamboo_green_chestplate": "Grüne Bambusbrustplatte", + "item.knightquest.bamboo_green_leggings": "Grüne Bambusbeinlinge", + "item.knightquest.bamboo_green_boots": "Grüne Bambusstiefel", + "item.knightquest.bamboo_helmet": "Bambushelm", + "item.knightquest.bamboo_chestplate": "Bambusbrustplatte", + "item.knightquest.bamboo_leggings": "Bambusbeinlinge", + "item.knightquest.bamboo_boots": "Bambusstiefel", + "item.knightquest.bat_helmet": "Fledermaushelm", + "item.knightquest.bat_chestplate": "Fledermausbrustplatte", + "item.knightquest.bat_leggings": "Fledermausbeinlinge", + "item.knightquest.bat_boots": "Fledermausstiefel", + "item.knightquest.blaze_helmet": "Lohenhelm", + "item.knightquest.blaze_chestplate": "Lohenbrustplatte", + "item.knightquest.blaze_leggings": "Lohenbeinlinge", + "item.knightquest.blaze_boots": "Lohenstiefel", + "item.knightquest.bow_helmet": "Bogenhelm", + "item.knightquest.bow_chestplate": "Bogenbrustplatte", + "item.knightquest.bow_leggings": "Bogenbeinlinge", + "item.knightquest.bow_boots": "Bogenstiefel", + "item.knightquest.horn_helmet": "Hornhelm", + "item.knightquest.horn_chestplate": "Hornbrustplatte", + "item.knightquest.horn_leggings": "Hornbeinlinge", + "item.knightquest.horn_boots": "Hornstiefel", + "item.knightquest.creeper_helmet": "Creeperhelm", + "item.knightquest.creeper_chestplate": "Creeperbrustplatte", + "item.knightquest.creeper_leggings": "Creeperbeinlinge", + "item.knightquest.creeper_boots": "Creeperstiefel", + "item.knightquest.deepslate_helmet": "Tiefenschleierhelm", + "item.knightquest.deepslate_chestplate": "Tiefenschleierbrustplatte", + "item.knightquest.deepslate_leggings": "Tiefenschleierbeinlinge", + "item.knightquest.deepslate_boots": "Tiefenschleierstiefel", + "item.knightquest.dragon_helmet": "Drachenhelm", + "item.knightquest.dragon_chestplate": "Drachenbrustplatte", + "item.knightquest.dragon_leggings": "Drachenbeinlinge", + "item.knightquest.dragon_boots": "Drachenstiefel", + "item.knightquest.enderman_helmet": "Endermannhelm", + "item.knightquest.enderman_chestplate": "Endermannbrustplatte", + "item.knightquest.enderman_leggings": "Endermannbeinlinge", + "item.knightquest.enderman_boots": "Endermannstiefel", + "item.knightquest.evoker_helmet": "Beschwörerhelm", + "item.knightquest.evoker_chestplate": "Beschwörerbrustplatte", + "item.knightquest.evoker_leggings": "Beschwörerbeinlinge", + "item.knightquest.evoker_boots": "Beschwörerstiefel", + "item.knightquest.forze_helmet": "Forzenhelm", + "item.knightquest.forze_chestplate": "Forzenbrustplatte", + "item.knightquest.forze_leggings": "Forzenbeinlinge", + "item.knightquest.forze_boots": "Forzenstiefel", + "item.knightquest.hollow_helmet": "Hohelhelm", + "item.knightquest.hollow_chestplate": "Hohelbrustplatte", + "item.knightquest.hollow_leggings": "Hohelbeinlinge", + "item.knightquest.hollow_boots": "Hohelstiefel", + "item.knightquest.nether_helmet": "Netherhelm", + "item.knightquest.nether_chestplate": "Netherbrustplatte", + "item.knightquest.nether_leggings": "Netherbeinlinge", + "item.knightquest.nether_boots": "Netherstiefel", + "item.knightquest.path_helmet": "Pfadhelm", + "item.knightquest.path_chestplate": "Pfadbrustplatte", + "item.knightquest.path_leggings": "Pfadbeinlinge", + "item.knightquest.path_boots": "Pfadstiefel", + "item.knightquest.veteran_helmet": "Veteranenhelm", + "item.knightquest.veteran_chestplate": "Veteranenbrustplatte", + "item.knightquest.veteran_leggings": "Veteranenbeinlinge", + "item.knightquest.veteran_boots": "Veteranenstiefel", + "item.knightquest.phantom_helmet": "Phantomhelm", + "item.knightquest.phantom_chestplate": "Phantombrustplatte", + "item.knightquest.phantom_leggings": "Phantombeinlinge", + "item.knightquest.phantom_boots": "Phantomstiefel", + "item.knightquest.sea_helmet": "Meereshelm", + "item.knightquest.sea_chestplate": "Meeresbrustplatte", + "item.knightquest.sea_leggings": "Meeresbeinlinge", + "item.knightquest.sea_boots": "Meeresstiefel", + "item.knightquest.shield_helmet": "Schildhelm", + "item.knightquest.shield_chestplate": "Schildbrustplatte", + "item.knightquest.shield_leggings": "Schildbeinlinge", + "item.knightquest.shield_boots": "Schildstiefel", + "item.knightquest.silver_helmet": "Silberhelm", + "item.knightquest.silver_chestplate": "Silberbrustplatte", + "item.knightquest.silver_leggings": "Silberbeinlinge", + "item.knightquest.silver_boots": "Silberstiefel", + "item.knightquest.silverfish_helmet": "Silberfischhelm", + "item.knightquest.silverfish_chestplate": "Silberfischbrustplatte", + "item.knightquest.silverfish_leggings": "Silberfischbeinlinge", + "item.knightquest.silverfish_boots": "Silberfischstiefel", + "item.knightquest.skeleton_helmet": "Skeletthelm", + "item.knightquest.skeleton_chestplate": "Skelettbrustplatte", + "item.knightquest.skeleton_leggings": "Skelettbeinlinge", + "item.knightquest.skeleton_boots": "Skelettstiefel", + "item.knightquest.spider_helmet": "Spinnenhelm", + "item.knightquest.spider_chestplate": "Spinnenbrustplatte", + "item.knightquest.spider_leggings": "Spinnenbeinlinge", + "item.knightquest.spider_boots": "Spinnenstiefel", + "item.knightquest.warlord_helmet": "Kriegsherrhelm", + "item.knightquest.warlord_chestplate": "Kriegsherrbrustplatte", + "item.knightquest.warlord_leggings": "Kriegsherrbeinlinge", + "item.knightquest.warlord_boots": "Kriegsherrstiefel", + "item.knightquest.strawhat_helmet": "Strohhut-Helm", + "item.knightquest.strawhat_chestplate": "Strohhut-Brustplatte", + "item.knightquest.strawhat_leggings": "Strohhut-Beinlinge", + "item.knightquest.strawhat_boots": "Strohhut-Stiefel", + "item.knightquest.pirate_helmet": "Piratenhelm", + "item.knightquest.pirate_chestplate": "Piratenbrustplatte", + "item.knightquest.pirate_leggings": "Piratenbeinlinge", + "item.knightquest.pirate_boots": "Piratenstiefel", + "item.knightquest.conquistador_helmet": "Konquistadorenhelm", + "item.knightquest.conquistador_chestplate": "Konquistadorenbrustplatte", + "item.knightquest.conquistador_leggings": "Konquistadorenbeinlinge", + "item.knightquest.conquistador_boots": "Konquistadorenstiefel", + "item.knightquest.zombie_helmet": "Zombiehelm", + "item.knightquest.zombie_chestplate": "Zombiebrustplatte", + "item.knightquest.zombie_leggings": "Zombiebeinlinge", + "item.knightquest.zombie_boots": "Zombiestiefel", + "item.knightquest.tengu_helmet": "Tengu-Maske", + "item.knightquest.zombie_helmet2": "Gefiederter Zombiehelm", + "item.knightquest.conquistador2_helmet": "Korsarenhelm", + "item.knightquest.conquistador3_helmet": "Fechtmeisterhelm", + "item.knightquest.pirate2_helmet": "Augenklappe", + "item.knightquest.pirate3_helmet": "Freibeuterhelm", + "item.knightquest.husk_helmet2": "Huskenfürsthelm", + "item.knightquest.husk_helmet3": "Huskenkriegerhelm", + "item.knightquest.husk_helmet": "Huskhelm", + "item.knightquest.husk_chestplate": "Huskbrustplatte", + "item.knightquest.husk_leggings": "Huskbeinlinge", + "item.knightquest.husk_boots": "Huskstiefel", + "item.knightquest.squire_helmet": "Knappehelm", + "item.knightquest.squire_chestplate": "Knappenbrustplatte", + "item.knightquest.squire_leggings": "Knappenbeinlinge", + "item.knightquest.squire_boots": "Knappenstiefel", + "item.knightquest.wither_helmet": "Witherschädelhelm", + "item.knightquest.wither_chestplate": "Witherbrustplatte", + "item.knightquest.wither_leggings": "Witherbeinlinge", + "item.knightquest.wither_boots": "Witherstiefel", + "item.knightquest.tunic_red_leggings": "Rote Tunika", + "item.knightquest.tunic_yellow_leggings": "Gelbe Tunika", + "item.knightquest.tunic_green_leggings": "Grüne Tunika", + "item.knightquest.tunic_blue_leggings": "Blaue Tunika", + "item.knightquest.tunic_sea_leggings": "Meeres-Tunika", + "item.knightquest.chainmail_helmet": "Kettenhemd-Kriegerhelm", + "item.knightquest.chainmail_helmet2": "Kettenhelm", + "item.knightquest.skulk_chestplate": "Schleichbrustplatte", + "item.knightquest.skulk_leggings": "Schleichbeinlinge", + "item.knightquest.skulk_boots": "Schleichstiefel", + "item.knightquest.skulk_helmet": "Schleichhelm", + "item.knightquest.skulk2_helmet": "Schleichschattenhelm", + "item.knightquest.skulk3_helmet": "Schleichspektralhelm", + "item.knightquest.skulk4_helmet": "Schleichschildwachenhelm", + "item.knightquest.skulk_marbled_helmet": "Marmorierte Schleichhelm", + "item.knightquest.shinobi_helmet": "Shinobi-Helm", + "item.knightquest.shinobi_chestplate": "Shinobi-Brustplatte", + "item.knightquest.shinobi_leggings": "Shinobi-Beinlinge", + "item.knightquest.shinobi_boots": "Shinobi-Stiefel", + "item.knightquest.polar_helmet": "Polarkappenhelm", + "item.knightquest.polar_chestplate": "Polarkappenbrustplatte", + "item.knightquest.polar_leggings": "Polarkappenbeinlinge", + "item.knightquest.polar_boots": "Polarkappenstiefel", + "item.knightquest.witch_helmet": "Hexenhut-Helm", + "item.knightquest.witch_chestplate": "Hexenbrustplatte", + "item.knightquest.witch_leggings": "Hexenbeinlinge", + "item.knightquest.witch_boots": "Hexenstiefel", + "tooltip.item.knightquest.lizzy_scale": "§8§oEine Echsenschuppe.", + "tooltip.item.knightquest.ratman_eye": "§8§oEntschleiert Geheimnisse, entdeckt Gefahren. Klug verwenden.", + "tooltip.item.knightquest.paladin_sword": "§8§oStrahlt die Gerechtigkeit und Tapferkeit eines verlorenen Paladins aus...", + "tooltip.item.knightquest.hollow_helmet": "§8§oEs gibt eine gewisse Traurigkeit, die man im Regen spüren kann...", + "tooltip.item.knightquest.great_essence": "§8§oBiete vier einem großen Kelch an.", + "tooltip.item.knightquest.small_essence": "§8§oKombiniere vier, um eine große Essenz herzustellen!", + "tooltip.item.knightquest.filled_goblet": "§8§oVerwende es, um mächtige Rüstungen herzustellen!", + "tooltip.item.knightquest.empty_goblet": "§8§oEin Kelch, um Essenz aus einem Großen Kelch zu sammeln.", + "tooltip.item.knightquest.great_chalice": "§8§oBiete dem Kelch große Essenz an.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oKann nur beschworen werden, wenn ein Gremlin der zweiten Phase in der Nähe ist.", + "tooltip.item.knightquest.squire_helmet": "§8§oAus irgendeinem Grund liebt Samhain diesen Hut...", + "block.knightquest.great_chalice": "Großer Kelch", + "tooltip.item.knightquest.full_set_bonus": "Vollständiger Set-Bonus:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o- Gewährt Nachtsicht bei Nacht", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o- Gewährt Unsichtbarkeit beim Schleichen", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o- Gewährt Geschwindigkeit beim Halten einer Fernwaffe", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o- Gewährt Stärke, wenn man von einem Monster getroffen wird", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o- Gewährt Resistenz", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o- Gewährt Delfingrazie, wenn untergetaucht", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o- Reduziert 75 % des groben Fallschadens", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o- 30 % Chance, den Gegner zu verbrennen", + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Schlechter Fleck", + "entity.knightquest.eldbomb": "Eld-Bombe", + "entity.knightquest.eldknight": "Eld-Ritter", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Sumpfmann", + "entity.knightquest.ratman": "Rattenmann", + "entity.knightquest.ghastling": "Geisterling", + "entity.knightquest.ghosty": "Geisterchen", + "entity.knightquest.momma_lizzy": "Mama Lizzy" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/en_us.json b/src/main/resources/assets/knightquest/lang/en_us.json new file mode 100644 index 00000000..513a71ae --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/en_us.json @@ -0,0 +1,268 @@ +{ + "itemgroup.knightquest": "Knight Quest", + + "item.knightquest.great_essence": "Great essence", + "item.knightquest.small_essence": "Small Essence", + "item.knightquest.empty_goblet": "Empty Goblet", + "item.knightquest.filled_goblet": "Filled Goblet", + "item.knightquest.paladin_sword": "Paladin Sword", + "item.knightquest.nail_glaive": "Nail Glaive", + "item.knightquest.uchigatana_katana": "Uchigatana", + "item.knightquest.kukri_dagger": "Kukri", + "item.knightquest.khopesh_claymore": "Khopesh", + "item.knightquest.cleaver_heavy_axe": "Cleaver", + "item.knightquest.crimson_sword": "Crimson Sword", + "item.knightquest.water_sword": "Water Sword", + "item.knightquest.steel_sword": "Steel Sword", + "item.knightquest.water_axe": "Water axe", + "item.knightquest.steel_axe": "Steel axe", + "item.knightquest.ratman_eye": "Ratman eye", + "item.knightquest.lizzy_scale": "Lizzy scale", + + "item.knightquest.gremlin_spawn_egg": "Gremlin Spawn Egg", + "item.knightquest.eldbomb_spawn_egg": "Eldbomb Spawn Egg", + "item.knightquest.eldknight_spawn_egg": "Eldknight Spawn Egg", + "item.knightquest.ratman_spawn_egg": "Ratman Spawn Egg", + "item.knightquest.samhain_spawn_egg": "Samhain Spawn Egg", + "item.knightquest.swampman_spawn_egg": "Swampman Spawn Egg", + "item.knightquest.lizzy_spawn_egg": "Lizzy Spawn Egg", + "item.knightquest.bad_patch_spawn_egg": "Bad Patch Spawn Egg", + "item.knightquest.momma_lizzy_spawn_egg": "Momma Lizzy Spawn Egg", + "item.knightquest.ghastling_spawn_egg": "Ghastling Spawn Egg", + "item.knightquest.ghosty_spawn_egg": "Ghosty Spawn Egg", + + "item.knightquest.apple_helmet": "Apple Helmet", + "item.knightquest.apple_chestplate": "Apple Chestplate", + "item.knightquest.apple_leggings": "Apple Leggings", + "item.knightquest.apple_boots": "Apple Boots", + "item.knightquest.bamboo_blue_helmet": "Blue Bamboo Helmet", + "item.knightquest.bamboo_blue_chestplate": "Blue Bamboo Chestplate", + "item.knightquest.bamboo_blue_leggings": "Blue Bamboo Leggings", + "item.knightquest.bamboo_blue_boots": "Blue Bamboo Boots", + "item.knightquest.bamboo_green_helmet": "Green Bamboo Helmet", + "item.knightquest.bamboo_green_chestplate": "Green Bamboo Chestplate", + "item.knightquest.bamboo_green_leggings": "Green Bamboo Leggings", + "item.knightquest.bamboo_green_boots": "Green Bamboo Boots", + "item.knightquest.bamboo_helmet": "Bamboo Helmet", + "item.knightquest.bamboo_chestplate": "Bamboo Chestplate", + "item.knightquest.bamboo_leggings": "Bamboo Leggings", + "item.knightquest.bamboo_boots": "Bamboo Boots", + "item.knightquest.bat_helmet": "Bat Helmet", + "item.knightquest.bat_chestplate": "Bat Chestplate", + "item.knightquest.bat_leggings": "Bat Leggings", + "item.knightquest.bat_boots": "Bat Boots", + "item.knightquest.blaze_helmet": "Blaze Helmet", + "item.knightquest.blaze_chestplate": "Blaze Chestplate", + "item.knightquest.blaze_leggings": "Blaze Leggings", + "item.knightquest.blaze_boots": "Blaze Boots", + "item.knightquest.bow_helmet": "Bow Helmet", + "item.knightquest.bow_chestplate": "Bow Chestplate", + "item.knightquest.bow_leggings": "Bow Leggings", + "item.knightquest.bow_boots": "Bow Boots", + "item.knightquest.horn_helmet": "Horn Helmet", + "item.knightquest.horn_chestplate": "Horn Chestplate", + "item.knightquest.horn_leggings": "Horn Leggings", + "item.knightquest.horn_boots": "Horn Boots", + "item.knightquest.creeper_helmet": "Creeper Helmet", + "item.knightquest.creeper_chestplate": "Creeper Chestplate", + "item.knightquest.creeper_leggings": "Creeper Leggings", + "item.knightquest.creeper_boots": "Creeper Boots", + "item.knightquest.deepslate_helmet": "Deepslate Helmet", + "item.knightquest.deepslate_chestplate": "Deepslate Chestplate", + "item.knightquest.deepslate_leggings": "Deepslate Leggings", + "item.knightquest.deepslate_boots": "Deepslate Boots", + "item.knightquest.dragon_helmet": "Dragon Helmet", + "item.knightquest.dragon_chestplate": "Dragon Chestplate", + "item.knightquest.dragon_leggings": "Dragon Leggings", + "item.knightquest.dragon_boots": "Dragon Boots", + "item.knightquest.enderman_helmet": "Enderman Helmet", + "item.knightquest.enderman_chestplate": "Enderman Chestplate", + "item.knightquest.enderman_leggings": "Enderman Leggings", + "item.knightquest.enderman_boots": "Enderman Boots", + "item.knightquest.evoker_helmet": "Evoker Helmet", + "item.knightquest.evoker_chestplate": "Evoker Chestplate", + "item.knightquest.evoker_leggings": "Evoker Leggings", + "item.knightquest.evoker_boots": "Evoker Boots", + "item.knightquest.forze_helmet": "Forze Helmet", + "item.knightquest.forze_chestplate": "Forze Chestplate", + "item.knightquest.forze_leggings": "Forze Leggings", + "item.knightquest.forze_boots": "Forze Boots", + "item.knightquest.hollow_helmet": "Hollow Helmet", + "item.knightquest.hollow_chestplate": "Hollow Chestplate", + "item.knightquest.hollow_leggings": "Hollow Leggings", + "item.knightquest.hollow_boots": "Hollow Boots", + "item.knightquest.nether_helmet": "Nether Helmet", + "item.knightquest.nether_chestplate": "Nether Chestplate", + "item.knightquest.nether_leggings": "Nether Leggings", + "item.knightquest.nether_boots": "Nether Boots", + "item.knightquest.path_helmet": "Path Helmet", + "item.knightquest.path_chestplate": "Path Chestplate", + "item.knightquest.path_leggings": "Path Leggings", + "item.knightquest.path_boots": "Path Boots", + "item.knightquest.veteran_helmet": "Veteran Helmet", + "item.knightquest.veteran_chestplate": "Veteran Chestplate", + "item.knightquest.veteran_leggings": "Veteran Leggings", + "item.knightquest.veteran_boots": "Veteran Boots", + "item.knightquest.phantom_helmet": "Phantom Helmet", + "item.knightquest.phantom_chestplate": "Phantom Chestplate", + "item.knightquest.phantom_leggings": "Phantom Leggings", + "item.knightquest.phantom_boots": "Phantom Boots", + "item.knightquest.sea_helmet": "Sea Helmet", + "item.knightquest.sea_chestplate": "Sea Chestplate", + "item.knightquest.sea_leggings": "Sea Leggings", + "item.knightquest.sea_boots": "Sea Boots", + "item.knightquest.shield_helmet": "Shield Helmet", + "item.knightquest.shield_chestplate": "Shield Chestplate", + "item.knightquest.shield_leggings": "Shield Leggings", + "item.knightquest.shield_boots": "Shield Boots", + "item.knightquest.silver_helmet": "Silver Helmet", + "item.knightquest.silver_chestplate": "Silver Chestplate", + "item.knightquest.silver_leggings": "Silver Leggings", + "item.knightquest.silver_boots": "Silver Boots", + "item.knightquest.silverfish_helmet": "Silverfish Helmet", + "item.knightquest.silverfish_chestplate": "Silverfish Chestplate", + "item.knightquest.silverfish_leggings": "Silverfish Leggings", + "item.knightquest.silverfish_boots": "Silverfish Boots", + "item.knightquest.skeleton_helmet": "Skeleton Helmet", + "item.knightquest.skeleton_chestplate": "Skeleton Chestplate", + "item.knightquest.skeleton_leggings": "Skeleton Leggings", + "item.knightquest.skeleton_boots": "Skeleton Boots", + "item.knightquest.spider_helmet": "Spider Helmet", + "item.knightquest.spider_chestplate": "Spider Chestplate", + "item.knightquest.spider_leggings": "Spider Leggings", + "item.knightquest.spider_boots": "Spider Boots", + "item.knightquest.warlord_helmet": "Warlord Helmet", + "item.knightquest.warlord_chestplate": "Warlord Chestplate", + "item.knightquest.warlord_leggings": "Warlord Leggings", + "item.knightquest.warlord_boots": "Warlord Boots", + "item.knightquest.strawhat_helmet": "Straw-Hat Helmet", + "item.knightquest.strawhat_chestplate": "Straw-Hat Chestplate", + "item.knightquest.strawhat_leggings": "Straw-Hat Leggings", + "item.knightquest.strawhat_boots": "Straw-Hat Boots", + "item.knightquest.pirate_helmet": "Pirate Helmet", + "item.knightquest.pirate_chestplate": "Pirate Chestplate", + "item.knightquest.pirate_leggings": "Pirate Leggings", + "item.knightquest.pirate_boots": "Pirate Boots", + "item.knightquest.conquistador_helmet": "Conquistador Helmet", + "item.knightquest.conquistador_chestplate": "Conquistador Chestplate", + "item.knightquest.conquistador_leggings": "Conquistador Leggings", + "item.knightquest.conquistador_boots": "Conquistador Boots", + "item.knightquest.zombie_helmet": "Zombie Helmet", + "item.knightquest.zombie_chestplate": "Zombie Chestplate", + "item.knightquest.zombie_leggings": "Zombie Leggings", + "item.knightquest.zombie_boots": "Zombie Boots", + "item.knightquest.tengu_helmet": "Tengu Mask", + "item.knightquest.zombie_helmet2": "Plumed Zombie Helmet", + "item.knightquest.conquistador2_helmet": "Corsair Helmet", + "item.knightquest.conquistador3_helmet": "Fencer Helmet", + "item.knightquest.pirate2_helmet": "Eyepatch", + "item.knightquest.pirate3_helmet": "Freebooter Helmet", + "item.knightquest.husk_helmet2": "Husk Lord Helmet", + "item.knightquest.husk_helmet3": "Husk Warrior Helmet", + "item.knightquest.husk_helmet": "Husk Helmet", + "item.knightquest.husk_chestplate": "Husk Chestplate", + "item.knightquest.husk_leggings": "Husk Leggings", + "item.knightquest.husk_boots": "Husk Boots", + "item.knightquest.squire_helmet": "Squire Helmet", + "item.knightquest.squire_chestplate": "Squire Chestplate", + "item.knightquest.squire_leggings": "Squire Leggings", + "item.knightquest.squire_boots": "Squire Boots", + "item.knightquest.wither_helmet": "Wither Helmet", + "item.knightquest.wither_chestplate": "Wither Chestplate", + "item.knightquest.wither_leggings": "Wither Leggings", + "item.knightquest.wither_boots": "Wither Boots", + "item.knightquest.tunic_red_leggings": "Red Tunic", + "item.knightquest.tunic_yellow_leggings": "Yellow Tunic", + "item.knightquest.tunic_green_leggings": "Green Tunic", + "item.knightquest.tunic_blue_leggings": "Blue Tunic", + "item.knightquest.tunic_sea_leggings": "Sea Tunic", + "item.knightquest.chainmail_helmet": "Chainmail Warrior Helmet", + "item.knightquest.chainmail_helmet2": "Chainmail Helmet", + "item.knightquest.skulk_chestplate": "Skulk Chestplate", + "item.knightquest.skulk_leggings": "Skulk Leggings", + "item.knightquest.skulk_boots": "Skulk Boots", + "item.knightquest.skulk_helmet": "Skulk Helmet", + "item.knightquest.skulk2_helmet": "Skulk Shadow Helmet", + "item.knightquest.skulk3_helmet": "Skulk Spectral Helmet", + "item.knightquest.skulk4_helmet": "Skulk Sentinel Helmet", + "item.knightquest.skulk_marbled_helmet": "Skulk Marbled Helmet", + "item.knightquest.shinobi_helmet": "Shinobi Helmet", + "item.knightquest.shinobi_chestplate": "Shinobi Chestplate", + "item.knightquest.shinobi_leggings": "Shinobi Leggings", + "item.knightquest.shinobi_boots": "Shinobi Boots", + "item.knightquest.polar_helmet": "Polar Helmet", + "item.knightquest.polar_chestplate": "Polar Chestplate", + "item.knightquest.polar_leggings": "Polar Leggings", + "item.knightquest.polar_boots": "Polar Boots", + "item.knightquest.witch_helmet": "Witch Helmet", + "item.knightquest.witch_chestplate": "Witch Chestplate", + "item.knightquest.witch_leggings": "Witch Leggings", + "item.knightquest.witch_boots": "Witch Boots", + + "tooltip.item.knightquest.lizzy_scale": "§8§oA lizard scale.", + "tooltip.item.knightquest.ratman_eye": "§8§oUnveils secrets, detects dangers. Use wisely.", + "tooltip.item.knightquest.paladin_sword": "§8§oRadiates the justice and valor of a lost paladin...", + "tooltip.item.knightquest.hollow_helmet": "§8§oThere's a certain sadness that can be felt in the rain...", + "tooltip.item.knightquest.great_essence": "§8§oOffer four to a great chalice.", + "tooltip.item.knightquest.small_essence": "§8§oCombine four to make great essence!", + "tooltip.item.knightquest.filled_goblet": "§8§oUse it to craft powerful armor!", + "tooltip.item.knightquest.empty_goblet": "§8§oA goblet used to gather essence from a Great Chalice.", + "tooltip.item.knightquest.great_chalice": "§8§oOffer the chalice great essence.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oCan only be summoned when a second phase Gremlin is near.", + "tooltip.item.knightquest.squire_helmet": "§8§oFor some reason, Samhain loves this hat...", + "block.knightquest.great_chalice": "Great Chalice", + + "tooltip.item.knightquest.full_set_bonus": "Full Set Bonus:", + "tooltip.item.knightquest.full_helmet_bonus": "Helmet Bonus:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Grants night vision at night", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Grants invisibility when sneaking", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Grants speed when holding a ranged weapon", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Grants strength when hit by a monster", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Grants resistance", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Grants dolphin grace when submerged", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Reduces 75% of rough fall damage", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-30% chance to burn the opponent when hit", + "tooltip.item.knightquest.tengu_helmet.bonus": "§7§o-Can double jump in mid-air", + "tooltip.item.knightquest.pirate_helmet.bonus": "§7§o-Grants luck", + "tooltip.item.knightquest.appleset_helmet.bonus": "§7§o-Eating apples concede saturation", + "tooltip.item.knightquest.bamboo_green_helmet.bonus": "§7§o-Grants protection to poison", + "tooltip.item.knightquest.dragon_helmet.bonus": "§7§o-Additional 10% damage and is not affected by dragon breath", + "tooltip.item.knightquest.squire_helmet.bonus": "§7§o-Grants 15% of damage reduction", + "tooltip.item.knightquest.hollow_helmet.bonus": "§7§o-Absorb opponent's health on hit", + "tooltip.item.knightquest.spider_helmet.bonus": "§7§o-Grants jump boost while sneaking", + "tooltip.item.knightquest.phantom_helmet.bonus": "§7§o-Grants speed at night", + "tooltip.item.knightquest.wither_helmet.bonus": "§7§o-30% chance of applying wither when using arrows", + "tooltip.item.knightquest.enderman_helmet.bonus": "§7§o-30% chance of teleporting when hit", + "tooltip.item.knightquest.shinobi_helmet.bonus": "§7§o-Becomes invisible when hit", + "tooltip.item.knightquest.bamboo_helmet.bonus": "§7§o-Pushes monsters away when falling on the ground", + "tooltip.item.knightquest.nether_helmet.bonus": "§7§o-Grants fire resistance", + "tooltip.item.knightquest.husk_helmet.bonus": "§7§o-Grants protection on desertic biomes", + "tooltip.item.knightquest.conquistador_helmet.bonus": "§7§o-Grants damage boost when killing a monster", + "tooltip.item.knightquest.veteran_helmet.bonus": "§7§o-Grants damage boost and resistance below 50% HP", + "tooltip.item.knightquest.warlord_helmet.bonus": "§7§o-Grants resistance to nearby players", + "tooltip.item.knightquest.forze_helmet.bonus": "§7§o-15% chance to reflect incoming attacks", + "tooltip.item.knightquest.creeper_helmet.bonus": "§7§o-Reduces 80% of rough explosion damage", + "tooltip.item.knightquest.polar_helmet.bonus": "§7§o-Grants freeze protection", + "tooltip.item.knightquest.bamboo_blue_helmet.bonus": "§7§o-Grants speed on jungle and bamboo biomes", + "tooltip.item.knightquest.silver_helmet.bonus": "§7§o-20% chance to burn opponents at night", + "tooltip.item.knightquest.evoker_helmet.bonus": "§7§o-15% chance of applying darkness when hit", + "tooltip.item.knightquest.zombie_helmet.bonus": "§7§o-Heals 1 HP every 10 seconds at night", + "tooltip.item.knightquest.silverfish_helmet.bonus": "§7§o-Grants haste under Y level 50", + "tooltip.item.knightquest.witch_helmet.bonus": "§7§o-Grants regeneration when killing a monster", + "tooltip.item.knightquest.skulk_helmet.bonus": "§7§o-Grants resistance below light level 4", + "tooltip.item.knightquest.skeleton_helmet.bonus": "§7§o-Allows arrows to pierce through enemies", + "tooltip.item.knightquest.strawhat_helmet.bonus": "§7§o-Grants water breathing", + + + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Bad Patch", + "entity.knightquest.eldbomb": "Eld Bomb", + "entity.knightquest.eldknight": "Eld Knight", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Swampman", + "entity.knightquest.ratman": "Ratman", + "entity.knightquest.ghastling": "Ghastling", + "entity.knightquest.ghosty": "Ghosty", + "entity.knightquest.momma_lizzy": "Momma Lizzy" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/es_es.json b/src/main/resources/assets/knightquest/lang/es_es.json new file mode 100644 index 00000000..22bc6b75 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/es_es.json @@ -0,0 +1,236 @@ +{ + "itemgroup.knightquest": "Knight Quest", + + "item.knightquest.great_essence": "Gran esencia", + "item.knightquest.small_essence": "Pequeña esencia", + "item.knightquest.empty_goblet": "Cáliz vacío", + "item.knightquest.filled_goblet": "Cáliz lleno", + "item.knightquest.paladin_sword": "Espada de paladín", + "item.knightquest.nail_glaive": "Guja de clavos", + "item.knightquest.uchigatana_katana": "Katana", + "item.knightquest.kukri_dagger": "Kukri", + "item.knightquest.khopesh_claymore": "Khopesh", + "item.knightquest.cleaver_heavy_axe": "Hacha pesada", + "item.knightquest.crimson_sword": "Espada carmesí", + "item.knightquest.water_sword": "Espada de agua", + "item.knightquest.steel_sword": "Espada de acero", + "item.knightquest.water_axe": "Hacha de agua", + "item.knightquest.steel_axe": "Hacha de acero", + "item.knightquest.ratman_eye": "Ojo del hombre rata", + "item.knightquest.lizzy_scale": "Escama de Lizzy", + + "item.knightquest.gremlin_spawn_egg": "Huevo de invocación de gremlin", + "item.knightquest.eldbomb_spawn_egg": "Huevo de invocación de bomba del Eld", + "item.knightquest.eldknight_spawn_egg": "Huevo de invocación de caballero del Eld", + "item.knightquest.ratman_spawn_egg": "Huevo de invocación del hombre rata", + "item.knightquest.samhain_spawn_egg": "Huevo de invocación de Samhain", + "item.knightquest.swampman_spawn_egg": "Huevo de invocación de hombre del pantano", + "item.knightquest.lizzy_spawn_egg": "Huevo de invocación de Lizzy", + "item.knightquest.bad_patch_spawn_egg": "Huevo de invocación de Mal Remiendo", + "item.knightquest.momma_lizzy_spawn_egg": "Huevo de invocación de mamá Lizzy", + "item.knightquest.ghastling_spawn_egg": "Huevo de invocación de fantasmo", + "item.knightquest.ghosty_spawn_egg": "Huevo de invocación de fantasmín", + + "item.knightquest.apple_helmet": "Casco de Manzana", + "item.knightquest.apple_chestplate": "Peto de Manzana", + "item.knightquest.apple_leggings": "Pantalones de Manzana", + "item.knightquest.apple_boots": "Botas de Manzana", + "item.knightquest.bamboo_blue_helmet": "Casco de Bambú Azul", + "item.knightquest.bamboo_blue_chestplate": "Peto de Bambú Azul", + "item.knightquest.bamboo_blue_leggings": "Pantalones de Bambú Azul", + "item.knightquest.bamboo_blue_boots": "Botas de Bambú Azul", + "item.knightquest.bamboo_green_helmet": "Casco de Bambú Verde", + "item.knightquest.bamboo_green_chestplate": "Peto de Bambú Verde", + "item.knightquest.bamboo_green_leggings": "Pantalones de Bambú Verde", + "item.knightquest.bamboo_green_boots": "Botas de Bambú Verde", + "item.knightquest.bamboo_helmet": "Casco de Bambú", + "item.knightquest.bamboo_chestplate": "Peto de Bambú", + "item.knightquest.bamboo_leggings": "Pantalones de Bambú", + "item.knightquest.bamboo_boots": "Botas de Bambú", + "item.knightquest.bat_helmet": "Casco de Murciélago", + "item.knightquest.bat_chestplate": "Peto de Murciélago", + "item.knightquest.bat_leggings": "Pantalones de Murciélago", + "item.knightquest.bat_boots": "Botas de Murciélago", + "item.knightquest.blaze_helmet": "Casco de Blaze", + "item.knightquest.blaze_chestplate": "Peto de Blaze", + "item.knightquest.blaze_leggings": "Pantalones de Blaze", + "item.knightquest.blaze_boots": "Botas de Blaze", + "item.knightquest.bow_helmet": "Casco de Arco", + "item.knightquest.bow_chestplate": "Peto de Arco", + "item.knightquest.bow_leggings": "Pantalones de Arco", + "item.knightquest.bow_boots": "Botas de Arco", + "item.knightquest.horn_helmet": "Casco de Cuerno", + "item.knightquest.horn_chestplate": "Peto de Cuerno", + "item.knightquest.horn_leggings": "Pantalones de Cuerno", + "item.knightquest.horn_boots": "Botas de Cuerno", + "item.knightquest.creeper_helmet": "Casco de Creeper", + "item.knightquest.creeper_chestplate": "Peto de Creeper", + "item.knightquest.creeper_leggings": "Pantalones de Creeper", + "item.knightquest.creeper_boots": "Botas de Creeper", + "item.knightquest.deepslate_helmet": "Casco de Esquisto", + "item.knightquest.deepslate_chestplate": "Peto de Esquisto", + "item.knightquest.deepslate_leggings": "Pantalones de Esquisto", + "item.knightquest.deepslate_boots": "Botas de Esquisto", + "item.knightquest.dragon_helmet": "Casco de Dragón", + "item.knightquest.dragon_chestplate": "Peto de Dragón", + "item.knightquest.dragon_leggings": "Pantalones de Dragón", + "item.knightquest.dragon_boots": "Botas de Dragón", + "item.knightquest.enderman_helmet": "Casco de Enderman", + "item.knightquest.enderman_chestplate": "Peto de Enderman", + "item.knightquest.enderman_leggings": "Pantalones de Enderman", + "item.knightquest.enderman_boots": "Botas de Enderman", + "item.knightquest.evoker_helmet": "Casco de Evocador", + "item.knightquest.evoker_chestplate": "Peto de Evocador", + "item.knightquest.evoker_leggings": "Pantalones de Evocador", + "item.knightquest.evoker_boots": "Botas de Evocador", + "item.knightquest.forze_helmet": "Casco de Forze", + "item.knightquest.forze_chestplate": "Peto de Forze", + "item.knightquest.forze_leggings": "Pantalones de Forze", + "item.knightquest.forze_boots": "Botas de Forze", + "item.knightquest.hollow_helmet": "Casco Hueco", + "item.knightquest.hollow_chestplate": "Peto Hueco", + "item.knightquest.hollow_leggings": "Pantalones Huecos", + "item.knightquest.hollow_boots": "Botas Huecas", + "item.knightquest.nether_helmet": "Casco del Nether", + "item.knightquest.nether_chestplate": "Peto del Nether", + "item.knightquest.nether_leggings": "Pantalones del Nether", + "item.knightquest.nether_boots": "Botas del Nether", + "item.knightquest.path_helmet": "Casco de Camino", + "item.knightquest.path_chestplate": "Peto de Camino", + "item.knightquest.path_leggings": "Pantalones de Camino", + "item.knightquest.path_boots": "Botas de Camino", + "item.knightquest.veteran_helmet": "Casco de Veterano", + "item.knightquest.veteran_chestplate": "Peto de Veterano", + "item.knightquest.veteran_leggings": "Pantalones de Veterano", + "item.knightquest.veteran_boots": "Botas de Veterano", + "item.knightquest.phantom_helmet": "Casco de Fantasma", + "item.knightquest.phantom_chestplate": "Peto de Fantasma", + "item.knightquest.phantom_leggings": "Pantalones de Fantasma", + "item.knightquest.phantom_boots": "Botas de Fantasma", + "item.knightquest.sea_helmet": "Casco Marino", + "item.knightquest.sea_chestplate": "Peto Marino", + "item.knightquest.sea_leggings": "Pantalones Marinos", + "item.knightquest.sea_boots": "Botas Marinas", + "item.knightquest.shield_helmet": "Casco de Escudo", + "item.knightquest.shield_chestplate": "Peto de Escudo", + "item.knightquest.shield_leggings": "Pantalones de Escudo", + "item.knightquest.shield_boots": "Botas de Escudo", + "item.knightquest.silver_helmet": "Casco de Plata", + "item.knightquest.silver_chestplate": "Peto de Plata", + "item.knightquest.silver_leggings": "Pantalones de Plata", + "item.knightquest.silver_boots": "Botas de Plata", + "item.knightquest.silverfish_helmet": "Casco de Pez Plateado", + "item.knightquest.silverfish_chestplate": "Peto de Pez Plateado", + "item.knightquest.silverfish_leggings": "Pantalones de Pez Plateado", + "item.knightquest.silverfish_boots": "Botas de Pez Plateado", + "item.knightquest.skeleton_helmet": "Casco de Esqueleto", + "item.knightquest.skeleton_chestplate": "Peto de Esqueleto", + "item.knightquest.skeleton_leggings": "Pantalones de Esqueleto", + "item.knightquest.skeleton_boots": "Botas de Esqueleto", + "item.knightquest.spider_helmet": "Casco de Araña", + "item.knightquest.spider_chestplate": "Peto de Araña", + "item.knightquest.spider_leggings": "Pantalones de Araña", + "item.knightquest.spider_boots": "Botas de Araña", + "item.knightquest.warlord_helmet": "Casco de Señor de la Guerra", + "item.knightquest.warlord_chestplate": "Peto de Señor de la Guerra", + "item.knightquest.warlord_leggings": "Pantalones de Señor de la Guerra", + "item.knightquest.warlord_boots": "Botas de Señor de la Guerra", + "item.knightquest.strawhat_helmet": "Casco de Paja", + "item.knightquest.strawhat_chestplate": "Peto de Paja", + "item.knightquest.strawhat_leggings": "Pantalones de Paja", + "item.knightquest.strawhat_boots": "Botas de Paja", + "item.knightquest.pirate_helmet": "Casco de Pirata", + "item.knightquest.pirate_chestplate": "Peto de Pirata", + "item.knightquest.pirate_leggings": "Pantalones de Pirata", + "item.knightquest.pirate_boots": "Botas de Pirata", + "item.knightquest.conquistador_helmet": "Casco de Conquistador", + "item.knightquest.conquistador_chestplate": "Peto de Conquistador", + "item.knightquest.conquistador_leggings": "Pantalones de Conquistador", + "item.knightquest.conquistador_boots": "Botas de Conquistador", + "item.knightquest.zombie_helmet": "Casco de Zombi", + "item.knightquest.zombie_chestplate": "Peto de Zombi", + "item.knightquest.zombie_leggings": "Pantalones de Zombi", + "item.knightquest.zombie_boots": "Botas de Zombi", + "item.knightquest.tengu_helmet": "Máscara Tengu", + "item.knightquest.zombie_helmet2": "Casco de Zombi con Plumas", + "item.knightquest.conquistador2_helmet": "Casco de Corsario", + "item.knightquest.conquistador3_helmet": "Casco de Esgrimidor", + "item.knightquest.pirate2_helmet": "Parche en el Ojo", + "item.knightquest.pirate3_helmet": "Casco de Filibustero", + "item.knightquest.husk_helmet2": "Casco de Señor de los Husks", + "item.knightquest.husk_helmet3": "Casco de Guerrero de los Husks", + "item.knightquest.husk_helmet": "Casco de Husk", + "item.knightquest.husk_chestplate": "Peto de Husk", + "item.knightquest.husk_leggings": "Pantalones de Husk", + "item.knightquest.husk_boots": "Botas de Husk", + "item.knightquest.squire_helmet": "Casco de Escudero", + "item.knightquest.squire_chestplate": "Peto de Escudero", + "item.knightquest.squire_leggings": "Pantalones de Escudero", + "item.knightquest.squire_boots": "Botas de Escudero", + "item.knightquest.wither_helmet": "Casco de Wither", + "item.knightquest.wither_chestplate": "Peto de Wither", + "item.knightquest.wither_leggings": "Pantalones de Wither", + "item.knightquest.wither_boots": "Botas de Wither", + "item.knightquest.tunic_red_leggings": "Túnica Roja", + "item.knightquest.tunic_yellow_leggings": "Túnica Amarilla", + "item.knightquest.tunic_green_leggings": "Túnica Verde", + "item.knightquest.tunic_blue_leggings": "Túnica Azul", + "item.knightquest.tunic_sea_leggings": "Túnica Marina", + "item.knightquest.chainmail_helmet": "Casco de Guerrero de Malla", + "item.knightquest.chainmail_helmet2": "Casco de Malla", + "item.knightquest.skulk_chestplate": "Peto de Cazador de Ocultos", + "item.knightquest.skulk_leggings": "Pantalones de Cazador de Ocultos", + "item.knightquest.skulk_boots": "Botas de Cazador de Ocultos", + "item.knightquest.skulk_helmet": "Casco de Cazador de Ocultos", + "item.knightquest.skulk2_helmet": "Casco de Sombra de Cazador de Ocultos", + "item.knightquest.skulk3_helmet": "Casco Espectral de Cazador de Ocultos", + "item.knightquest.skulk4_helmet": "Casco Centinela de Cazador de Ocultos", + "item.knightquest.skulk_marbled_helmet": "Casco de Mármol de Cazador de Ocultos", + "item.knightquest.shinobi_helmet": "Casco de Shinobi", + "item.knightquest.shinobi_chestplate": "Peto de Shinobi", + "item.knightquest.shinobi_leggings": "Pantalones de Shinobi", + "item.knightquest.shinobi_boots": "Botas de Shinobi", + "item.knightquest.polar_helmet": "Casco Polar", + "item.knightquest.polar_chestplate": "Peto Polar", + "item.knightquest.polar_leggings": "Pantalones Polares", + "item.knightquest.polar_boots": "Botas Polares", + "item.knightquest.witch_helmet": "Casco de Bruja", + "item.knightquest.witch_chestplate": "Peto de Bruja", + "item.knightquest.witch_leggings": "Pantalones de Bruja", + "item.knightquest.witch_boots": "Botas de Bruja", + + "tooltip.item.knightquest.lizzy_scale": "§8§oUna escama de lagarto.", + "tooltip.item.knightquest.ratman_eye": "§8§oRevela secretos, detecta peligros. Úsalo sabiamente.", + "tooltip.item.knightquest.paladin_sword": "§8§oIrradia la justicia y el valor de un paladín perdido...", + "tooltip.item.knightquest.hollow_helmet": "§8§oHay una cierta tristeza que se puede sentir bajo la lluvia...", + "tooltip.item.knightquest.great_essence": "§8§oOfrece cuatro a un gran cáliz.", + "tooltip.item.knightquest.small_essence": "§8§o¡Combina cuatro para hacer una gran esencia!", + "tooltip.item.knightquest.filled_goblet": "§8§oÚsalo para crear armaduras poderosas.", + "tooltip.item.knightquest.empty_goblet": "§8§oUn cáliz usado para recoger esencia de un Gran Cáliz.", + "tooltip.item.knightquest.great_chalice": "§8§oOfrece al cáliz gran esencia.", + "block.knightquest.great_chalice": "Gran Cáliz", + + "tooltip.item.knightquest.full_set_bonus": "Bono de conjunto completo:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Concede visión nocturna por la noche", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Concede invisibilidad al agacharse", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Concede velocidad al sostener un arma a distancia", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Concede fuerza al ser golpeado por un monstruo", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Concede resistencia", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Concede gracia de delfín cuando está sumergido", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Reduce el 75% del daño áspero por caída", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-30% de probabilidad de quemar al oponente", + + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Mal Remiendo", + "entity.knightquest.eldbomb": "Bomba del Eld", + "entity.knightquest.eldknight": "Caballero del Eld", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Hombre del Pantano", + "entity.knightquest.ratman": "Hombre rata", + "entity.knightquest.ghastling": "Fantasmo", + "entity.knightquest.ghosty": "Fantasmín", + "entity.knightquest.momma_lizzy": "Mamá Lizzy", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oSolo se puede invocar si hay un gremlin en segunda fase cerca.", + "tooltip.item.knightquest.squire_helmet": "§8§oPor alguna razón al Samhain le encanta este casco..." +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/fr_fr.json b/src/main/resources/assets/knightquest/lang/fr_fr.json new file mode 100644 index 00000000..49e87df9 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/fr_fr.json @@ -0,0 +1,234 @@ +{ + "itemgroup.knightquest": "Quête des chevaliers", + + "item.knightquest.great_essence": "Grande Essence", + "item.knightquest.small_essence": "Petite Essence", + "item.knightquest.empty_goblet": "Gobelet Vide", + "item.knightquest.filled_goblet": "Gobelet Rempli", + "item.knightquest.paladin_sword": "Épée du Paladin", + "item.knightquest.nail_glaive": "Glaive Cloué", + "item.knightquest.uchigatana_katana": "Uchigatana", + "item.knightquest.kukri_dagger": "Kukri", + "item.knightquest.khopesh_claymore": "Khopesh", + "item.knightquest.cleaver_heavy_axe": "Couperet", + "item.knightquest.crimson_sword": "Épée Cramoisie", + "item.knightquest.water_sword": "Épée de l'Eau", + "item.knightquest.steel_sword": "Épée d'Acier", + "item.knightquest.water_axe": "Hache de l'Eau", + "item.knightquest.steel_axe": "Hache d'Acier", + "item.knightquest.ratman_eye": "Œil de Ratman", + "item.knightquest.lizzy_scale": "Écaille de Lizzy", + + "item.knightquest.gremlin_spawn_egg": "Œuf de Gremlin", + "item.knightquest.eldbomb_spawn_egg": "Œuf d'Eldbomb", + "item.knightquest.eldknight_spawn_egg": "Œuf d'Eldknight", + "item.knightquest.ratman_spawn_egg": "Œuf de Ratman", + "item.knightquest.samhain_spawn_egg": "Œuf de Samhain", + "item.knightquest.swampman_spawn_egg": "Œuf de Swampman", + "item.knightquest.lizzy_spawn_egg": "Œuf de Lizzy", + "item.knightquest.bad_patch_spawn_egg": "Œuf de Bad Patch", + "item.knightquest.momma_lizzy_spawn_egg": "Œuf de Maman Lizzy", + "item.knightquest.ghastling_spawn_egg": "Œuf de Ghastling", + "item.knightquest.ghosty_spawn_egg": "Œuf de Ghosty", + + "item.knightquest.apple_helmet": "Casque de Pomme", + "item.knightquest.apple_chestplate": "Plastron de Pomme", + "item.knightquest.apple_leggings": "Jambières de Pomme", + "item.knightquest.apple_boots": "Bottes de Pomme", + "item.knightquest.bamboo_blue_helmet": "Casque en Bambou Bleu", + "item.knightquest.bamboo_blue_chestplate": "Plastron en Bambou Bleu", + "item.knightquest.bamboo_blue_leggings": "Jambières en Bambou Bleu", + "item.knightquest.bamboo_blue_boots": "Bottes en Bambou Bleu", + "item.knightquest.bamboo_green_helmet": "Casque en Bambou Vert", + "item.knightquest.bamboo_green_chestplate": "Plastron en Bambou Vert", + "item.knightquest.bamboo_green_leggings": "Jambières en Bambou Vert", + "item.knightquest.bamboo_green_boots": "Bottes en Bambou Vert", + "item.knightquest.bamboo_helmet": "Casque en Bambou", + "item.knightquest.bamboo_chestplate": "Plastron en Bambou", + "item.knightquest.bamboo_leggings": "Jambières en Bambou", + "item.knightquest.bamboo_boots": "Bottes en Bambou", + "item.knightquest.bat_helmet": "Casque de Chauve-souris", + "item.knightquest.bat_chestplate": "Plastron de Chauve-souris", + "item.knightquest.bat_leggings": "Jambières de Chauve-souris", + "item.knightquest.bat_boots": "Bottes de Chauve-souris", + "item.knightquest.blaze_helmet": "Casque de Blaze", + "item.knightquest.blaze_chestplate": "Plastron de Blaze", + "item.knightquest.blaze_leggings": "Jambières de Blaze", + "item.knightquest.blaze_boots": "Bottes de Blaze", + "item.knightquest.bow_helmet": "Casque d'Arc", + "item.knightquest.bow_chestplate": "Plastron d'Arc", + "item.knightquest.bow_leggings": "Jambières d'Arc", + "item.knightquest.bow_boots": "Bottes d'Arc", + "item.knightquest.horn_helmet": "Casque de Corne", + "item.knightquest.horn_chestplate": "Plastron de Corne", + "item.knightquest.horn_leggings": "Jambières de Corne", + "item.knightquest.horn_boots": "Bottes de Corne", + "item.knightquest.creeper_helmet": "Casque de Creeper", + "item.knightquest.creeper_chestplate": "Plastron de Creeper", + "item.knightquest.creeper_leggings": "Jambières de Creeper", + "item.knightquest.creeper_boots": "Bottes de Creeper", + "item.knightquest.deepslate_helmet": "Casque d'Ardoise", + "item.knightquest.deepslate_chestplate": "Plastron d'Ardoise", + "item.knightquest.deepslate_leggings": "Jambières d'Ardoise", + "item.knightquest.deepslate_boots": "Bottes d'Ardoise", + "item.knightquest.dragon_helmet": "Casque de Dragon", + "item.knightquest.dragon_chestplate": "Plastron de Dragon", + "item.knightquest.dragon_leggings": "Jambières de Dragon", + "item.knightquest.dragon_boots": "Bottes de Dragon", + "item.knightquest.enderman_helmet": "Casque d'Enderman", + "item.knightquest.enderman_chestplate": "Plastron d'Enderman", + "item.knightquest.enderman_leggings": "Jambières d'Enderman", + "item.knightquest.enderman_boots": "Bottes d'Enderman", + "item.knightquest.evoker_helmet": "Casque d'Évocateur", + "item.knightquest.evoker_chestplate": "Plastron d'Évocateur", + "item.knightquest.evoker_leggings": "Jambières d'Évocateur", + "item.knightquest.evoker_boots": "Bottes d'Évocateur", + "item.knightquest.forze_helmet": "Casque de Forze", + "item.knightquest.forze_chestplate": "Plastron de Forze", + "item.knightquest.forze_leggings": "Jambières de Forze", + "item.knightquest.forze_boots": "Bottes de Forze", + "item.knightquest.hollow_helmet": "Casque Creux", + "item.knightquest.hollow_chestplate": "Plastron Creux", + "item.knightquest.hollow_leggings": "Jambières Creuses", + "item.knightquest.hollow_boots": "Bottes Creuses", + "item.knightquest.nether_helmet": "Casque du Nether", + "item.knightquest.nether_chestplate": "Plastron du Nether", + "item.knightquest.nether_leggings": "Jambières du Nether", + "item.knightquest.nether_boots": "Bottes du Nether", + "item.knightquest.path_helmet": "Casque de Sentier", + "item.knightquest.path_chestplate": "Plastron de Sentier", + "item.knightquest.path_leggings": "Jambières de Sentier", + "item.knightquest.path_boots": "Bottes de Sentier", + "item.knightquest.veteran_helmet": "Casque de Vétéran", + "item.knightquest.veteran_chestplate": "Plastron de Vétéran", + "item.knightquest.veteran_leggings": "Jambières de Vétéran", + "item.knightquest.veteran_boots": "Bottes de Vétéran", + "item.knightquest.phantom_helmet": "Casque de Fantôme", + "item.knightquest.phantom_chestplate": "Plastron de Fantôme", + "item.knightquest.phantom_leggings": "Jambières de Fantôme", + "item.knightquest.phantom_boots": "Bottes de Fantôme", + "item.knightquest.sea_helmet": "Casque Marin", + "item.knightquest.sea_chestplate": "Plastron Marin", + "item.knightquest.sea_leggings": "Jambières Marines", + "item.knightquest.sea_boots": "Bottes Marines", + "item.knightquest.shield_helmet": "Casque de Bouclier", + "item.knightquest.shield_chestplate": "Plastron de Bouclier", + "item.knightquest.shield_leggings": "Jambières de Bouclier", + "item.knightquest.shield_boots": "Bottes de Bouclier", + "item.knightquest.silver_helmet": "Casque d'Argent", + "item.knightquest.silver_chestplate": "Plastron d'Argent", + "item.knightquest.silver_leggings": "Jambières d'Argent", + "item.knightquest.silver_boots": "Bottes d'Argent", + "item.knightquest.silverfish_helmet": "Casque de Poisson d'Argent", + "item.knightquest.silverfish_chestplate": "Plastron de Poisson d'Argent", + "item.knightquest.silverfish_leggings": "Jambières de Poisson d'Argent", + "item.knightquest.silverfish_boots": "Bottes de Poisson d'Argent", + "item.knightquest.skeleton_helmet": "Casque de Squelette", + "item.knightquest.skeleton_chestplate": "Plastron de Squelette", + "item.knightquest.skeleton_leggings": "Jambières de Squelette", + "item.knightquest.skeleton_boots": "Bottes de Squelette", + "item.knightquest.spider_helmet": "Casque d'Araignée", + "item.knightquest.spider_chestplate": "Plastron d'Araignée", + "item.knightquest.spider_leggings": "Jambières d'Araignée", + "item.knightquest.spider_boots": "Bottes d'Araignée", + "item.knightquest.warlord_helmet": "Casque de Seigneur de Guerre", + "item.knightquest.warlord_chestplate": "Plastron de Seigneur de Guerre", + "item.knightquest.warlord_leggings": "Jambières de Seigneur de Guerre", + "item.knightquest.warlord_boots": "Bottes de Seigneur de Guerre", + "item.knightquest.strawhat_helmet": "Casque de Paille", + "item.knightquest.strawhat_chestplate": "Plastron de Paille", + "item.knightquest.strawhat_leggings": "Jambières de Paille", + "item.knightquest.strawhat_boots": "Bottes de Paille", + "item.knightquest.pirate_helmet": "Casque de Pirate", + "item.knightquest.pirate_chestplate": "Plastron de Pirate", + "item.knightquest.pirate_leggings": "Jambières de Pirate", + "item.knightquest.pirate_boots": "Bottes de Pirate", + "item.knightquest.conquistador_helmet": "Casque de Conquistador", + "item.knightquest.conquistador_chestplate": "Plastron de Conquistador", + "item.knightquest.conquistador_leggings": "Jambières de Conquistador", + "item.knightquest.conquistador_boots": "Bottes de Conquistador", + "item.knightquest.zombie_helmet": "Casque de Zombie", + "item.knightquest.zombie_chestplate": "Plastron de Zombie", + "item.knightquest.zombie_leggings": "Jambières de Zombie", + "item.knightquest.zombie_boots": "Bottes de Zombie", + "item.knightquest.tengu_helmet": "Masque de Tengu", + "item.knightquest.zombie_helmet2": "Casque de Zombie Plumé", + "item.knightquest.conquistador2_helmet": "Casque de Corsaire", + "item.knightquest.conquistador3_helmet": "Casque d'Escrimeur", + "item.knightquest.pirate2_helmet": "Cache-œil", + "item.knightquest.pirate3_helmet": "Casque de Flibustier", + "item.knightquest.husk_helmet2": "Casque de Seigneur Husk", + "item.knightquest.husk_helmet3": "Casque de Guerrier Husk", + "item.knightquest.husk_helmet": "Casque de Husk", + "item.knightquest.husk_chestplate": "Plastron de Husk", + "item.knightquest.husk_leggings": "Jambières de Husk", + "item.knightquest.husk_boots": "Bottes de Husk", + "item.knightquest.squire_helmet": "Casque d'Écuyer", + "item.knightquest.squire_chestplate": "Plastron d'Écuyer", + "item.knightquest.squire_leggings": "Jambières d'Écuyer", + "item.knightquest.squire_boots": "Bottes d'Écuyer", + "item.knightquest.wither_helmet": "Casque de Wither", + "item.knightquest.wither_chestplate": "Plastron de Wither", + "item.knightquest.wither_leggings": "Jambières de Wither", + "item.knightquest.wither_boots": "Bottes de Wither", + "item.knightquest.tunic_red_leggings": "Tunique Rouge", + "item.knightquest.tunic_yellow_leggings": "Tunique Jaune", + "item.knightquest.tunic_green_leggings": "Tunique Verte", + "item.knightquest.tunic_blue_leggings": "Tunique Bleue", + "item.knightquest.tunic_sea_leggings": "Tunique Marine", + "item.knightquest.chainmail_helmet": "Casque de Guerrier en Cotte de Mailles", + "item.knightquest.chainmail_helmet2": "Casque en Cotte de Mailles", + "item.knightquest.skulk_chestplate": "Plastron de Skulk", + "item.knightquest.skulk_leggings": "Jambières de Skulk", + "item.knightquest.skulk_boots": "Bottes de Skulk", + "item.knightquest.skulk_helmet": "Casque de Skulk", + "item.knightquest.skulk2_helmet": "Casque d'Ombre de Skulk", + "item.knightquest.skulk3_helmet": "Casque Spectral de Skulk", + "item.knightquest.skulk4_helmet": "Casque de Sentinelle de Skulk", + "item.knightquest.skulk_marbled_helmet": "Casque Marbré de Skulk", + "item.knightquest.shinobi_helmet": "Casque de Shinobi", + "item.knightquest.shinobi_chestplate": "Plastron de Shinobi", + "item.knightquest.shinobi_leggings": "Jambières de Shinobi", + "item.knightquest.shinobi_boots": "Bottes de Shinobi", + "item.knightquest.polar_helmet": "Casque Polaire", + "item.knightquest.polar_chestplate": "Plastron Polaire", + "item.knightquest.polar_leggings": "Jambières Polaires", + "item.knightquest.polar_boots": "Bottes Polaires", + "item.knightquest.witch_helmet": "Casque de Sorcière", + "item.knightquest.witch_chestplate": "Plastron de Sorcière", + "item.knightquest.witch_leggings": "Jambières de Sorcière", + "item.knightquest.witch_boots": "Bottes de Sorcière", + + "tooltip.item.knightquest.lizzy_scale": "§8§oÉcaille de lézard.", + "tooltip.item.knightquest.ratman_eye": "§8§oRévèle des secrets, détecte les dangers. Utilisez-le avec sagesse.", + "tooltip.item.knightquest.paladin_sword": "§8§oIrradie la justice et la vaillance d'un paladin perdu...", + "tooltip.item.knightquest.hollow_helmet": "§8§oIl y a une certaine tristesse qui se ressent sous la pluie...", + "tooltip.item.knightquest.great_essence": "§8§oOffrez-en quatre à un grand calice.", + "tooltip.item.knightquest.small_essence": "§8§oCombinez-en quatre pour obtenir une grande essence !", + "tooltip.item.knightquest.filled_goblet": "§8§oUtilisez-le pour fabriquer une armure puissante !", + "tooltip.item.knightquest.empty_goblet": "§8§oUn calice utilisé pour recueillir l'essence d'un Grand Calice.", + "tooltip.item.knightquest.great_chalice": "§8§oOffrez au calice une grande essence.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oNe peut être invoqué que lorsqu'un Gremlin de deuxième phase est à proximité.", + "tooltip.item.knightquest.squire_helmet": "§8§oPour une raison quelconque, Samhain adore ce chapeau...", + "block.knightquest.great_chalice": "Grand Calice", + "tooltip.item.knightquest.full_set_bonus": "Bonus de l'ensemble complet :", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Donne la vision nocturne la nuit", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Confère l'invisibilité en se cachant", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Donne de la vitesse lorsqu'on tient une arme à distance", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Donne de la force lorsqu'on est frappé par un monstre", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Confère la résistance", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Confère la grâce du dauphin lorsqu'on est submergé", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Réduit de 75% les dégâts de chute brutaux", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-Chance de 30% de brûler l'adversaire", + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Mauvais Patch", + "entity.knightquest.eldbomb": "Bombe d'Aîné", + "entity.knightquest.eldknight": "Chevalier d'Aîné", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Homme des Marais", + "entity.knightquest.ratman": "Ratman", + "entity.knightquest.ghastling": "Ghastling", + "entity.knightquest.ghosty": "Fantômy", + "entity.knightquest.momma_lizzy": "Maman Lizzy" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/ja_jp.json b/src/main/resources/assets/knightquest/lang/ja_jp.json new file mode 100644 index 00000000..40d4366e --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/ja_jp.json @@ -0,0 +1,236 @@ +{ + "itemgroup.knightquest": "ナイトクエスト", + + "item.knightquest.great_essence": "グレートエッセンス", + "item.knightquest.small_essence": "スモールエッセンス", + "item.knightquest.empty_goblet": "空のゴブレット", + "item.knightquest.filled_goblet": "満たされたゴブレット", + "item.knightquest.paladin_sword": "パラディンソード", + "item.knightquest.nail_glaive": "ネイルグレイブ", + "item.knightquest.uchigatana_katana": "打刀", + "item.knightquest.kukri_dagger": "ククリ", + "item.knightquest.khopesh_claymore": "クオペッシュ", + "item.knightquest.cleaver_heavy_axe": "クリーバーヘビーアックス", + "item.knightquest.crimson_sword": "クリムゾンソード", + "item.knightquest.water_sword": "ウォーターソード", + "item.knightquest.steel_sword": "スチールソード", + "item.knightquest.water_axe": "ウォーターアックス", + "item.knightquest.steel_axe": "スチールアックス", + "item.knightquest.ratman_eye": "ラットマンアイ", + "item.knightquest.lizzy_scale": "リジースケール", + + "item.knightquest.gremlin_spawn_egg": "グレムリンスポーンエッグ", + "item.knightquest.eldbomb_spawn_egg": "エルドボムスポーンエッグ", + "item.knightquest.eldknight_spawn_egg": "エルドナイトスポーンエッグ", + "item.knightquest.ratman_spawn_egg": "ラットマンスポーンエッグ", + "item.knightquest.samhain_spawn_egg": "サムヘインスポーンエッグ", + "item.knightquest.swampman_spawn_egg": "スワンプマンスポーンエッグ", + "item.knightquest.lizzy_spawn_egg": "リジースポーンエッグ", + "item.knightquest.bad_patch_spawn_egg": "バッドパッチスポーンエッグ", + "item.knightquest.momma_lizzy_spawn_egg": "ママリジースポーンエッグ", + "item.knightquest.ghastling_spawn_egg": "ガストリングスポーンエッグ", + "item.knightquest.ghosty_spawn_egg": "ゴースティースポーンエッグ", + + "item.knightquest.apple_helmet": "リンゴヘルメット", + "item.knightquest.apple_chestplate": "リンゴチェストプレート", + "item.knightquest.apple_leggings": "リンゴレギンス", + "item.knightquest.apple_boots": "リンゴブーツ", + "item.knightquest.bamboo_blue_helmet": "青い竹ヘルメット", + "item.knightquest.bamboo_blue_chestplate": "青い竹チェストプレート", + "item.knightquest.bamboo_blue_leggings": "青い竹レギンス", + "item.knightquest.bamboo_blue_boots": "青い竹ブーツ", + "item.knightquest.bamboo_green_helmet": "緑の竹ヘルメット", + "item.knightquest.bamboo_green_chestplate": "緑の竹チェストプレート", + "item.knightquest.bamboo_green_leggings": "緑の竹レギンス", + "item.knightquest.bamboo_green_boots": "緑の竹ブーツ", + "item.knightquest.bamboo_helmet": "竹ヘルメット", + "item.knightquest.bamboo_chestplate": "竹チェストプレート", + "item.knightquest.bamboo_leggings": "竹レギンス", + "item.knightquest.bamboo_boots": "竹ブーツ", + "item.knightquest.bat_helmet": "バットのヘルメット", + "item.knightquest.bat_chestplate": "バットのチェストプレート", + "item.knightquest.bat_leggings": "バットのレギンス", + "item.knightquest.bat_boots": "バットのブーツ", + "item.knightquest.blaze_helmet": "ブレイズのヘルメット", + "item.knightquest.blaze_chestplate": "ブレイズのチェストプレート", + "item.knightquest.blaze_leggings": "ブレイズのレギンス", + "item.knightquest.blaze_boots": "ブレイズのブーツ", + "item.knightquest.bow_helmet": "ボウのヘルメット", + "item.knightquest.bow_chestplate": "ボウのチェストプレート", + "item.knightquest.bow_leggings": "ボウのレギンス", + "item.knightquest.bow_boots": "ボウのブーツ", + "item.knightquest.horn_helmet": "ホーンのヘルメット", + "item.knightquest.horn_chestplate": "ホーンのチェストプレート", + "item.knightquest.horn_leggings": "ホーンのレギンス", + "item.knightquest.horn_boots": "ホーンのブーツ", + "item.knightquest.creeper_helmet": "クリーパーのヘルメット", + "item.knightquest.creeper_chestplate": "クリーパーのチェストプレート", + "item.knightquest.creeper_leggings": "クリーパーのレギンス", + "item.knightquest.creeper_boots": "クリーパーのブーツ", + "item.knightquest.deepslate_helmet": "ディープスレートのヘルメット", + "item.knightquest.deepslate_chestplate": "ディープスレートのチェストプレート", + "item.knightquest.deepslate_leggings": "ディープスレートのレギンス", + "item.knightquest.deepslate_boots": "ディープスレートのブーツ", + "item.knightquest.dragon_helmet": "ドラゴンのヘルメット", + "item.knightquest.dragon_chestplate": "ドラゴンのチェストプレート", + "item.knightquest.dragon_leggings": "ドラゴンのレギンス", + "item.knightquest.dragon_boots": "ドラゴンのブーツ", + "item.knightquest.enderman_helmet": "エンダーマンのヘルメット", + "item.knightquest.enderman_chestplate": "エンダーマンのチェストプレート", + "item.knightquest.enderman_leggings": "エンダーマンのレギンス", + "item.knightquest.enderman_boots": "エンダーマンのブーツ", + "item.knightquest.evoker_helmet": "エボカーのヘルメット", + "item.knightquest.evoker_chestplate": "エボカーのチェストプレート", + "item.knightquest.evoker_leggings": "エボカーのレギンス", + "item.knightquest.evoker_boots": "エボカーのブーツ", + "item.knightquest.forze_helmet": "フォーズのヘルメット", + "item.knightquest.forze_chestplate": "フォーズのチェストプレート", + "item.knightquest.forze_leggings": "フォーズのレギンス", + "item.knightquest.forze_boots": "フォーズのブーツ", + "item.knightquest.hollow_helmet": "ホロウのヘルメット", + "item.knightquest.hollow_chestplate": "ホロウのチェストプレート", + "item.knightquest.hollow_leggings": "ホロウのレギンス", + "item.knightquest.hollow_boots": "ホロウのブーツ", + "item.knightquest.nether_helmet": "ネザーのヘルメット", + "item.knightquest.nether_chestplate": "ネザーのチェストプレート", + "item.knightquest.nether_leggings": "ネザーのレギンス", + "item.knightquest.nether_boots": "ネザーのブーツ", + "item.knightquest.path_helmet": "パスのヘルメット", + "item.knightquest.path_chestplate": "パスのチェストプレート", + "item.knightquest.path_leggings": "パスのレギンス", + "item.knightquest.path_boots": "パスのブーツ", + "item.knightquest.veteran_helmet": "ベテランのヘルメット", + "item.knightquest.veteran_chestplate": "ベテランのチェストプレート", + "item.knightquest.veteran_leggings": "ベテランのレギンス", + "item.knightquest.veteran_boots": "ベテランのブーツ", + "item.knightquest.phantom_helmet": "ファントムのヘルメット", + "item.knightquest.phantom_chestplate": "ファントムのチェストプレート", + "item.knightquest.phantom_leggings": "ファントムのレギンス", + "item.knightquest.phantom_boots": "ファントムのブーツ", + "item.knightquest.sea_helmet": "シーのヘルメット", + "item.knightquest.sea_chestplate": "シーのチェストプレート", + "item.knightquest.sea_leggings": "シーのレギンス", + "item.knightquest.sea_boots": "シーのブーツ", + "item.knightquest.shield_helmet": "シールドのヘルメット", + "item.knightquest.shield_chestplate": "シールドのチェストプレート", + "item.knightquest.shield_leggings": "シールドのレギンス", + "item.knightquest.shield_boots": "シールドのブーツ", + "item.knightquest.silver_helmet": "シルバーのヘルメット", + "item.knightquest.silver_chestplate": "シルバーのチェストプレート", + "item.knightquest.silver_leggings": "シルバーのレギンス", + "item.knightquest.silver_boots": "シルバーのブーツ", + "item.knightquest.silverfish_helmet": "シルバーフィッシュのヘルメット", + "item.knightquest.silverfish_chestplate": "シルバーフィッシュのチェストプレート", + "item.knightquest.silverfish_leggings": "シルバーフィッシュのレギンス", + "item.knightquest.silverfish_boots": "シルバーフィッシュのブーツ", + "item.knightquest.skeleton_helmet": "スケルトンのヘルメット", + "item.knightquest.skeleton_chestplate": "スケルトンのチェストプレート", + "item.knightquest.skeleton_leggings": "スケルトンのレギンス", + "item.knightquest.skeleton_boots": "スケルトンのブーツ", + "item.knightquest.spider_helmet": "スパイダーのヘルメット", + "item.knightquest.spider_chestplate": "スパイダーのチェストプレート", + "item.knightquest.spider_leggings": "スパイダーのレギンス", + "item.knightquest.spider_boots": "スパイダーのブーツ", + "item.knightquest.warlord_helmet": "ウォーロードのヘルメット", + "item.knightquest.warlord_chestplate": "ウォーロードのチェストプレート", + "item.knightquest.warlord_leggings": "ウォーロードのレギンス", + "item.knightquest.warlord_boots": "ウォーロードのブーツ", + "item.knightquest.strawhat_helmet": "藁帽子のヘルメット", + "item.knightquest.strawhat_chestplate": "藁帽子のチェストプレート", + "item.knightquest.strawhat_leggings": "藁帽子のレギンス", + "item.knightquest.strawhat_boots": "藁帽子のブーツ", + "item.knightquest.pirate_helmet": "海賊のヘルメット", + "item.knightquest.pirate_chestplate": "海賊のチェストプレート", + "item.knightquest.pirate_leggings": "海賊のレギンス", + "item.knightquest.pirate_boots": "海賊のブーツ", + "item.knightquest.conquistador_helmet": "征服者のヘルメット", + "item.knightquest.conquistador_chestplate": "征服者のチェストプレート", + "item.knightquest.conquistador_leggings": "征服者のレギンス", + "item.knightquest.conquistador_boots": "征服者のブーツ", + "item.knightquest.zombie_helmet": "ゾンビのヘルメット", + "item.knightquest.zombie_chestplate": "ゾンビのチェストプレート", + "item.knightquest.zombie_leggings": "ゾンビのレギンス", + "item.knightquest.zombie_boots": "ゾンビのブーツ", + "item.knightquest.tengu_helmet": "天狗の仮面", + "item.knightquest.zombie_helmet2": "羽根付きゾンビのヘルメット", + "item.knightquest.conquistador2_helmet": "コルセアのヘルメット", + "item.knightquest.conquistador3_helmet": "フェンサーのヘルメット", + "item.knightquest.pirate2_helmet": "眼帯", + "item.knightquest.pirate3_helmet": "フリーブーターのヘルメット", + "item.knightquest.husk_helmet2": "ハスクロードのヘルメット", + "item.knightquest.husk_helmet3": "ハスクウォリアーのヘルメット", + "item.knightquest.husk_helmet": "ハスクのヘルメット", + "item.knightquest.husk_chestplate": "ハスクのチェストプレート", + "item.knightquest.husk_leggings": "ハスクのレギンス", + "item.knightquest.husk_boots": "ハスクのブーツ", + "item.knightquest.squire_helmet": "スクワイアのヘルメット", + "item.knightquest.squire_chestplate": "スクワイアのチェストプレート", + "item.knightquest.squire_leggings": "スクワイアのレギンス", + "item.knightquest.squire_boots": "スクワイアのブーツ", + "item.knightquest.wither_helmet": "ウィザーのヘルメット", + "item.knightquest.wither_chestplate": "ウィザーのチェストプレート", + "item.knightquest.wither_leggings": "ウィザーのレギンス", + "item.knightquest.wither_boots": "ウィザーのブーツ", + "item.knightquest.tunic_red_leggings": "赤いチュニック", + "item.knightquest.tunic_yellow_leggings": "黄色いチュニック", + "item.knightquest.tunic_green_leggings": "緑のチュニック", + "item.knightquest.tunic_blue_leggings": "青のチュニック", + "item.knightquest.tunic_sea_leggings": "海のチュニック", + "item.knightquest.chainmail_helmet": "チェーンメイルウォリアーヘルメット", + "item.knightquest.chainmail_helmet2": "チェーンメイルヘルメット", + "item.knightquest.skulk_chestplate": "スカルクのチェストプレート", + "item.knightquest.skulk_leggings": "スカルクのレギンス", + "item.knightquest.skulk_boots": "スカルクのブーツ", + "item.knightquest.skulk_helmet": "スカルクのヘルメット", + "item.knightquest.skulk2_helmet": "スカルクシャドウのヘルメット", + "item.knightquest.skulk3_helmet": "スカルクスペクトラルのヘルメット", + "item.knightquest.skulk4_helmet": "スカルクセンチネルのヘルメット", + "item.knightquest.skulk_marbled_helmet": "スカルクマーブルのヘルメット", + "item.knightquest.shinobi_helmet": "忍者のヘルメット", + "item.knightquest.shinobi_chestplate": "忍者のチェストプレート", + "item.knightquest.shinobi_leggings": "忍者のレギンス", + "item.knightquest.shinobi_boots": "忍者のブーツ", + "item.knightquest.polar_helmet": "極地のヘルメット", + "item.knightquest.polar_chestplate": "極地のチェストプレート", + "item.knightquest.polar_leggings": "極地のレギンス", + "item.knightquest.polar_boots": "極地のブーツ", + "item.knightquest.witch_helmet": "魔女のヘルメット", + "item.knightquest.witch_chestplate": "魔女のチェストプレート", + "item.knightquest.witch_leggings": "魔女のレギンス", + "item.knightquest.witch_boots": "魔女のブーツ", + + "tooltip.item.knightquest.lizzy_scale": "§8§oトカゲの鱗。", + "tooltip.item.knightquest.ratman_eye": "§8§o秘密を明らかにし、危険を検出します。賢く使ってください。", + "tooltip.item.knightquest.paladin_sword": "§8§o失われたパラディンの正義と勇気を放射します...", + "tooltip.item.knightquest.hollow_helmet": "§8§o雨の中に感じられる特定の悲しみがあります...", + "tooltip.item.knightquest.great_essence": "§8§o偉大なる杯に四つを捧げよ。", + "tooltip.item.knightquest.small_essence": "§8§o四つを組み合わせて偉大なエッセンスを作成します!", + "tooltip.item.knightquest.filled_goblet": "§8§o強力な防具を作るために使用します!", + "tooltip.item.knightquest.empty_goblet": "§8§o偉大な杯からエッセンスを集めるためのゴブレット。", + "tooltip.item.knightquest.great_chalice": "§8§o大いなるエッセンスを杯に捧げよ。", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§o2段階目のグレムリンが近くにいるときにのみ召喚できます。", + "tooltip.item.knightquest.squire_helmet": "§8§o何故か、サムハインはこの帽子が大好き...", + "block.knightquest.great_chalice": "大いなる杯", + + "tooltip.item.knightquest.full_set_bonus": "全セットボーナス:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o- 夜には暗視を付与", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o- スニーク時に透明化を付与", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o- 遠隔武器を持っているときに速度を付与", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o- モンスターに攻撃された時に強さを付与", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o- 耐性を付与", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o- 水中にいるときにイルカの恩恵を付与", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o- 落下ダメージを75%減少", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o- 対戦相手を燃やす確率30%", + + "entity.knightquest.gremlin": "グレムリン", + "entity.knightquest.bad_patch": "バッドパッチ", + "entity.knightquest.eldbomb": "エルドボム", + "entity.knightquest.eldknight": "エルドナイト", + "entity.knightquest.lizzy": "リジー", + "entity.knightquest.samhain": "サムハイン", + "entity.knightquest.swampman": "スワンプマン", + "entity.knightquest.ratman": "ラットマン", + "entity.knightquest.ghastling": "ガストリング", + "entity.knightquest.ghosty": "ゴースティ", + "entity.knightquest.momma_lizzy": "ママリジー" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/pt_pt.json b/src/main/resources/assets/knightquest/lang/pt_pt.json new file mode 100644 index 00000000..fbcc79f7 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/pt_pt.json @@ -0,0 +1,235 @@ +{ + "itemgroup.knightquest": "Jornada do Cavaleiro", + + "item.knightquest.great_essence": "Grande Essência", + "item.knightquest.small_essence": "Pequena Essência", + "item.knightquest.empty_goblet": "Cálice Vazio", + "item.knightquest.filled_goblet": "Cálice Cheio", + "item.knightquest.paladin_sword": "Espada do Paladino", + "item.knightquest.nail_glaive": "Glaive de Prego", + "item.knightquest.uchigatana_katana": "Uchigatana", + "item.knightquest.kukri_dagger": "Adaga Kukri", + "item.knightquest.khopesh_claymore": "Claymore Khopesh", + "item.knightquest.cleaver_heavy_axe": "Machado Pesado", + "item.knightquest.crimson_sword": "Espada Carmesim", + "item.knightquest.water_sword": "Espada Aquática", + "item.knightquest.steel_sword": "Espada de Aço", + "item.knightquest.water_axe": "Machado Aquático", + "item.knightquest.steel_axe": "Machado de Aço", + "item.knightquest.ratman_eye": "Olho de Rato", + "item.knightquest.lizzy_scale": "Escama de Lizzy", + + "item.knightquest.gremlin_spawn_egg": "Ovo de Nascimento de Gremlin", + "item.knightquest.eldbomb_spawn_egg": "Ovo de Nascimento de Eld Bomb", + "item.knightquest.eldknight_spawn_egg": "Ovo de Nascimento de Eld Cavaleiro", + "item.knightquest.ratman_spawn_egg": "Ovo de Nascimento de Rato", + "item.knightquest.samhain_spawn_egg": "Ovo de Nascimento de Samhain", + "item.knightquest.swampman_spawn_egg": "Ovo de Nascimento de Homem do Pântano", + "item.knightquest.lizzy_spawn_egg": "Ovo de Nascimento de Lizzy", + "item.knightquest.bad_patch_spawn_egg": "Ovo de Nascimento de Pano Ruim", + "item.knightquest.momma_lizzy_spawn_egg": "Ovo de Nascimento de Mamãe Lizzy", + "item.knightquest.ghastling_spawn_egg": "Ovo de Nascimento de Ghastling", + "item.knightquest.ghosty_spawn_egg": "Ovo de Nascimento de Fantasminha", + + "item.knightquest.apple_helmet": "Capacete de Maçã", + "item.knightquest.apple_chestplate": "Peitoral de Maçã", + "item.knightquest.apple_leggings": "Perneiras de Maçã", + "item.knightquest.apple_boots": "Botas de Maçã", + "item.knightquest.bamboo_blue_helmet": "Capacete de Bambu Azul", + "item.knightquest.bamboo_blue_chestplate": "Peitoral de Bambu Azul", + "item.knightquest.bamboo_blue_leggings": "Perneiras de Bambu Azul", + "item.knightquest.bamboo_blue_boots": "Botas de Bambu Azul", + "item.knightquest.bamboo_green_helmet": "Capacete de Bambu Verde", + "item.knightquest.bamboo_green_chestplate": "Peitoral de Bambu Verde", + "item.knightquest.bamboo_green_leggings": "Perneiras de Bambu Verde", + "item.knightquest.bamboo_green_boots": "Botas de Bambu Verde", + "item.knightquest.bamboo_helmet": "Capacete de Bambu", + "item.knightquest.bamboo_chestplate": "Peitoral de Bambu", + "item.knightquest.bamboo_leggings": "Perneiras de Bambu", + "item.knightquest.bamboo_boots": "Botas de Bambu", + "item.knightquest.bat_helmet": "Capacete de Morcego", + "item.knightquest.bat_chestplate": "Peitoral de Morcego", + "item.knightquest.bat_leggings": "Perneiras de Morcego", + "item.knightquest.bat_boots": "Botas de Morcego", + "item.knightquest.blaze_helmet": "Capacete de Blaze", + "item.knightquest.blaze_chestplate": "Peitoral de Blaze", + "item.knightquest.blaze_leggings": "Perneiras de Blaze", + "item.knightquest.blaze_boots": "Botas de Blaze", + "item.knightquest.bow_helmet": "Capacete de Arco", + "item.knightquest.bow_chestplate": "Peitoral de Arco", + "item.knightquest.bow_leggings": "Perneiras de Arco", + "item.knightquest.bow_boots": "Botas de Arco", + "item.knightquest.horn_helmet": "Capacete de Chifre", + "item.knightquest.horn_chestplate": "Peitoral de Chifre", + "item.knightquest.horn_leggings": "Perneiras de Chifre", + "item.knightquest.horn_boots": "Botas de Chifre", + "item.knightquest.creeper_helmet": "Capacete de Creeper", + "item.knightquest.creeper_chestplate": "Peitoral de Creeper", + "item.knightquest.creeper_leggings": "Perneiras de Creeper", + "item.knightquest.creeper_boots": "Botas de Creeper", + "item.knightquest.deepslate_helmet": "Capacete de Ardósia Profunda", + "item.knightquest.deepslate_chestplate": "Peitoral de Ardósia Profunda", + "item.knightquest.deepslate_leggings": "Perneiras de Ardósia Profunda", + "item.knightquest.deepslate_boots": "Botas de Ardósia Profunda", + "item.knightquest.dragon_helmet": "Capacete de Dragão", + "item.knightquest.dragon_chestplate": "Peitoral de Dragão", + "item.knightquest.dragon_leggings": "Perneiras de Dragão", + "item.knightquest.dragon_boots": "Botas de Dragão", + "item.knightquest.enderman_helmet": "Capacete de Enderman", + "item.knightquest.enderman_chestplate": "Peitoral de Enderman", + "item.knightquest.enderman_leggings": "Perneiras de Enderman", + "item.knightquest.enderman_boots": "Botas de Enderman", + "item.knightquest.evoker_helmet": "Capacete de Evocador", + "item.knightquest.evoker_chestplate": "Peitoral de Evocador", + "item.knightquest.evoker_leggings": "Perneiras de Evocador", + "item.knightquest.evoker_boots": "Botas de Evocador", + "item.knightquest.forze_helmet": "Capacete de Forze", + "item.knightquest.forze_chestplate": "Peitoral de Forze", + "item.knightquest.forze_leggings": "Perneiras de Forze", + "item.knightquest.forze_boots": "Botas de Forze", + "item.knightquest.hollow_helmet": "Capacete de Oco", + "item.knightquest.hollow_chestplate": "Peitoral de Oco", + "item.knightquest.hollow_leggings": "Perneiras de Oco", + "item.knightquest.hollow_boots": "Botas de Oco", + "item.knightquest.nether_helmet": "Capacete do Nether", + "item.knightquest.nether_chestplate": "Peitoral do Nether", + "item.knightquest.nether_leggings": "Perneiras do Nether", + "item.knightquest.nether_boots": "Botas do Nether", + "item.knightquest.path_helmet": "Capacete de Caminho", + "item.knightquest.path_chestplate": "Peitoral de Caminho", + "item.knightquest.path_leggings": "Perneiras de Caminho", + "item.knightquest.path_boots": "Botas de Caminho", + "item.knightquest.veteran_helmet": "Capacete de Veterano", + "item.knightquest.veteran_chestplate": "Peitoral de Veterano", + "item.knightquest.veteran_leggings": "Perneiras de Veterano", + "item.knightquest.veteran_boots": "Botas de Veterano", + "item.knightquest.phantom_helmet": "Capacete de Fantasma", + "item.knightquest.phantom_chestplate": "Peitoral de Fantasma", + "item.knightquest.phantom_leggings": "Perneiras de Fantasma", + "item.knightquest.phantom_boots": "Botas de Fantasma", + "item.knightquest.sea_helmet": "Capacete Marinho", + "item.knightquest.sea_chestplate": "Peitoral Marinho", + "item.knightquest.sea_leggings": "Perneiras Marinho", + "item.knightquest.sea_boots": "Botas Marinho", + "item.knightquest.shield_helmet": "Capacete de Escudo", + "item.knightquest.shield_chestplate": "Peitoral de Escudo", + "item.knightquest.shield_leggings": "Perneiras de Escudo", + "item.knightquest.shield_boots": "Botas de Escudo", + "item.knightquest.silver_helmet": "Capacete de Prata", + "item.knightquest.silver_chestplate": "Peitoral de Prata", + "item.knightquest.silver_leggings": "Perneiras de Prata", + "item.knightquest.silver_boots": "Botas de Prata", + "item.knightquest.silverfish_helmet": "Capacete de Peixe-Prateado", + "item.knightquest.silverfish_chestplate": "Peitoral de Peixe-Prateado", + "item.knightquest.silverfish_leggings": "Perneiras de Peixe-Prateado", + "item.knightquest.silverfish_boots": "Botas de Peixe-Prateado", + "item.knightquest.skeleton_helmet": "Capacete de Esqueleto", + "item.knightquest.skeleton_chestplate": "Peitoral de Esqueleto", + "item.knightquest.skeleton_leggings": "Perneiras de Esqueleto", + "item.knightquest.skeleton_boots": "Botas de Esqueleto", + "item.knightquest.spider_helmet": "Capacete de Aranha", + "item.knightquest.spider_chestplate": "Peitoral de Aranha", + "item.knightquest.spider_leggings": "Perneiras de Aranha", + "item.knightquest.spider_boots": "Botas de Aranha", + "item.knightquest.warlord_helmet": "Capacete de Senhor da Guerra", + "item.knightquest.warlord_chestplate": "Peitoral de Senhor da Guerra", + "item.knightquest.warlord_leggings": "Perneiras de Senhor da Guerra", + "item.knightquest.warlord_boots": "Botas de Senhor da Guerra", + "item.knightquest.strawhat_helmet": "Capacete de Palha", + "item.knightquest.strawhat_chestplate": "Peitoral de Palha", + "item.knightquest.strawhat_leggings": "Perneiras de Palha", + "item.knightquest.strawhat_boots": "Botas de Palha", + "item.knightquest.pirate_helmet": "Capacete de Pirata", + "item.knightquest.pirate_chestplate": "Peitoral de Pirata", + "item.knightquest.pirate_leggings": "Perneiras de Pirata", + "item.knightquest.pirate_boots": "Botas de Pirata", + "item.knightquest.conquistador_helmet": "Capacete de Conquistador", + "item.knightquest.conquistador_chestplate": "Peitoral de Conquistador", + "item.knightquest.conquistador_leggings": "Perneiras de Conquistador", + "item.knightquest.conquistador_boots": "Botas de Conquistador", + "item.knightquest.zombie_helmet": "Capacete de Zumbi", + "item.knightquest.zombie_chestplate": "Peitoral de Zumbi", + "item.knightquest.zombie_leggings": "Perneiras de Zumbi", + "item.knightquest.zombie_boots": "Botas de Zumbi", + "item.knightquest.tengu_helmet": "Máscara Tengu", + "item.knightquest.zombie_helmet2": "Capacete de Zumbi Emplumado", + "item.knightquest.conquistador2_helmet": "Capacete de Corsário", + "item.knightquest.conquistador3_helmet": "Capacete de Esgrimista", + "item.knightquest.pirate2_helmet": "Tapa-olho", + "item.knightquest.pirate3_helmet": "Capacete do Pirata Livre", + "item.knightquest.husk_helmet2": "Capacete do Senhor dos Husks", + "item.knightquest.husk_helmet3": "Capacete do Guerreiro Husk", + "item.knightquest.husk_helmet": "Capacete Husk", + "item.knightquest.husk_chestplate": "Peitoral Husk", + "item.knightquest.husk_leggings": "Perneiras Husk", + "item.knightquest.husk_boots": "Botas Husk", + "item.knightquest.squire_helmet": "Capacete de Escudeiro", + "item.knightquest.squire_chestplate": "Peitoral de Escudeiro", + "item.knightquest.squire_leggings": "Perneiras de Escudeiro", + "item.knightquest.squire_boots": "Botas de Escudeiro", + "item.knightquest.wither_helmet": "Capacete Wither", + "item.knightquest.wither_chestplate": "Peitoral Wither", + "item.knightquest.wither_leggings": "Perneiras Wither", + "item.knightquest.wither_boots": "Botas Wither", + "item.knightquest.tunic_red_leggings": "Túnica Vermelha", + "item.knightquest.tunic_yellow_leggings": "Túnica Amarela", + "item.knightquest.tunic_green_leggings": "Túnica Verde", + "item.knightquest.tunic_blue_leggings": "Túnica Azul", + "item.knightquest.tunic_sea_leggings": "Túnica do Mar", + "item.knightquest.chainmail_helmet": "Capacete de Malha de Guerreiro", + "item.knightquest.chainmail_helmet2": "Capacete de Malha", + "item.knightquest.skulk_chestplate": "Peitoral Skulk", + "item.knightquest.skulk_leggings": "Perneiras Skulk", + "item.knightquest.skulk_boots": "Botas Skulk", + "item.knightquest.skulk_helmet": "Capacete Skulk", + "item.knightquest.skulk2_helmet": "Capacete Sombrio Skulk", + "item.knightquest.skulk3_helmet": "Capacete Espectral Skulk", + "item.knightquest.skulk4_helmet": "Capacete Sentinela Skulk", + "item.knightquest.skulk_marbled_helmet": "Capacete Marmorizado Skulk", + "item.knightquest.shinobi_helmet": "Capacete Shinobi", + "item.knightquest.shinobi_chestplate": "Peitoral Shinobi", + "item.knightquest.shinobi_leggings": "Perneiras Shinobi", + "item.knightquest.shinobi_boots": "Botas Shinobi", + "item.knightquest.polar_helmet": "Capacete Polar", + "item.knightquest.polar_chestplate": "Peitoral Polar", + "item.knightquest.polar_leggings": "Perneiras Polar", + "item.knightquest.polar_boots": "Botas Polar", + "item.knightquest.witch_helmet": "Capacete de Bruxa", + "item.knightquest.witch_chestplate": "Peitoral de Bruxa", + "item.knightquest.witch_leggings": "Perneiras de Bruxa", + "item.knightquest.witch_boots": "Botas de Bruxa", + "tooltip.item.knightquest.lizzy_scale": "§8§oUma escama de lagarto.", + "tooltip.item.knightquest.ratman_eye": "§8§oRevela segredos, detecta perigos. Use sabiamente.", + "tooltip.item.knightquest.paladin_sword": "§8§oIrradia a justiça e a coragem de um paladino perdido...", + "tooltip.item.knightquest.hollow_helmet": "§8§oHá uma certa tristeza que pode ser sentida na chuva...", + "tooltip.item.knightquest.great_essence": "§8§oOfereça quatro a um grande cálice.", + "tooltip.item.knightquest.small_essence": "§8§oCombine quatro para fazer uma grande essência!", + "tooltip.item.knightquest.filled_goblet": "§8§oUse-o para criar armaduras poderosas!", + "tooltip.item.knightquest.empty_goblet": "§8§oUm cálice usado para recolher essência de um Grande Cálice.", + "tooltip.item.knightquest.great_chalice": "§8§oOfereça ao cálice grande essência.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oSó pode ser invocado quando um Gremlin da segunda fase está próximo.", + "tooltip.item.knightquest.squire_helmet": "§8§oPor algum motivo, Samhain adora este chapéu...", + "block.knightquest.great_chalice": "Grande Cálice", + + "tooltip.item.knightquest.full_set_bonus": "Bônus do Conjunto Completo:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Concede visão noturna à noite", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Concede invisibilidade ao se agachar", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Concede velocidade ao segurar uma arma à distância", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Concede força ao ser atingido por um monstro", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Concede resistência", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Concede graça de golfinho quando submerso", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Reduz 75% do dano de queda brusca", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-Chance de 30% de queimar o oponente", + + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Má Pata", + "entity.knightquest.eldbomb": "Eld Bomb", + "entity.knightquest.eldknight": "Eld Cavaleiro", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Homem do Pântano", + "entity.knightquest.ratman": "Ratman", + "entity.knightquest.ghastling": "Ghastling", + "entity.knightquest.ghosty": "Fantasminha", + "entity.knightquest.momma_lizzy": "Mãe Lizzy" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/ru_ru.json b/src/main/resources/assets/knightquest/lang/ru_ru.json new file mode 100644 index 00000000..1b8b504f --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/ru_ru.json @@ -0,0 +1,230 @@ +{ + "itemgroup.knightquest": "Рыцарский квест", + "item.knightquest.great_essence": "Великая сущность", + "item.knightquest.small_essence": "Малая сущность", + "item.knightquest.empty_goblet": "Пустой кубок", + "item.knightquest.filled_goblet": "Наполненный кубок", + "item.knightquest.paladin_sword": "Меч Паладина", + "item.knightquest.nail_glaive": "Копье-глейв", + "item.knightquest.uchigatana_katana": "Учигатана", + "item.knightquest.kukri_dagger": "Кукри", + "item.knightquest.khopesh_claymore": "Хопеш", + "item.knightquest.cleaver_heavy_axe": "Тяжелый топор", + "item.knightquest.crimson_sword": "Багровый меч", + "item.knightquest.water_sword": "Водный меч", + "item.knightquest.steel_sword": "Стальной меч", + "item.knightquest.water_axe": "Водный топор", + "item.knightquest.steel_axe": "Стальной топор", + "item.knightquest.ratman_eye": "Глаз крысы", + "item.knightquest.lizzy_scale": "Чешуя Лиззи", + "item.knightquest.gremlin_spawn_egg": "Яйцо спавна Гремлина", + "item.knightquest.eldbomb_spawn_egg": "Яйцо спавна Элдбомба", + "item.knightquest.eldknight_spawn_egg": "Яйцо спавна Элднайта", + "item.knightquest.ratman_spawn_egg": "Яйцо спавна Рэтмена", + "item.knightquest.samhain_spawn_egg": "Яйцо спавна Самхейна", + "item.knightquest.swampman_spawn_egg": "Яйцо спавна Болотника", + "item.knightquest.lizzy_spawn_egg": "Яйцо спавна Лиззи", + "item.knightquest.bad_patch_spawn_egg": "Яйцо спавна Плохого Заплата", + "item.knightquest.momma_lizzy_spawn_egg": "Яйцо спавна Мама Лиззи", + "item.knightquest.ghastling_spawn_egg": "Яйцо спавна Гастлинга", + "item.knightquest.ghosty_spawn_egg": "Яйцо спавна Призрачного", + "item.knightquest.apple_helmet": "Шлем из яблока", + "item.knightquest.apple_chestplate": "Нагрудник из яблока", + "item.knightquest.apple_leggings": "Поножи из яблока", + "item.knightquest.apple_boots": "Ботинки из яблока", + "item.knightquest.bamboo_blue_helmet": "Синий шлем из бамбука", + "item.knightquest.bamboo_blue_chestplate": "Синий нагрудник из бамбука", + "item.knightquest.bamboo_blue_leggings": "Синие поножи из бамбука", + "item.knightquest.bamboo_blue_boots": "Синие ботинки из бамбука", + "item.knightquest.bamboo_green_helmet": "Зеленый шлем из бамбука", + "item.knightquest.bamboo_green_chestplate": "Зеленый нагрудник из бамбука", + "item.knightquest.bamboo_green_leggings": "Зеленые поножи из бамбука", + "item.knightquest.bamboo_green_boots": "Зеленые ботинки из бамбука", + "item.knightquest.bamboo_helmet": "Шлем из бамбука", + "item.knightquest.bamboo_chestplate": "Нагрудник из бамбука", + "item.knightquest.bamboo_leggings": "Поножи из бамбука", + "item.knightquest.bamboo_boots": "Ботинки из бамбука", + "item.knightquest.bat_helmet": "Шлем летучей мыши", + "item.knightquest.bat_chestplate": "Нагрудник летучей мыши", + "item.knightquest.bat_leggings": "Поножи летучей мыши", + "item.knightquest.bat_boots": "Ботинки летучей мыши", + "item.knightquest.blaze_helmet": "Шлем огненного стража", + "item.knightquest.blaze_chestplate": "Нагрудник огненного стража", + "item.knightquest.blaze_leggings": "Поножи огненного стража", + "item.knightquest.blaze_boots": "Ботинки огненного стража", + "item.knightquest.bow_helmet": "Шлем лучника", + "item.knightquest.bow_chestplate": "Нагрудник лучника", + "item.knightquest.bow_leggings": "Поножи лучника", + "item.knightquest.bow_boots": "Ботинки лучника", + "item.knightquest.horn_helmet": "Шлем рогатого", + "item.knightquest.horn_chestplate": "Нагрудник рогатого", + "item.knightquest.horn_leggings": "Поножи рогатого", + "item.knightquest.horn_boots": "Ботинки рогатого", + "item.knightquest.creeper_helmet": "Шлем крипера", + "item.knightquest.creeper_chestplate": "Нагрудник крипера", + "item.knightquest.creeper_leggings": "Поножи крипера", + "item.knightquest.creeper_boots": "Ботинки крипера", + "item.knightquest.deepslate_helmet": "Шлем глубинной породы", + "item.knightquest.deepslate_chestplate": "Нагрудник глубинной породы", + "item.knightquest.deepslate_leggings": "Поножи глубинной породы", + "item.knightquest.deepslate_boots": "Ботинки глубинной породы", + "item.knightquest.dragon_helmet": "Шлем дракона", + "item.knightquest.dragon_chestplate": "Нагрудник дракона", + "item.knightquest.dragon_leggings": "Поножи дракона", + "item.knightquest.dragon_boots": "Ботинки дракона", + "item.knightquest.enderman_helmet": "Шлем Эндермена", + "item.knightquest.enderman_chestplate": "Нагрудник Эндермена", + "item.knightquest.enderman_leggings": "Поножи Эндермена", + "item.knightquest.enderman_boots": "Ботинки Эндермена", + "item.knightquest.evoker_helmet": "Шлем призывателя", + "item.knightquest.evoker_chestplate": "Нагрудник призывателя", + "item.knightquest.evoker_leggings": "Поножи призывателя", + "item.knightquest.evoker_boots": "Ботинки призывателя", + "item.knightquest.forze_helmet": "Шлем мороза", + "item.knightquest.forze_chestplate": "Нагрудник мороза", + "item.knightquest.forze_leggings": "Поножи мороза", + "item.knightquest.forze_boots": "Ботинки мороза", + "item.knightquest.hollow_helmet": "Шлем пустоты", + "item.knightquest.hollow_chestplate": "Нагрудник пустоты", + "item.knightquest.hollow_leggings": "Поножи пустоты", + "item.knightquest.hollow_boots": "Ботинки пустоты", + "item.knightquest.nether_helmet": "Шлем Нижнего мира", + "item.knightquest.nether_chestplate": "Нагрудник Нижнего мира", + "item.knightquest.nether_leggings": "Поножи Нижнего мира", + "item.knightquest.nether_boots": "Ботинки Нижнего мира", + "item.knightquest.path_helmet": "Шлем пути", + "item.knightquest.path_chestplate": "Нагрудник пути", + "item.knightquest.path_leggings": "Поножи пути", + "item.knightquest.path_boots": "Ботинки пути", + "item.knightquest.veteran_helmet": "Шлем ветерана", + "item.knightquest.veteran_chestplate": "Нагрудник ветерана", + "item.knightquest.veteran_leggings": "Поножи ветерана", + "item.knightquest.veteran_boots": "Ботинки ветерана", + "item.knightquest.phantom_helmet": "Шлем фантома", + "item.knightquest.phantom_chestplate": "Нагрудник фантома", + "item.knightquest.phantom_leggings": "Поножи фантома", + "item.knightquest.phantom_boots": "Ботинки фантома", + "item.knightquest.sea_helmet": "Шлем моря", + "item.knightquest.sea_chestplate": "Нагрудник моря", + "item.knightquest.sea_leggings": "Поножи моря", + "item.knightquest.sea_boots": "Ботинки моря", + "item.knightquest.shield_helmet": "Шлем щита", + "item.knightquest.shield_chestplate": "Нагрудник щита", + "item.knightquest.shield_leggings": "Поножи щита", + "item.knightquest.shield_boots": "Ботинки щита", + "item.knightquest.silver_helmet": "Серебряный шлем", + "item.knightquest.silver_chestplate": "Серебряный нагрудник", + "item.knightquest.silver_leggings": "Серебряные поножи", + "item.knightquest.silver_boots": "Серебряные ботинки", + "item.knightquest.silverfish_helmet": "Шлем серебряной рыбы", + "item.knightquest.silverfish_chestplate": "Нагрудник серебряной рыбы", + "item.knightquest.silverfish_leggings": "Поножи серебряной рыбы", + "item.knightquest.silverfish_boots": "Ботинки серебряной рыбы", + "item.knightquest.skeleton_helmet": "Шлем скелета", + "item.knightquest.skeleton_chestplate": "Нагрудник скелета", + "item.knightquest.skeleton_leggings": "Поножи скелета", + "item.knightquest.skeleton_boots": "Ботинки скелета", + "item.knightquest.spider_helmet": "Шлем паука", + "item.knightquest.spider_chestplate": "Нагрудник паука", + "item.knightquest.spider_leggings": "Поножи паука", + "item.knightquest.spider_boots": "Ботинки паука", + "item.knightquest.warlord_helmet": "Шлем вождя", + "item.knightquest.warlord_chestplate": "Нагрудник вождя", + "item.knightquest.warlord_leggings": "Поножи вождя", + "item.knightquest.warlord_boots": "Ботинки вождя", + "item.knightquest.strawhat_helmet": "Шлем из соломы", + "item.knightquest.strawhat_chestplate": "Нагрудник из соломы", + "item.knightquest.strawhat_leggings": "Поножи из соломы", + "item.knightquest.strawhat_boots": "Ботинки из соломы", + "item.knightquest.pirate_helmet": "Шлем пирата", + "item.knightquest.pirate_chestplate": "Нагрудник пирата", + "item.knightquest.pirate_leggings": "Поножи пирата", + "item.knightquest.pirate_boots": "Ботинки пирата", + "item.knightquest.conquistador_helmet": "Шлем конкистадора", + "item.knightquest.conquistador_chestplate": "Нагрудник конкистадора", + "item.knightquest.conquistador_leggings": "Поножи конкистадора", + "item.knightquest.conquistador_boots": "Ботинки конкистадора", + "item.knightquest.zombie_helmet": "Шлем зомби", + "item.knightquest.zombie_chestplate": "Нагрудник зомби", + "item.knightquest.zombie_leggings": "Поножи зомби", + "item.knightquest.zombie_boots": "Ботинки зомби", + "item.knightquest.tengu_helmet": "Маска Тэнгу", + "item.knightquest.zombie_helmet2": "Шлем зомби с перьями", + "item.knightquest.conquistador2_helmet": "Шлем капера", + "item.knightquest.conquistador3_helmet": "Шлем фехтовальщика", + "item.knightquest.pirate2_helmet": "Пиратский повязка", + "item.knightquest.pirate3_helmet": "Шлем пиратского разбойника", + "item.knightquest.husk_helmet2": "Шлем лорда пустыни", + "item.knightquest.husk_helmet3": "Шлем воина пустыни", + "item.knightquest.husk_helmet": "Шлем пустынника", + "item.knightquest.husk_chestplate": "Нагрудник пустынника", + "item.knightquest.husk_leggings": "Поножи пустынника", + "item.knightquest.husk_boots": "Ботинки пустынника", + "item.knightquest.squire_helmet": "Шлем оруженосца", + "item.knightquest.squire_chestplate": "Нагрудник оруженосца", + "item.knightquest.squire_leggings": "Поножи оруженосца", + "item.knightquest.squire_boots": "Ботинки оруженосца", + "item.knightquest.wither_helmet": "Шлем умертвия", + "item.knightquest.wither_chestplate": "Нагрудник умертвия", + "item.knightquest.wither_leggings": "Поножи умертвия", + "item.knightquest.wither_boots": "Ботинки умертвия", + "item.knightquest.tunic_red_leggings": "Красная мантия", + "item.knightquest.tunic_yellow_leggings": "Жёлтая мантия", + "item.knightquest.tunic_green_leggings": "Зелёная мантия", + "item.knightquest.tunic_blue_leggings": "Синяя мантия", + "item.knightquest.tunic_sea_leggings": "Морская мантия", + "item.knightquest.chainmail_helmet": "Шлем цепной брони", + "item.knightquest.chainmail_helmet2": "Цепной шлем", + "item.knightquest.skulk_chestplate": "Нагрудник из шёлка", + "item.knightquest.skulk_leggings": "Поножи из шёлка", + "item.knightquest.skulk_boots": "Ботинки из шёлка", + "item.knightquest.skulk_helmet": "Шлем из шёлка", + "item.knightquest.skulk2_helmet": "Теневой шлем", + "item.knightquest.skulk3_helmet": "Спектральный шлем", + "item.knightquest.skulk4_helmet": "Сторожевой шлем", + "item.knightquest.skulk_marbled_helmet": "Мраморный шлем", + "item.knightquest.shinobi_helmet": "Шлем шиноби", + "item.knightquest.shinobi_chestplate": "Нагрудник шиноби", + "item.knightquest.shinobi_leggings": "Поножи шиноби", + "item.knightquest.shinobi_boots": "Ботинки шиноби", + "item.knightquest.polar_helmet": "Шлем полярника", + "item.knightquest.polar_chestplate": "Нагрудник полярника", + "item.knightquest.polar_leggings": "Поножи полярника", + "item.knightquest.polar_boots": "Ботинки полярника", + "item.knightquest.witch_helmet": "Шлем ведьмы", + "item.knightquest.witch_chestplate": "Нагрудник ведьмы", + "item.knightquest.witch_leggings": "Поножи ведьмы", + "item.knightquest.witch_boots": "Ботинки ведьмы", + "tooltip.item.knightquest.lizzy_scale": "§8§oЧешуйка ящерицы.", + "tooltip.item.knightquest.ratman_eye": "§8§oРаскрывает секреты, обнаруживает опасности. Используйте мудро.", + "tooltip.item.knightquest.paladin_sword": "§8§oИзлучает справедливость и доблесть погибшего паладина...", + "tooltip.item.knightquest.hollow_helmet": "§8§oЕсть определённая печаль, которую можно почувствовать под дождём...", + "tooltip.item.knightquest.great_essence": "§8§oПредложите четыре великому кубку.", + "tooltip.item.knightquest.small_essence": "§8§oСовместите четыре, чтобы получить великую сущность!", + "tooltip.item.knightquest.filled_goblet": "§8§oИспользуйте его, чтобы создать мощную броню!", + "tooltip.item.knightquest.empty_goblet": "§8§oКубок, используемый для сбора эссенции из Великого кубка.", + "tooltip.item.knightquest.great_chalice": "§8§oПредложите чашу великой сущности.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oМожет быть вызван только, когда рядом находится Гремлин во второй фазе.", + "tooltip.item.knightquest.squire_helmet": "§8§oПо какой-то причине, Самхейн обожает эту шляпу...", + "block.knightquest.great_chalice": "Великий кубок", + "tooltip.item.knightquest.full_set_bonus": "Бонус за полный комплект:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Предоставляет ночное зрение ночью", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Предоставляет невидимость в режиме скрытности", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Предоставляет скорость при держании дальнобойного оружия", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Предоставляет силу при ударе монстра", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Предоставляет сопротивление", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Предоставляет дельфинье благословение при погружении", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Снижает 75% грубого урона при падении", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-Шанс в 30% поджечь противника", + "entity.knightquest.gremlin": "Гремлин", + "entity.knightquest.bad_patch": "Плохой клапс", + "entity.knightquest.eldbomb": "Бомба Эльда", + "entity.knightquest.eldknight": "Эльф-рыцарь", + "entity.knightquest.lizzy": "Лиззи", + "entity.knightquest.samhain": "Самхейн", + "entity.knightquest.swampman": "Болотный человек", + "entity.knightquest.ratman": "Человек-крыса", + "entity.knightquest.ghastling": "Призрачек", + "entity.knightquest.ghosty": "Призрак", + "entity.knightquest.momma_lizzy": "Мама Лиззи" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/tr_tr.json b/src/main/resources/assets/knightquest/lang/tr_tr.json new file mode 100644 index 00000000..7f2f0e8a --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/tr_tr.json @@ -0,0 +1,230 @@ +{ + "itemgroup.knightquest": "Şövalye Görevi", + "item.knightquest.great_essence": "Büyük öz", + "item.knightquest.small_essence": "Küçük Öz", + "item.knightquest.empty_goblet": "Boş Kadeh", + "item.knightquest.filled_goblet": "Dolu Kadeh", + "item.knightquest.paladin_sword": "Paladin Kılıcı", + "item.knightquest.nail_glaive": "Çivi Glaive", + "item.knightquest.uchigatana_katana": "Uchigatana", + "item.knightquest.kukri_dagger": "Kukri", + "item.knightquest.khopesh_claymore": "Khopesh", + "item.knightquest.cleaver_heavy_axe": "Kesici", + "item.knightquest.crimson_sword": "Alaca Kılıç", + "item.knightquest.water_sword": "Su Kılıcı", + "item.knightquest.steel_sword": "Çelik Kılıç", + "item.knightquest.water_axe": "Su balta", + "item.knightquest.steel_axe": "Çelik balta", + "item.knightquest.ratman_eye": "Ratman göz", + "item.knightquest.lizzy_scale": "Lizzy ölçeği", + "item.knightquest.gremlin_spawn_egg": "Gremlin Çıkma Yumurtası", + "item.knightquest.eldbomb_spawn_egg": "Eldbomb Çıkma Yumurtası", + "item.knightquest.eldknight_spawn_egg": "Eldknight Çıkma Yumurtası", + "item.knightquest.ratman_spawn_egg": "Ratman Çıkma Yumurtası", + "item.knightquest.samhain_spawn_egg": "Samhain Çıkma Yumurtası", + "item.knightquest.swampman_spawn_egg": "Bataklık Adamı Çıkma Yumurtası", + "item.knightquest.lizzy_spawn_egg": "Lizzy Çıkma Yumurtası", + "item.knightquest.bad_patch_spawn_egg": "Kötü Yama Çıkma Yumurtası", + "item.knightquest.momma_lizzy_spawn_egg": "Anne Lizzy Çıkma Yumurtası", + "item.knightquest.ghastling_spawn_egg": "Ghastling Çıkma Yumurtası", + "item.knightquest.ghosty_spawn_egg": "Ruhsal Çıkma Yumurtası", + "item.knightquest.apple_helmet": "Elma Kaskı", + "item.knightquest.apple_chestplate": "Elma Zırhı", + "item.knightquest.apple_leggings": "Elma Pantolon", + "item.knightquest.apple_boots": "Elma Botları", + "item.knightquest.bamboo_blue_helmet": "Mavi Bambu Kaskı", + "item.knightquest.bamboo_blue_chestplate": "Mavi Bambu Zırhı", + "item.knightquest.bamboo_blue_leggings": "Mavi Bambu Pantolon", + "item.knightquest.bamboo_blue_boots": "Mavi Bambu Botları", + "item.knightquest.bamboo_green_helmet": "Yeşil Bambu Kaskı", + "item.knightquest.bamboo_green_chestplate": "Yeşil Bambu Zırhı", + "item.knightquest.bamboo_green_leggings": "Yeşil Bambu Pantolon", + "item.knightquest.bamboo_green_boots": "Yeşil Bambu Botları", + "item.knightquest.bamboo_helmet": "Bambu Kaskı", + "item.knightquest.bamboo_chestplate": "Bambu Zırhı", + "item.knightquest.bamboo_leggings": "Bambu Pantolon", + "item.knightquest.bamboo_boots": "Bambu Botları", + "item.knightquest.bat_helmet": "Yarasa Kaskı", + "item.knightquest.bat_chestplate": "Yarasa Zırhı", + "item.knightquest.bat_leggings": "Yarasa Pantolon", + "item.knightquest.bat_boots": "Yarasa Botları", + "item.knightquest.blaze_helmet": "Alev Kaskı", + "item.knightquest.blaze_chestplate": "Alev Zırhı", + "item.knightquest.blaze_leggings": "Alev Pantolon", + "item.knightquest.blaze_boots": "Alev Botları", + "item.knightquest.bow_helmet": "Ok Kaskı", + "item.knightquest.bow_chestplate": "Ok Zırhı", + "item.knightquest.bow_leggings": "Ok Pantolon", + "item.knightquest.bow_boots": "Ok Botları", + "item.knightquest.horn_helmet": "Boynuz Kaskı", + "item.knightquest.horn_chestplate": "Boynuz Zırhı", + "item.knightquest.horn_leggings": "Boynuz Pantolon", + "item.knightquest.horn_boots": "Boynuz Botları", + "item.knightquest.creeper_helmet": "Creeper Kaskı", + "item.knightquest.creeper_chestplate": "Creeper Zırhı", + "item.knightquest.creeper_leggings": "Creeper Pantolon", + "item.knightquest.creeper_boots": "Creeper Botları", + "item.knightquest.deepslate_helmet": "Derin Kaya Kaskı", + "item.knightquest.deepslate_chestplate": "Derin Kaya Zırhı", + "item.knightquest.deepslate_leggings": "Derin Kaya Pantolon", + "item.knightquest.deepslate_boots": "Derin Kaya Botları", + "item.knightquest.dragon_helmet": "Ejderha Kaskı", + "item.knightquest.dragon_chestplate": "Ejderha Zırhı", + "item.knightquest.dragon_leggings": "Ejderha Pantolon", + "item.knightquest.dragon_boots": "Ejderha Botları", + "item.knightquest.enderman_helmet": "Enderman Kaskı", + "item.knightquest.enderman_chestplate": "Enderman Zırhı", + "item.knightquest.enderman_leggings": "Enderman Pantolon", + "item.knightquest.enderman_boots": "Enderman Botları", + "item.knightquest.evoker_helmet": "Çağırıcı Kaskı", + "item.knightquest.evoker_chestplate": "Çağırıcı Zırhı", + "item.knightquest.evoker_leggings": "Çağırıcı Pantolon", + "item.knightquest.evoker_boots": "Çağırıcı Botları", + "item.knightquest.forze_helmet": "Forze Kaskı", + "item.knightquest.forze_chestplate": "Forze Zırhı", + "item.knightquest.forze_leggings": "Forze Pantolon", + "item.knightquest.forze_boots": "Forze Botları", + "item.knightquest.hollow_helmet": "Hollow Kaskı", + "item.knightquest.hollow_chestplate": "Hollow Zırhı", + "item.knightquest.hollow_leggings": "Hollow Pantolon", + "item.knightquest.hollow_boots": "Hollow Botları", + "item.knightquest.nether_helmet": "Nether Kaskı", + "item.knightquest.nether_chestplate": "Nether Zırhı", + "item.knightquest.nether_leggings": "Nether Pantolon", + "item.knightquest.nether_boots": "Nether Botları", + "item.knightquest.path_helmet": "Yol Kaskı", + "item.knightquest.path_chestplate": "Yol Zırhı", + "item.knightquest.path_leggings": "Yol Pantolon", + "item.knightquest.path_boots": "Yol Botları", + "item.knightquest.veteran_helmet": "Gazi Kaskı", + "item.knightquest.veteran_chestplate": "Gazi Zırhı", + "item.knightquest.veteran_leggings": "Gazi Pantolon", + "item.knightquest.veteran_boots": "Gazi Botları", + "item.knightquest.phantom_helmet": "Hayal Kaskı", + "item.knightquest.phantom_chestplate": "Hayal Zırhı", + "item.knightquest.phantom_leggings": "Hayal Pantolon", + "item.knightquest.phantom_boots": "Hayal Botları", + "item.knightquest.sea_helmet": "Deniz Kaskı", + "item.knightquest.sea_chestplate": "Deniz Zırhı", + "item.knightquest.sea_leggings": "Deniz Pantolon", + "item.knightquest.sea_boots": "Deniz Botları", + "item.knightquest.shield_helmet": "Kalkan Kaskı", + "item.knightquest.shield_chestplate": "Kalkan Zırhı", + "item.knightquest.shield_leggings": "Kalkan Pantolon", + "item.knightquest.shield_boots": "Kalkan Botları", + "item.knightquest.silver_helmet": "Gümüş Kaskı", + "item.knightquest.silver_chestplate": "Gümüş Zırhı", + "item.knightquest.silver_leggings": "Gümüş Pantolon", + "item.knightquest.silver_boots": "Gümüş Botları", + "item.knightquest.silverfish_helmet": "Gümüş Balığı Kaskı", + "item.knightquest.silverfish_chestplate": "Gümüş Balığı Zırhı", + "item.knightquest.silverfish_leggings": "Gümüş Balığı Pantolon", + "item.knightquest.silverfish_boots": "Gümüş Balığı Botları", + "item.knightquest.skeleton_helmet": "İskelet Kaskı", + "item.knightquest.skeleton_chestplate": "İskelet Zırhı", + "item.knightquest.skeleton_leggings": "İskelet Pantolon", + "item.knightquest.skeleton_boots": "İskelet Botları", + "item.knightquest.spider_helmet": "Örümcek Kaskı", + "item.knightquest.spider_chestplate": "Örümcek Zırhı", + "item.knightquest.spider_leggings": "Örümcek Pantolon", + "item.knightquest.spider_boots": "Örümcek Botları", + "item.knightquest.warlord_helmet": "Savaşlordu Kaskı", + "item.knightquest.warlord_chestplate": "Savaşlordu Zırhı", + "item.knightquest.warlord_leggings": "Savaşlordu Pantolon", + "item.knightquest.warlord_boots": "Savaşlordu Botları", + "item.knightquest.strawhat_helmet": "Hasır Şapka Kaskı", + "item.knightquest.strawhat_chestplate": "Hasır Şapka Zırhı", + "item.knightquest.strawhat_leggings": "Hasır Şapka Pantolon", + "item.knightquest.strawhat_boots": "Hasır Şapka Botları", + "item.knightquest.pirate_helmet": "Korsan Kaskı", + "item.knightquest.pirate_chestplate": "Korsan Zırhı", + "item.knightquest.pirate_leggings": "Korsan Pantolon", + "item.knightquest.pirate_boots": "Korsan Botları", + "item.knightquest.conquistador_helmet": "Conquistador Kaskı", + "item.knightquest.conquistador_chestplate": "Conquistador Zırhı", + "item.knightquest.conquistador_leggings": "Conquistador Pantolon", + "item.knightquest.conquistador_boots": "Conquistador Botları", + "item.knightquest.zombie_helmet": "Zombi Kaskı", + "item.knightquest.zombie_chestplate": "Zombi Zırhı", + "item.knightquest.zombie_leggings": "Zombi Pantolon", + "item.knightquest.zombie_boots": "Zombi Botları", + "item.knightquest.tengu_helmet": "Tengu Maskesi", + "item.knightquest.zombie_helmet2": "Tüylü Zombi Kaskı", + "item.knightquest.conquistador2_helmet": "Korsan Kaskı", + "item.knightquest.conquistador3_helmet": "Kılıçdaroğlu Kaskı", + "item.knightquest.pirate2_helmet": "Göz Bandı", + "item.knightquest.pirate3_helmet": "Korsan Kaskı", + "item.knightquest.husk_helmet2": "Husk Lord Kaskı", + "item.knightquest.husk_helmet3": "Husk Savaşçı Kaskı", + "item.knightquest.husk_helmet": "Husk Kaskı", + "item.knightquest.husk_chestplate": "Husk Zırhı", + "item.knightquest.husk_leggings": "Husk Pantolon", + "item.knightquest.husk_boots": "Husk Botları", + "item.knightquest.squire_helmet": "Kalfalık Kaskı", + "item.knightquest.squire_chestplate": "Kalfalık Zırhı", + "item.knightquest.squire_leggings": "Kalfalık Pantolon", + "item.knightquest.squire_boots": "Kalfalık Botları", + "item.knightquest.wither_helmet": "Witcher Kaskı", + "item.knightquest.wither_chestplate": "Witcher Zırhı", + "item.knightquest.wither_leggings": "Witcher Pantolon", + "item.knightquest.wither_boots": "Witcher Botları", + "item.knightquest.tunic_red_leggings": "Kırmızı Tunik", + "item.knightquest.tunic_yellow_leggings": "Sarı Tunik", + "item.knightquest.tunic_green_leggings": "Yeşil Tunik", + "item.knightquest.tunic_blue_leggings": "Mavi Tunik", + "item.knightquest.tunic_sea_leggings": "Deniz Tunik", + "item.knightquest.chainmail_helmet": "Zincir Zırhı Kaskı", + "item.knightquest.chainmail_helmet2": "Zincir Zırhı Kaskı", + "item.knightquest.skulk_chestplate": "Skulk Zırhı", + "item.knightquest.skulk_leggings": "Skulk Pantolon", + "item.knightquest.skulk_boots": "Skulk Botları", + "item.knightquest.skulk_helmet": "Skulk Kaskı", + "item.knightquest.skulk2_helmet": "Skulk Gölge Kaskı", + "item.knightquest.skulk3_helmet": "Skulk Spektral Kaskı", + "item.knightquest.skulk4_helmet": "Skulk Muhafız Kaskı", + "item.knightquest.skulk_marbled_helmet": "Skulk Damalı Kaskı", + "item.knightquest.shinobi_helmet": "Shinobi Kaskı", + "item.knightquest.shinobi_chestplate": "Shinobi Zırhı", + "item.knightquest.shinobi_leggings": "Shinobi Pantolon", + "item.knightquest.shinobi_boots": "Shinobi Botları", + "item.knightquest.polar_helmet": "Kutup Kaskı", + "item.knightquest.polar_chestplate": "Kutup Zırhı", + "item.knightquest.polar_leggings": "Kutup Pantolon", + "item.knightquest.polar_boots": "Kutup Botları", + "item.knightquest.witch_helmet": "Cadı Kaskı", + "item.knightquest.witch_chestplate": "Cadı Zırhı", + "item.knightquest.witch_leggings": "Cadı Pantolon", + "item.knightquest.witch_boots": "Cadı Botları", + "tooltip.item.knightquest.lizzy_scale": "§8§oBir kertenkele pulu.", + "tooltip.item.knightquest.ratman_eye": "§8§oSırları açığa çıkarır, tehlikeleri tespit eder. Dikkatlice kullanın.", + "tooltip.item.knightquest.paladin_sword": "§8§oKayıp bir paladinin adaletini ve cesaretini yansıtır...", + "tooltip.item.knightquest.hollow_helmet": "§8§oYağmurda hissedilebilen belirli bir hüzün var...", + "tooltip.item.knightquest.great_essence": "§8§oBüyük bir kâsedeki dört adet sunun.", + "tooltip.item.knightquest.small_essence": "§8§oBüyük özüt elde etmek için dört adet birleştirin!", + "tooltip.item.knightquest.filled_goblet": "§8§oGüçlü zırhlar yapmak için kullanın!", + "tooltip.item.knightquest.empty_goblet": "§8§oBüyük Bir Kâse'den özüt toplamak için kullanılan bir kadeh.", + "tooltip.item.knightquest.great_chalice": "§8§oKâseye büyük özüt sunun.", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§oYalnızca ikinci aşama Bir Gremlin yakınken çağrılabilir.", + "tooltip.item.knightquest.squire_helmet": "§8§oNedenini bilmiyorum, Samhain bu şapkayı sever...", + "block.knightquest.great_chalice": "Büyük Kâse", + "tooltip.item.knightquest.full_set_bonus": "Tam Set Bonusu:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o-Geceleyin gece görüşü sağlar", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o-Sessizce süzülürken görünmezlik sağlar", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o-Uzak silah taşırken hız verir", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o-Bir canavar tarafından vurulduğunda güç sağlar", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o-Direnç sağlar", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o-Suya batınca yunus hızı verir", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-Kaba düşüş hasarının %75'ini azaltır", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-Rakibi yakma şansı %30", + "entity.knightquest.gremlin": "Gremlin", + "entity.knightquest.bad_patch": "Kötü Yama", + "entity.knightquest.eldbomb": "Eld Bombası", + "entity.knightquest.eldknight": "Eld Şövalyesi", + "entity.knightquest.lizzy": "Lizzy", + "entity.knightquest.samhain": "Samhain", + "entity.knightquest.swampman": "Bataklık Adamı", + "entity.knightquest.ratman": "Sıçan Adam", + "entity.knightquest.ghastling": "Hayaletçe", + "entity.knightquest.ghosty": "Hayaletçik", + "entity.knightquest.momma_lizzy": "Anne Lizzy" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/zh_cn.json b/src/main/resources/assets/knightquest/lang/zh_cn.json new file mode 100644 index 00000000..4a4297f0 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/zh_cn.json @@ -0,0 +1,241 @@ +{ + "itemgroup.knightquest": "骑士征途", + "item.knightquest.great_essence": "大精华", + "item.knightquest.small_essence": "小精华", + "item.knightquest.empty_goblet": "空酒杯", + "item.knightquest.filled_goblet": "满酒杯", + "item.knightquest.paladin_sword": "圣骑士剑", + "item.knightquest.nail_glaive": "钉戟", + "item.knightquest.uchigatana_katana": "内番刀", + "item.knightquest.kukri_dagger": "库克里短刀", + "item.knightquest.khopesh_claymore": "克霍佩什巨剑", + "item.knightquest.cleaver_heavy_axe": "重型劈刀", + "item.knightquest.crimson_sword": "赤红剑", + "item.knightquest.water_sword": "水剑", + "item.knightquest.steel_sword": "钢剑", + "item.knightquest.gremlin_spawn_egg": "格林小鬼刷怪蛋", + "item.knightquest.eldbomb_spawn_egg": "埃尔德炸弹刷怪蛋", + "item.knightquest.eldknight_spawn_egg": "埃尔德骑士刷怪蛋", + "item.knightquest.ratman_spawn_egg": "鼠人刷怪蛋", + "item.knightquest.samhain_spawn_egg": "萨温刷怪蛋", + "item.knightquest.swampman_spawn_egg": "沼泽人刷怪蛋", + "item.knightquest.lizzy_spawn_egg": "丽兹刷怪蛋", + "item.knightquest.bad_patch_spawn_egg": "坏斑块刷怪蛋", + "item.knightquest.apple_helmet": "苹果头盔", + "item.knightquest.apple_chestplate": "苹果胸甲", + "item.knightquest.apple_leggings": "苹果护腿", + "item.knightquest.apple_boots": "苹果靴子", + "item.knightquest.bamboo_blue_helmet": "蓝竹头盔", + "item.knightquest.bamboo_blue_chestplate": "蓝竹胸甲", + "item.knightquest.bamboo_blue_leggings": "蓝竹护腿", + "item.knightquest.bamboo_blue_boots": "蓝竹靴子", + "item.knightquest.bamboo_green_helmet": "绿竹头盔", + "item.knightquest.bamboo_green_chestplate": "绿竹胸甲", + "item.knightquest.bamboo_green_leggings": "绿竹护腿", + "item.knightquest.bamboo_green_boots": "绿竹靴子", + "item.knightquest.bamboo_helmet": "竹头盔", + "item.knightquest.bamboo_chestplate": "竹胸甲", + "item.knightquest.bamboo_leggings": "竹护腿", + "item.knightquest.bamboo_boots": "竹靴子", + "item.knightquest.bat_helmet": "蝙蝠头盔", + "item.knightquest.bat_chestplate": "蝙蝠胸甲", + "item.knightquest.bat_leggings": "蝙蝠护腿", + "item.knightquest.bat_boots": "蝙蝠靴子", + "item.knightquest.blaze_helmet": "烈焰头盔", + "item.knightquest.blaze_chestplate": "烈焰胸甲", + "item.knightquest.blaze_leggings": "烈焰护腿", + "item.knightquest.blaze_boots": "烈焰靴子", + "item.knightquest.bow_helmet": "弓头盔", + "item.knightquest.bow_chestplate": "弓胸甲", + "item.knightquest.bow_leggings": "弓护腿", + "item.knightquest.bow_boots": "弓靴子", + "item.knightquest.horn_helmet": "号角头盔", + "item.knightquest.horn_chestplate": "号角胸甲", + "item.knightquest.horn_leggings": "号角护腿", + "item.knightquest.horn_boots": "号角靴子", + "item.knightquest.creeper_helmet": "爬行者头盔", + "item.knightquest.creeper_chestplate": "爬行者胸甲", + "item.knightquest.creeper_leggings": "爬行者护腿", + "item.knightquest.creeper_boots": "爬行者靴子", + "item.knightquest.deepslate_helmet": "深板岩头盔", + "item.knightquest.deepslate_chestplate": "深板岩胸甲", + "item.knightquest.deepslate_leggings": "深板岩护腿", + "item.knightquest.deepslate_boots": "深板岩靴子", + "item.knightquest.dragon_helmet": "龙头盔", + "item.knightquest.dragon_chestplate": "龙胸甲", + "item.knightquest.dragon_leggings": "龙护腿", + "item.knightquest.dragon_boots": "龙靴子", + "item.knightquest.enderman_helmet": "末影人头盔", + "item.knightquest.enderman_chestplate": "末影人胸甲", + "item.knightquest.enderman_leggings": "末影人护腿", + "item.knightquest.enderman_boots": "末影人靴子", + "item.knightquest.evoker_helmet": "唤魔者头盔", + "item.knightquest.evoker_chestplate": "唤魔者胸甲", + "item.knightquest.evoker_leggings": "唤魔者护腿", + "item.knightquest.evoker_boots": "唤魔者靴子", + "item.knightquest.forze_helmet": "弗尔兹头盔", + "item.knightquest.forze_chestplate": "弗尔兹胸甲", + "item.knightquest.forze_leggings": "弗尔兹护腿", + "item.knightquest.forze_boots": "弗尔兹靴子", + "item.knightquest.hollow_helmet": "虚空头盔", + "item.knightquest.hollow_chestplate": "虚空胸甲", + "item.knightquest.hollow_leggings": "虚空护腿", + "item.knightquest.hollow_boots": "虚空靴子", + "item.knightquest.nether_helmet": "地狱头盔", + "item.knightquest.nether_chestplate": "地狱胸甲", + "item.knightquest.nether_leggings": "地狱护腿", + "item.knightquest.nether_boots": "地狱靴子", + "item.knightquest.path_helmet": "路径头盔", + "item.knightquest.path_chestplate": "路径胸甲", + "item.knightquest.path_leggings": "路径护腿", + "item.knightquest.path_boots": "路径靴子", + "item.knightquest.veteran_helmet": "老兵头盔", + "item.knightquest.veteran_chestplate": "老兵胸甲", + "item.knightquest.veteran_leggings": "老兵护腿", + "item.knightquest.veteran_boots": "老兵靴子", + "item.knightquest.phantom_helmet": "幻影头盔", + "item.knightquest.phantom_chestplate": "幻影胸甲", + "item.knightquest.phantom_leggings": "幻影护腿", + "item.knightquest.phantom_boots": "幻影靴子", + "item.knightquest.sea_helmet": "海洋头盔", + "item.knightquest.sea_chestplate": "海洋胸甲", + "item.knightquest.sea_leggings": "海洋护腿", + "item.knightquest.sea_boots": "海洋靴子", + "item.knightquest.shield_helmet": "盾牌头盔", + "item.knightquest.shield_chestplate": "盾牌胸甲", + "item.knightquest.shield_leggings": "盾牌护腿", + "item.knightquest.shield_boots": "盾牌靴子", + "item.knightquest.silver_helmet": "银头盔", + "item.knightquest.silver_chestplate": "银胸甲", + "item.knightquest.silver_leggings": "银护腿", + "item.knightquest.silver_boots": "银靴子", + "item.knightquest.silverfish_helmet": "蠹虫头盔", + "item.knightquest.silverfish_chestplate": "蠹虫胸甲", + "item.knightquest.silverfish_leggings": "蠹虫护腿", + "item.knightquest.silverfish_boots": "蠹虫靴子", + "item.knightquest.skeleton_helmet": "骷髅头盔", + "item.knightquest.skeleton_chestplate": "骷髅胸甲", + "item.knightquest.skeleton_leggings": "骷髅护腿", + "item.knightquest.skeleton_boots": "骷髅靴子", + "item.knightquest.spider_helmet": "蜘蛛头盔", + "item.knightquest.spider_chestplate": "蜘蛛胸甲", + "item.knightquest.spider_leggings": "蜘蛛护腿", + "item.knightquest.spider_boots": "蜘蛛靴子", + "item.knightquest.warlord_helmet": "军阀头盔", + "item.knightquest.warlord_chestplate": "军阀胸甲", + "item.knightquest.warlord_leggings": "军阀护腿", + "item.knightquest.warlord_boots": "军阀靴子", + "item.knightquest.strawhat_helmet": "草帽头盔", + "item.knightquest.strawhat_chestplate": "草帽胸甲", + "item.knightquest.strawhat_leggings": "草帽护腿", + "item.knightquest.strawhat_boots": "草帽靴子", + "item.knightquest.pirate_helmet": "海盗头盔", + "item.knightquest.pirate_chestplate": "海盗胸甲", + "item.knightquest.pirate_leggings": "海盗护腿", + "item.knightquest.pirate_boots": "海盗靴子", + "item.knightquest.conquistador_helmet": "征服者头盔", + "item.knightquest.conquistador_chestplate": "征服者胸甲", + "item.knightquest.conquistador_leggings": "征服者护腿", + "item.knightquest.conquistador_boots": "征服者靴子", + "item.knightquest.zombie_helmet": "僵尸头盔", + "item.knightquest.zombie_chestplate": "僵尸胸甲", + "item.knightquest.zombie_leggings": "僵尸护腿", + "item.knightquest.zombie_boots": "僵尸靴子", + + "item.knightquest.tengu_helmet": "天狗面具", + "item.knightquest.zombie_helmet2": "羽饰僵尸头盔", + "item.knightquest.conquistador2_helmet": "海盗帽", + "item.knightquest.conquistador3_helmet": "击剑手头盔", + "item.knightquest.pirate2_helmet": "眼罩", + "item.knightquest.pirate3_helmet": "海盗战士头盔", + + "item.knightquest.water_axe": "水斧", + "item.knightquest.steel_axe": "钢斧", + + "item.knightquest.ratman_eye": "鼠人之眼", + "item.knightquest.lizzy_scale": "丽兹鳞片", + + "item.knightquest.husk_helmet2": "骷髅领主头盔", + "item.knightquest.husk_helmet3": "骷髅战士头盔", + "item.knightquest.husk_helmet": "骷髅头盔", + "item.knightquest.husk_chestplate": "骷髅胸甲", + "item.knightquest.husk_leggings": "骷髅护腿", + "item.knightquest.husk_boots": "骷髅靴子", + + "item.knightquest.squire_helmet": "侍从头盔", + "item.knightquest.squire_chestplate": "侍从胸甲", + "item.knightquest.squire_leggings": "侍从护腿", + "item.knightquest.squire_boots": "侍从靴子", + + "item.knightquest.wither_helmet": "凋零头盔", + "item.knightquest.wither_chestplate": "凋零胸甲", + "item.knightquest.wither_leggings": "凋零护腿", + "item.knightquest.wither_boots": "凋零靴子", + + "item.knightquest.tunic_red_leggings": "红色短袍", + "item.knightquest.tunic_yellow_leggings": "黄色短袍", + "item.knightquest.tunic_green_leggings": "绿色短袍", + "item.knightquest.tunic_blue_leggings": "蓝色短袍", + "item.knightquest.tunic_sea_leggings": "海洋短袍", + + "item.knightquest.chainmail_helmet": "锁子甲战士头盔", + "item.knightquest.chainmail_helmet2": "锁子甲头盔", + + "tooltip.item.knightquest.lizzy_scale": "§8§o一片蜥蜴鳞片。", + "tooltip.item.knightquest.ratman_eye": "§8§o揭示秘密,探测危险。请谨慎使用。", + "tooltip.item.knightquest.paladin_sword": "§8§o散发着失落圣骑士的正义与勇气...", + "tooltip.item.knightquest.hollow_helmet": "§8§o在雨中感受到一丝悲伤...", + "tooltip.item.knightquest.great_essence": "§8§o献给大圣杯四份精华。", + "tooltip.item.knightquest.small_essence": "§8§o合成四份可制成大精华!", + "tooltip.item.knightquest.filled_goblet": "§8§o用它来制作强大的盔甲!", + "tooltip.item.knightquest.empty_goblet": "§8§o用于从大圣杯中收集精华的酒杯。", + "tooltip.item.knightquest.great_chalice": "§8§o将精华献给大圣杯。", + "block.knightquest.great_chalice": "大圣杯", + + "tooltip.item.knightquest.full_set_bonus": "全套奖励:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o- 夜晚获得夜视", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o- 潜行时获得隐身", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o- 持弓时获得速度", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o- 被怪物攻击时获得力量", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o- 获得抗性", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o- 潜水时获得海豚的恩惠", + + "entity.knightquest.gremlin": "格林姆", + "entity.knightquest.bad_patch": "坏斑块", + "entity.knightquest.eldbomb": "埃尔德炸弹", + "entity.knightquest.eldknight": "埃尔德骑士", + "entity.knightquest.lizzy": "丽兹", + "entity.knightquest.samhain": "萨温", + "entity.knightquest.swampman": "沼泽人", + "entity.knightquest.ratman": "鼠人", + "item.knightquest.momma_lizzy_spawn_egg": "妈妈丽兹生成蛋", + "item.knightquest.ghastling_spawn_egg": "小恶魂生成蛋", + "item.knightquest.ghosty_spawn_egg": "幽灵生成蛋", + "item.knightquest.skulk_chestplate": "潜影胸甲", + "item.knightquest.skulk_leggings": "潜影护腿", + "item.knightquest.skulk_boots": "潜影靴子", + "item.knightquest.skulk_helmet": "潜影头盔", + "item.knightquest.skulk2_helmet": "潜影暗影头盔", + "item.knightquest.skulk3_helmet": "潜影幽灵头盔", + "item.knightquest.skulk4_helmet": "潜影哨兵头盔", + "item.knightquest.skulk_marbled_helmet": "潜影大理石头盔", + "item.knightquest.shinobi_helmet": "忍者头盔", + "item.knightquest.shinobi_chestplate": "忍者胸甲", + "item.knightquest.shinobi_leggings": "忍者护腿", + "item.knightquest.shinobi_boots": "忍者靴子", + "item.knightquest.polar_helmet": "极地头盔", + "item.knightquest.polar_chestplate": "极地胸甲", + "item.knightquest.polar_leggings": "极地护腿", + "item.knightquest.polar_boots": "极地靴子", + "item.knightquest.witch_helmet": "女巫头盔", + "item.knightquest.witch_chestplate": "女巫胸甲", + "item.knightquest.witch_leggings": "女巫护腿", + "item.knightquest.witch_boots": "女巫靴子", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§o只能在第二阶段小鬼附近召唤。", + "tooltip.item.knightquest.squire_helmet": "§8§o不知为何,萨温喜欢这顶帽子...", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-减少75%的粗暴跌落伤害", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-30%几率点燃对手", + "entity.knightquest.ghastling": "小恶魂", + "entity.knightquest.ghosty": "幽灵", + "entity.knightquest.momma_lizzy": "妈妈丽兹" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/lang/zh_tw.json b/src/main/resources/assets/knightquest/lang/zh_tw.json new file mode 100644 index 00000000..4a4297f0 --- /dev/null +++ b/src/main/resources/assets/knightquest/lang/zh_tw.json @@ -0,0 +1,241 @@ +{ + "itemgroup.knightquest": "骑士征途", + "item.knightquest.great_essence": "大精华", + "item.knightquest.small_essence": "小精华", + "item.knightquest.empty_goblet": "空酒杯", + "item.knightquest.filled_goblet": "满酒杯", + "item.knightquest.paladin_sword": "圣骑士剑", + "item.knightquest.nail_glaive": "钉戟", + "item.knightquest.uchigatana_katana": "内番刀", + "item.knightquest.kukri_dagger": "库克里短刀", + "item.knightquest.khopesh_claymore": "克霍佩什巨剑", + "item.knightquest.cleaver_heavy_axe": "重型劈刀", + "item.knightquest.crimson_sword": "赤红剑", + "item.knightquest.water_sword": "水剑", + "item.knightquest.steel_sword": "钢剑", + "item.knightquest.gremlin_spawn_egg": "格林小鬼刷怪蛋", + "item.knightquest.eldbomb_spawn_egg": "埃尔德炸弹刷怪蛋", + "item.knightquest.eldknight_spawn_egg": "埃尔德骑士刷怪蛋", + "item.knightquest.ratman_spawn_egg": "鼠人刷怪蛋", + "item.knightquest.samhain_spawn_egg": "萨温刷怪蛋", + "item.knightquest.swampman_spawn_egg": "沼泽人刷怪蛋", + "item.knightquest.lizzy_spawn_egg": "丽兹刷怪蛋", + "item.knightquest.bad_patch_spawn_egg": "坏斑块刷怪蛋", + "item.knightquest.apple_helmet": "苹果头盔", + "item.knightquest.apple_chestplate": "苹果胸甲", + "item.knightquest.apple_leggings": "苹果护腿", + "item.knightquest.apple_boots": "苹果靴子", + "item.knightquest.bamboo_blue_helmet": "蓝竹头盔", + "item.knightquest.bamboo_blue_chestplate": "蓝竹胸甲", + "item.knightquest.bamboo_blue_leggings": "蓝竹护腿", + "item.knightquest.bamboo_blue_boots": "蓝竹靴子", + "item.knightquest.bamboo_green_helmet": "绿竹头盔", + "item.knightquest.bamboo_green_chestplate": "绿竹胸甲", + "item.knightquest.bamboo_green_leggings": "绿竹护腿", + "item.knightquest.bamboo_green_boots": "绿竹靴子", + "item.knightquest.bamboo_helmet": "竹头盔", + "item.knightquest.bamboo_chestplate": "竹胸甲", + "item.knightquest.bamboo_leggings": "竹护腿", + "item.knightquest.bamboo_boots": "竹靴子", + "item.knightquest.bat_helmet": "蝙蝠头盔", + "item.knightquest.bat_chestplate": "蝙蝠胸甲", + "item.knightquest.bat_leggings": "蝙蝠护腿", + "item.knightquest.bat_boots": "蝙蝠靴子", + "item.knightquest.blaze_helmet": "烈焰头盔", + "item.knightquest.blaze_chestplate": "烈焰胸甲", + "item.knightquest.blaze_leggings": "烈焰护腿", + "item.knightquest.blaze_boots": "烈焰靴子", + "item.knightquest.bow_helmet": "弓头盔", + "item.knightquest.bow_chestplate": "弓胸甲", + "item.knightquest.bow_leggings": "弓护腿", + "item.knightquest.bow_boots": "弓靴子", + "item.knightquest.horn_helmet": "号角头盔", + "item.knightquest.horn_chestplate": "号角胸甲", + "item.knightquest.horn_leggings": "号角护腿", + "item.knightquest.horn_boots": "号角靴子", + "item.knightquest.creeper_helmet": "爬行者头盔", + "item.knightquest.creeper_chestplate": "爬行者胸甲", + "item.knightquest.creeper_leggings": "爬行者护腿", + "item.knightquest.creeper_boots": "爬行者靴子", + "item.knightquest.deepslate_helmet": "深板岩头盔", + "item.knightquest.deepslate_chestplate": "深板岩胸甲", + "item.knightquest.deepslate_leggings": "深板岩护腿", + "item.knightquest.deepslate_boots": "深板岩靴子", + "item.knightquest.dragon_helmet": "龙头盔", + "item.knightquest.dragon_chestplate": "龙胸甲", + "item.knightquest.dragon_leggings": "龙护腿", + "item.knightquest.dragon_boots": "龙靴子", + "item.knightquest.enderman_helmet": "末影人头盔", + "item.knightquest.enderman_chestplate": "末影人胸甲", + "item.knightquest.enderman_leggings": "末影人护腿", + "item.knightquest.enderman_boots": "末影人靴子", + "item.knightquest.evoker_helmet": "唤魔者头盔", + "item.knightquest.evoker_chestplate": "唤魔者胸甲", + "item.knightquest.evoker_leggings": "唤魔者护腿", + "item.knightquest.evoker_boots": "唤魔者靴子", + "item.knightquest.forze_helmet": "弗尔兹头盔", + "item.knightquest.forze_chestplate": "弗尔兹胸甲", + "item.knightquest.forze_leggings": "弗尔兹护腿", + "item.knightquest.forze_boots": "弗尔兹靴子", + "item.knightquest.hollow_helmet": "虚空头盔", + "item.knightquest.hollow_chestplate": "虚空胸甲", + "item.knightquest.hollow_leggings": "虚空护腿", + "item.knightquest.hollow_boots": "虚空靴子", + "item.knightquest.nether_helmet": "地狱头盔", + "item.knightquest.nether_chestplate": "地狱胸甲", + "item.knightquest.nether_leggings": "地狱护腿", + "item.knightquest.nether_boots": "地狱靴子", + "item.knightquest.path_helmet": "路径头盔", + "item.knightquest.path_chestplate": "路径胸甲", + "item.knightquest.path_leggings": "路径护腿", + "item.knightquest.path_boots": "路径靴子", + "item.knightquest.veteran_helmet": "老兵头盔", + "item.knightquest.veteran_chestplate": "老兵胸甲", + "item.knightquest.veteran_leggings": "老兵护腿", + "item.knightquest.veteran_boots": "老兵靴子", + "item.knightquest.phantom_helmet": "幻影头盔", + "item.knightquest.phantom_chestplate": "幻影胸甲", + "item.knightquest.phantom_leggings": "幻影护腿", + "item.knightquest.phantom_boots": "幻影靴子", + "item.knightquest.sea_helmet": "海洋头盔", + "item.knightquest.sea_chestplate": "海洋胸甲", + "item.knightquest.sea_leggings": "海洋护腿", + "item.knightquest.sea_boots": "海洋靴子", + "item.knightquest.shield_helmet": "盾牌头盔", + "item.knightquest.shield_chestplate": "盾牌胸甲", + "item.knightquest.shield_leggings": "盾牌护腿", + "item.knightquest.shield_boots": "盾牌靴子", + "item.knightquest.silver_helmet": "银头盔", + "item.knightquest.silver_chestplate": "银胸甲", + "item.knightquest.silver_leggings": "银护腿", + "item.knightquest.silver_boots": "银靴子", + "item.knightquest.silverfish_helmet": "蠹虫头盔", + "item.knightquest.silverfish_chestplate": "蠹虫胸甲", + "item.knightquest.silverfish_leggings": "蠹虫护腿", + "item.knightquest.silverfish_boots": "蠹虫靴子", + "item.knightquest.skeleton_helmet": "骷髅头盔", + "item.knightquest.skeleton_chestplate": "骷髅胸甲", + "item.knightquest.skeleton_leggings": "骷髅护腿", + "item.knightquest.skeleton_boots": "骷髅靴子", + "item.knightquest.spider_helmet": "蜘蛛头盔", + "item.knightquest.spider_chestplate": "蜘蛛胸甲", + "item.knightquest.spider_leggings": "蜘蛛护腿", + "item.knightquest.spider_boots": "蜘蛛靴子", + "item.knightquest.warlord_helmet": "军阀头盔", + "item.knightquest.warlord_chestplate": "军阀胸甲", + "item.knightquest.warlord_leggings": "军阀护腿", + "item.knightquest.warlord_boots": "军阀靴子", + "item.knightquest.strawhat_helmet": "草帽头盔", + "item.knightquest.strawhat_chestplate": "草帽胸甲", + "item.knightquest.strawhat_leggings": "草帽护腿", + "item.knightquest.strawhat_boots": "草帽靴子", + "item.knightquest.pirate_helmet": "海盗头盔", + "item.knightquest.pirate_chestplate": "海盗胸甲", + "item.knightquest.pirate_leggings": "海盗护腿", + "item.knightquest.pirate_boots": "海盗靴子", + "item.knightquest.conquistador_helmet": "征服者头盔", + "item.knightquest.conquistador_chestplate": "征服者胸甲", + "item.knightquest.conquistador_leggings": "征服者护腿", + "item.knightquest.conquistador_boots": "征服者靴子", + "item.knightquest.zombie_helmet": "僵尸头盔", + "item.knightquest.zombie_chestplate": "僵尸胸甲", + "item.knightquest.zombie_leggings": "僵尸护腿", + "item.knightquest.zombie_boots": "僵尸靴子", + + "item.knightquest.tengu_helmet": "天狗面具", + "item.knightquest.zombie_helmet2": "羽饰僵尸头盔", + "item.knightquest.conquistador2_helmet": "海盗帽", + "item.knightquest.conquistador3_helmet": "击剑手头盔", + "item.knightquest.pirate2_helmet": "眼罩", + "item.knightquest.pirate3_helmet": "海盗战士头盔", + + "item.knightquest.water_axe": "水斧", + "item.knightquest.steel_axe": "钢斧", + + "item.knightquest.ratman_eye": "鼠人之眼", + "item.knightquest.lizzy_scale": "丽兹鳞片", + + "item.knightquest.husk_helmet2": "骷髅领主头盔", + "item.knightquest.husk_helmet3": "骷髅战士头盔", + "item.knightquest.husk_helmet": "骷髅头盔", + "item.knightquest.husk_chestplate": "骷髅胸甲", + "item.knightquest.husk_leggings": "骷髅护腿", + "item.knightquest.husk_boots": "骷髅靴子", + + "item.knightquest.squire_helmet": "侍从头盔", + "item.knightquest.squire_chestplate": "侍从胸甲", + "item.knightquest.squire_leggings": "侍从护腿", + "item.knightquest.squire_boots": "侍从靴子", + + "item.knightquest.wither_helmet": "凋零头盔", + "item.knightquest.wither_chestplate": "凋零胸甲", + "item.knightquest.wither_leggings": "凋零护腿", + "item.knightquest.wither_boots": "凋零靴子", + + "item.knightquest.tunic_red_leggings": "红色短袍", + "item.knightquest.tunic_yellow_leggings": "黄色短袍", + "item.knightquest.tunic_green_leggings": "绿色短袍", + "item.knightquest.tunic_blue_leggings": "蓝色短袍", + "item.knightquest.tunic_sea_leggings": "海洋短袍", + + "item.knightquest.chainmail_helmet": "锁子甲战士头盔", + "item.knightquest.chainmail_helmet2": "锁子甲头盔", + + "tooltip.item.knightquest.lizzy_scale": "§8§o一片蜥蜴鳞片。", + "tooltip.item.knightquest.ratman_eye": "§8§o揭示秘密,探测危险。请谨慎使用。", + "tooltip.item.knightquest.paladin_sword": "§8§o散发着失落圣骑士的正义与勇气...", + "tooltip.item.knightquest.hollow_helmet": "§8§o在雨中感受到一丝悲伤...", + "tooltip.item.knightquest.great_essence": "§8§o献给大圣杯四份精华。", + "tooltip.item.knightquest.small_essence": "§8§o合成四份可制成大精华!", + "tooltip.item.knightquest.filled_goblet": "§8§o用它来制作强大的盔甲!", + "tooltip.item.knightquest.empty_goblet": "§8§o用于从大圣杯中收集精华的酒杯。", + "tooltip.item.knightquest.great_chalice": "§8§o将精华献给大圣杯。", + "block.knightquest.great_chalice": "大圣杯", + + "tooltip.item.knightquest.full_set_bonus": "全套奖励:", + "tooltip.item.knightquest.bat_helmet.bonus": "§7§o- 夜晚获得夜视", + "tooltip.item.knightquest.path_helmet.bonus": "§7§o- 潜行时获得隐身", + "tooltip.item.knightquest.bow_helmet.bonus": "§7§o- 持弓时获得速度", + "tooltip.item.knightquest.horn_helmet.bonus": "§7§o- 被怪物攻击时获得力量", + "tooltip.item.knightquest.shield_helmet.bonus": "§7§o- 获得抗性", + "tooltip.item.knightquest.sea_helmet.bonus": "§7§o- 潜水时获得海豚的恩惠", + + "entity.knightquest.gremlin": "格林姆", + "entity.knightquest.bad_patch": "坏斑块", + "entity.knightquest.eldbomb": "埃尔德炸弹", + "entity.knightquest.eldknight": "埃尔德骑士", + "entity.knightquest.lizzy": "丽兹", + "entity.knightquest.samhain": "萨温", + "entity.knightquest.swampman": "沼泽人", + "entity.knightquest.ratman": "鼠人", + "item.knightquest.momma_lizzy_spawn_egg": "妈妈丽兹生成蛋", + "item.knightquest.ghastling_spawn_egg": "小恶魂生成蛋", + "item.knightquest.ghosty_spawn_egg": "幽灵生成蛋", + "item.knightquest.skulk_chestplate": "潜影胸甲", + "item.knightquest.skulk_leggings": "潜影护腿", + "item.knightquest.skulk_boots": "潜影靴子", + "item.knightquest.skulk_helmet": "潜影头盔", + "item.knightquest.skulk2_helmet": "潜影暗影头盔", + "item.knightquest.skulk3_helmet": "潜影幽灵头盔", + "item.knightquest.skulk4_helmet": "潜影哨兵头盔", + "item.knightquest.skulk_marbled_helmet": "潜影大理石头盔", + "item.knightquest.shinobi_helmet": "忍者头盔", + "item.knightquest.shinobi_chestplate": "忍者胸甲", + "item.knightquest.shinobi_leggings": "忍者护腿", + "item.knightquest.shinobi_boots": "忍者靴子", + "item.knightquest.polar_helmet": "极地头盔", + "item.knightquest.polar_chestplate": "极地胸甲", + "item.knightquest.polar_leggings": "极地护腿", + "item.knightquest.polar_boots": "极地靴子", + "item.knightquest.witch_helmet": "女巫头盔", + "item.knightquest.witch_chestplate": "女巫胸甲", + "item.knightquest.witch_leggings": "女巫护腿", + "item.knightquest.witch_boots": "女巫靴子", + "tooltip.item.knightquest.ghastling_spawn_egg": "§8§o只能在第二阶段小鬼附近召唤。", + "tooltip.item.knightquest.squire_helmet": "§8§o不知为何,萨温喜欢这顶帽子...", + "tooltip.item.knightquest.deepslate_helmet.bonus": "§7§o-减少75%的粗暴跌落伤害", + "tooltip.item.knightquest.blaze_helmet.bonus": "§7§o-30%几率点燃对手", + "entity.knightquest.ghastling": "小恶魂", + "entity.knightquest.ghosty": "幽灵", + "entity.knightquest.momma_lizzy": "妈妈丽兹" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/block/great_chalice.json b/src/main/resources/assets/knightquest/models/block/great_chalice.json new file mode 100644 index 00000000..dd4bf8b2 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/block/great_chalice.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "knight_quest_chalice_0", + "texture_size": [128, 128], + "textures": { + "0": "knightquest:block/great_chalice", + "particle": "knightquest:block/great_chalice" + }, + "elements": [ + { + "name": "west", + "from": [0, 7, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [8, 2.25, 8.25, 3.375], "texture": "#0"}, + "east": {"uv": [6, 2.25, 8, 3.375], "texture": "#0"}, + "south": {"uv": [10.25, 2.25, 10.5, 3.375], "texture": "#0"}, + "west": {"uv": [8.25, 2.25, 10.25, 3.375], "texture": "#0"}, + "up": {"uv": [8.25, 2.25, 8, 0.25], "texture": "#0"}, + "down": {"uv": [8.5, 0.25, 8.25, 2.25], "texture": "#0"} + } + }, + { + "name": "east", + "from": [14, 7, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [6, 6.5, 6.25, 7.625], "texture": "#0"}, + "east": {"uv": [4, 6.5, 6, 7.625], "texture": "#0"}, + "south": {"uv": [8.25, 6.5, 8.5, 7.625], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 8.25, 7.625], "texture": "#0"}, + "up": {"uv": [6.25, 6.5, 6, 4.5], "texture": "#0"}, + "down": {"uv": [6.5, 4.5, 6.25, 6.5], "texture": "#0"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [2, 4.25, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 4.25, 2, 4.5], "texture": "#0"}, + "south": {"uv": [6, 4.25, 8, 4.5], "texture": "#0"}, + "west": {"uv": [4, 4.25, 6, 4.5], "texture": "#0"}, + "up": {"uv": [4, 4.25, 2, 2.25], "texture": "#0"}, + "down": {"uv": [6, 2.25, 4, 4.25], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 5, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 2, 4, 2.25], "texture": "#0"}, + "east": {"uv": [0, 2, 2, 2.25], "texture": "#0"}, + "south": {"uv": [6, 2, 8, 2.25], "texture": "#0"}, + "west": {"uv": [4, 2, 6, 2.25], "texture": "#0"}, + "up": {"uv": [4, 2, 2, 0], "texture": "#0"}, + "down": {"uv": [6, 0, 4, 2], "texture": "#0"} + } + }, + { + "name": "liquid", + "from": [2, 4, 2], + "to": [14, 6, 14], + "faces": { + "north": {"uv": [1.5, 6, 3, 6.25], "texture": "#0"}, + "east": {"uv": [0, 6, 1.5, 6.25], "texture": "#0"}, + "south": {"uv": [4.5, 6, 6, 6.25], "texture": "#0"}, + "west": {"uv": [3, 6, 4.5, 6.25], "texture": "#0"}, + "up": {"uv": [3, 6, 1.5, 4.5], "texture": "#0"}, + "down": {"uv": [4.5, 4.5, 3, 6], "texture": "#0"} + } + }, + { + "name": "north", + "from": [2, 7, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [6.75, 4.75, 8.25, 5.875], "texture": "#0"}, + "east": {"uv": [6.5, 4.75, 6.75, 5.875], "texture": "#0"}, + "south": {"uv": [8.5, 4.75, 10, 5.875], "texture": "#0"}, + "west": {"uv": [8.25, 4.75, 8.5, 5.875], "texture": "#0"}, + "up": {"uv": [8.25, 4.75, 6.75, 4.5], "texture": "#0"}, + "down": {"uv": [9.75, 4.5, 8.25, 4.75], "texture": "#0"} + } + }, + { + "name": "south", + "from": [2, 7, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0.25, 6.5, 1.75, 7.625], "texture": "#0"}, + "east": {"uv": [0, 6.5, 0.25, 7.625], "texture": "#0"}, + "south": {"uv": [2, 6.5, 3.5, 7.625], "texture": "#0"}, + "west": {"uv": [1.75, 6.5, 2, 7.625], "texture": "#0"}, + "up": {"uv": [1.75, 6.5, 0.25, 6.25], "texture": "#0"}, + "down": {"uv": [3.25, 6.25, 1.75, 6.5], "texture": "#0"} + } + }, + { + "name": "Support", + "from": [4, 2, 4], + "to": [12, 5, 12], + "faces": { + "north": {"uv": [1, 8.625, 2, 9], "texture": "#0"}, + "east": {"uv": [0, 8.625, 1, 9], "texture": "#0"}, + "south": {"uv": [3, 8.625, 4, 9], "texture": "#0"}, + "west": {"uv": [2, 8.625, 3, 9], "texture": "#0"}, + "up": {"uv": [2, 8.625, 1, 7.625], "texture": "#0"}, + "down": {"uv": [3, 7.625, 2, 8.625], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 7.75, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/block/great_chalice_1.json b/src/main/resources/assets/knightquest/models/block/great_chalice_1.json new file mode 100644 index 00000000..9e15805a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/block/great_chalice_1.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "knight_quest_chalice", + "texture_size": [128, 128], + "textures": { + "1": "knightquest:block/great_chalice", + "particle": "knightquest:block/great_chalice" + }, + "elements": [ + { + "name": "west", + "from": [0, 7, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [8, 2.25, 8.25, 3.375], "texture": "#1"}, + "east": {"uv": [6, 2.25, 8, 3.375], "texture": "#1"}, + "south": {"uv": [10.25, 2.25, 10.5, 3.375], "texture": "#1"}, + "west": {"uv": [8.25, 2.25, 10.25, 3.375], "texture": "#1"}, + "up": {"uv": [8.25, 2.25, 8, 0.25], "texture": "#1"}, + "down": {"uv": [8.5, 0.25, 8.25, 2.25], "texture": "#1"} + } + }, + { + "name": "east", + "from": [14, 7, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [6, 6.5, 6.25, 7.625], "texture": "#1"}, + "east": {"uv": [4, 6.5, 6, 7.625], "texture": "#1"}, + "south": {"uv": [8.25, 6.5, 8.5, 7.625], "texture": "#1"}, + "west": {"uv": [6.25, 6.5, 8.25, 7.625], "texture": "#1"}, + "up": {"uv": [6.25, 6.5, 6, 4.5], "texture": "#1"}, + "down": {"uv": [6.5, 4.5, 6.25, 6.5], "texture": "#1"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [2, 4.25, 4, 4.5], "texture": "#1"}, + "east": {"uv": [0, 4.25, 2, 4.5], "texture": "#1"}, + "south": {"uv": [6, 4.25, 8, 4.5], "texture": "#1"}, + "west": {"uv": [4, 4.25, 6, 4.5], "texture": "#1"}, + "up": {"uv": [4, 4.25, 2, 2.25], "texture": "#1"}, + "down": {"uv": [6, 2.25, 4, 4.25], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 5, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 2, 4, 2.25], "texture": "#1"}, + "east": {"uv": [0, 2, 2, 2.25], "texture": "#1"}, + "south": {"uv": [6, 2, 8, 2.25], "texture": "#1"}, + "west": {"uv": [4, 2, 6, 2.25], "texture": "#1"}, + "up": {"uv": [4, 2, 2, 0], "texture": "#1"}, + "down": {"uv": [6, 0, 4, 2], "texture": "#1"} + } + }, + { + "name": "liquid", + "from": [2, 7, 2], + "to": [14, 9, 14], + "faces": { + "north": {"uv": [1.5, 6, 3, 6.25], "texture": "#1"}, + "east": {"uv": [0, 6, 1.5, 6.25], "texture": "#1"}, + "south": {"uv": [4.5, 6, 6, 6.25], "texture": "#1"}, + "west": {"uv": [3, 6, 4.5, 6.25], "texture": "#1"}, + "up": {"uv": [3, 6, 1.5, 4.5], "texture": "#1"}, + "down": {"uv": [4.5, 4.5, 3, 6], "texture": "#1"} + } + }, + { + "name": "north", + "from": [2, 7, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [6.75, 4.75, 8.25, 5.875], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 6.75, 5.875], "texture": "#1"}, + "south": {"uv": [8.5, 4.75, 10, 5.875], "texture": "#1"}, + "west": {"uv": [8.25, 4.75, 8.5, 5.875], "texture": "#1"}, + "up": {"uv": [8.25, 4.75, 6.75, 4.5], "texture": "#1"}, + "down": {"uv": [9.75, 4.5, 8.25, 4.75], "texture": "#1"} + } + }, + { + "name": "south", + "from": [2, 7, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0.25, 6.5, 1.75, 7.625], "texture": "#1"}, + "east": {"uv": [0, 6.5, 0.25, 7.625], "texture": "#1"}, + "south": {"uv": [2, 6.5, 3.5, 7.625], "texture": "#1"}, + "west": {"uv": [1.75, 6.5, 2, 7.625], "texture": "#1"}, + "up": {"uv": [1.75, 6.5, 0.25, 6.25], "texture": "#1"}, + "down": {"uv": [3.25, 6.25, 1.75, 6.5], "texture": "#1"} + } + }, + { + "name": "Support", + "from": [4, 2, 4], + "to": [12, 5, 12], + "faces": { + "north": {"uv": [1, 8.625, 2, 9], "texture": "#1"}, + "east": {"uv": [0, 8.625, 1, 9], "texture": "#1"}, + "south": {"uv": [3, 8.625, 4, 9], "texture": "#1"}, + "west": {"uv": [2, 8.625, 3, 9], "texture": "#1"}, + "up": {"uv": [2, 8.625, 1, 7.625], "texture": "#1"}, + "down": {"uv": [3, 7.625, 2, 8.625], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 7.75, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/block/great_chalice_2.json b/src/main/resources/assets/knightquest/models/block/great_chalice_2.json new file mode 100644 index 00000000..b90a3fe8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/block/great_chalice_2.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "knight_quest_chalice_1", + "texture_size": [128, 128], + "textures": { + "1": "knightquest:block/great_chalice", + "particle": "knightquest:block/great_chalice" + }, + "elements": [ + { + "name": "west", + "from": [0, 7, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [8, 2.25, 8.25, 3.375], "texture": "#1"}, + "east": {"uv": [6, 2.25, 8, 3.375], "texture": "#1"}, + "south": {"uv": [10.25, 2.25, 10.5, 3.375], "texture": "#1"}, + "west": {"uv": [8.25, 2.25, 10.25, 3.375], "texture": "#1"}, + "up": {"uv": [8.25, 2.25, 8, 0.25], "texture": "#1"}, + "down": {"uv": [8.5, 0.25, 8.25, 2.25], "texture": "#1"} + } + }, + { + "name": "east", + "from": [14, 7, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [6, 6.5, 6.25, 7.625], "texture": "#1"}, + "east": {"uv": [4, 6.5, 6, 7.625], "texture": "#1"}, + "south": {"uv": [8.25, 6.5, 8.5, 7.625], "texture": "#1"}, + "west": {"uv": [6.25, 6.5, 8.25, 7.625], "texture": "#1"}, + "up": {"uv": [6.25, 6.5, 6, 4.5], "texture": "#1"}, + "down": {"uv": [6.5, 4.5, 6.25, 6.5], "texture": "#1"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [2, 4.25, 4, 4.5], "texture": "#1"}, + "east": {"uv": [0, 4.25, 2, 4.5], "texture": "#1"}, + "south": {"uv": [6, 4.25, 8, 4.5], "texture": "#1"}, + "west": {"uv": [4, 4.25, 6, 4.5], "texture": "#1"}, + "up": {"uv": [4, 4.25, 2, 2.25], "texture": "#1"}, + "down": {"uv": [6, 2.25, 4, 4.25], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 5, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 2, 4, 2.25], "texture": "#1"}, + "east": {"uv": [0, 2, 2, 2.25], "texture": "#1"}, + "south": {"uv": [6, 2, 8, 2.25], "texture": "#1"}, + "west": {"uv": [4, 2, 6, 2.25], "texture": "#1"}, + "up": {"uv": [4, 2, 2, 0], "texture": "#1"}, + "down": {"uv": [6, 0, 4, 2], "texture": "#1"} + } + }, + { + "name": "liquid", + "from": [2, 9, 2], + "to": [14, 11, 14], + "faces": { + "north": {"uv": [1.5, 6, 3, 6.25], "texture": "#1"}, + "east": {"uv": [0, 6, 1.5, 6.25], "texture": "#1"}, + "south": {"uv": [4.5, 6, 6, 6.25], "texture": "#1"}, + "west": {"uv": [3, 6, 4.5, 6.25], "texture": "#1"}, + "up": {"uv": [3, 6, 1.5, 4.5], "texture": "#1"}, + "down": {"uv": [4.5, 4.5, 3, 6], "texture": "#1"} + } + }, + { + "name": "north", + "from": [2, 7, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [6.75, 4.75, 8.25, 5.875], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 6.75, 5.875], "texture": "#1"}, + "south": {"uv": [8.5, 4.75, 10, 5.875], "texture": "#1"}, + "west": {"uv": [8.25, 4.75, 8.5, 5.875], "texture": "#1"}, + "up": {"uv": [8.25, 4.75, 6.75, 4.5], "texture": "#1"}, + "down": {"uv": [9.75, 4.5, 8.25, 4.75], "texture": "#1"} + } + }, + { + "name": "south", + "from": [2, 7, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0.25, 6.5, 1.75, 7.625], "texture": "#1"}, + "east": {"uv": [0, 6.5, 0.25, 7.625], "texture": "#1"}, + "south": {"uv": [2, 6.5, 3.5, 7.625], "texture": "#1"}, + "west": {"uv": [1.75, 6.5, 2, 7.625], "texture": "#1"}, + "up": {"uv": [1.75, 6.5, 0.25, 6.25], "texture": "#1"}, + "down": {"uv": [3.25, 6.25, 1.75, 6.5], "texture": "#1"} + } + }, + { + "name": "Support", + "from": [4, 2, 4], + "to": [12, 5, 12], + "faces": { + "north": {"uv": [1, 8.625, 2, 9], "texture": "#1"}, + "east": {"uv": [0, 8.625, 1, 9], "texture": "#1"}, + "south": {"uv": [3, 8.625, 4, 9], "texture": "#1"}, + "west": {"uv": [2, 8.625, 3, 9], "texture": "#1"}, + "up": {"uv": [2, 8.625, 1, 7.625], "texture": "#1"}, + "down": {"uv": [3, 7.625, 2, 8.625], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 7.75, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/block/great_chalice_3.json b/src/main/resources/assets/knightquest/models/block/great_chalice_3.json new file mode 100644 index 00000000..6c9a4a9a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/block/great_chalice_3.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "knight_quest_chalice_2", + "texture_size": [128, 128], + "textures": { + "1": "knightquest:block/great_chalice", + "particle": "knightquest:block/great_chalice" + }, + "elements": [ + { + "name": "west", + "from": [0, 7, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [8, 2.25, 8.25, 3.375], "texture": "#1"}, + "east": {"uv": [6, 2.25, 8, 3.375], "texture": "#1"}, + "south": {"uv": [10.25, 2.25, 10.5, 3.375], "texture": "#1"}, + "west": {"uv": [8.25, 2.25, 10.25, 3.375], "texture": "#1"}, + "up": {"uv": [8.25, 2.25, 8, 0.25], "texture": "#1"}, + "down": {"uv": [8.5, 0.25, 8.25, 2.25], "texture": "#1"} + } + }, + { + "name": "east", + "from": [14, 7, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [6, 6.5, 6.25, 7.625], "texture": "#1"}, + "east": {"uv": [4, 6.5, 6, 7.625], "texture": "#1"}, + "south": {"uv": [8.25, 6.5, 8.5, 7.625], "texture": "#1"}, + "west": {"uv": [6.25, 6.5, 8.25, 7.625], "texture": "#1"}, + "up": {"uv": [6.25, 6.5, 6, 4.5], "texture": "#1"}, + "down": {"uv": [6.5, 4.5, 6.25, 6.5], "texture": "#1"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [2, 4.25, 4, 4.5], "texture": "#1"}, + "east": {"uv": [0, 4.25, 2, 4.5], "texture": "#1"}, + "south": {"uv": [6, 4.25, 8, 4.5], "texture": "#1"}, + "west": {"uv": [4, 4.25, 6, 4.5], "texture": "#1"}, + "up": {"uv": [4, 4.25, 2, 2.25], "texture": "#1"}, + "down": {"uv": [6, 2.25, 4, 4.25], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 5, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 2, 4, 2.25], "texture": "#1"}, + "east": {"uv": [0, 2, 2, 2.25], "texture": "#1"}, + "south": {"uv": [6, 2, 8, 2.25], "texture": "#1"}, + "west": {"uv": [4, 2, 6, 2.25], "texture": "#1"}, + "up": {"uv": [4, 2, 2, 0], "texture": "#1"}, + "down": {"uv": [6, 0, 4, 2], "texture": "#1"} + } + }, + { + "name": "liquid", + "from": [2, 11, 2], + "to": [14, 13, 14], + "faces": { + "north": {"uv": [1.5, 6, 3, 6.25], "texture": "#1"}, + "east": {"uv": [0, 6, 1.5, 6.25], "texture": "#1"}, + "south": {"uv": [4.5, 6, 6, 6.25], "texture": "#1"}, + "west": {"uv": [3, 6, 4.5, 6.25], "texture": "#1"}, + "up": {"uv": [3, 6, 1.5, 4.5], "texture": "#1"}, + "down": {"uv": [4.5, 4.5, 3, 6], "texture": "#1"} + } + }, + { + "name": "north", + "from": [2, 7, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [6.75, 4.75, 8.25, 5.875], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 6.75, 5.875], "texture": "#1"}, + "south": {"uv": [8.5, 4.75, 10, 5.875], "texture": "#1"}, + "west": {"uv": [8.25, 4.75, 8.5, 5.875], "texture": "#1"}, + "up": {"uv": [8.25, 4.75, 6.75, 4.5], "texture": "#1"}, + "down": {"uv": [9.75, 4.5, 8.25, 4.75], "texture": "#1"} + } + }, + { + "name": "south", + "from": [2, 7, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0.25, 6.5, 1.75, 7.625], "texture": "#1"}, + "east": {"uv": [0, 6.5, 0.25, 7.625], "texture": "#1"}, + "south": {"uv": [2, 6.5, 3.5, 7.625], "texture": "#1"}, + "west": {"uv": [1.75, 6.5, 2, 7.625], "texture": "#1"}, + "up": {"uv": [1.75, 6.5, 0.25, 6.25], "texture": "#1"}, + "down": {"uv": [3.25, 6.25, 1.75, 6.5], "texture": "#1"} + } + }, + { + "name": "Support", + "from": [4, 2, 4], + "to": [12, 5, 12], + "faces": { + "north": {"uv": [1, 8.625, 2, 9], "texture": "#1"}, + "east": {"uv": [0, 8.625, 1, 9], "texture": "#1"}, + "south": {"uv": [3, 8.625, 4, 9], "texture": "#1"}, + "west": {"uv": [2, 8.625, 3, 9], "texture": "#1"}, + "up": {"uv": [2, 8.625, 1, 7.625], "texture": "#1"}, + "down": {"uv": [3, 7.625, 2, 8.625], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 7.75, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/block/great_chalice_4.json b/src/main/resources/assets/knightquest/models/block/great_chalice_4.json new file mode 100644 index 00000000..28dfcf23 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/block/great_chalice_4.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "knight_quest_chalice_3", + "texture_size": [128, 128], + "textures": { + "1": "knightquest:block/great_chalice", + "particle": "knightquest:block/great_chalice" + }, + "elements": [ + { + "name": "west", + "from": [0, 7, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [8, 2.25, 8.25, 3.375], "texture": "#1"}, + "east": {"uv": [6, 2.25, 8, 3.375], "texture": "#1"}, + "south": {"uv": [10.25, 2.25, 10.5, 3.375], "texture": "#1"}, + "west": {"uv": [8.25, 2.25, 10.25, 3.375], "texture": "#1"}, + "up": {"uv": [8.25, 2.25, 8, 0.25], "texture": "#1"}, + "down": {"uv": [8.5, 0.25, 8.25, 2.25], "texture": "#1"} + } + }, + { + "name": "east", + "from": [14, 7, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [6, 6.5, 6.25, 7.625], "texture": "#1"}, + "east": {"uv": [4, 6.5, 6, 7.625], "texture": "#1"}, + "south": {"uv": [8.25, 6.5, 8.5, 7.625], "texture": "#1"}, + "west": {"uv": [6.25, 6.5, 8.25, 7.625], "texture": "#1"}, + "up": {"uv": [6.25, 6.5, 6, 4.5], "texture": "#1"}, + "down": {"uv": [6.5, 4.5, 6.25, 6.5], "texture": "#1"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [2, 4.25, 4, 4.5], "texture": "#1"}, + "east": {"uv": [0, 4.25, 2, 4.5], "texture": "#1"}, + "south": {"uv": [6, 4.25, 8, 4.5], "texture": "#1"}, + "west": {"uv": [4, 4.25, 6, 4.5], "texture": "#1"}, + "up": {"uv": [4, 4.25, 2, 2.25], "texture": "#1"}, + "down": {"uv": [6, 2.25, 4, 4.25], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 5, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 2, 4, 2.25], "texture": "#1"}, + "east": {"uv": [0, 2, 2, 2.25], "texture": "#1"}, + "south": {"uv": [6, 2, 8, 2.25], "texture": "#1"}, + "west": {"uv": [4, 2, 6, 2.25], "texture": "#1"}, + "up": {"uv": [4, 2, 2, 0], "texture": "#1"}, + "down": {"uv": [6, 0, 4, 2], "texture": "#1"} + } + }, + { + "name": "liquid", + "from": [2, 13, 2], + "to": [14, 15, 14], + "faces": { + "north": {"uv": [1.5, 6, 3, 6.25], "texture": "#1"}, + "east": {"uv": [0, 6, 1.5, 6.25], "texture": "#1"}, + "south": {"uv": [4.5, 6, 6, 6.25], "texture": "#1"}, + "west": {"uv": [3, 6, 4.5, 6.25], "texture": "#1"}, + "up": {"uv": [3, 6, 1.5, 4.5], "texture": "#1"}, + "down": {"uv": [4.5, 4.5, 3, 6], "texture": "#1"} + } + }, + { + "name": "north", + "from": [2, 7, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [6.75, 4.75, 8.25, 5.875], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 6.75, 5.875], "texture": "#1"}, + "south": {"uv": [8.5, 4.75, 10, 5.875], "texture": "#1"}, + "west": {"uv": [8.25, 4.75, 8.5, 5.875], "texture": "#1"}, + "up": {"uv": [8.25, 4.75, 6.75, 4.5], "texture": "#1"}, + "down": {"uv": [9.75, 4.5, 8.25, 4.75], "texture": "#1"} + } + }, + { + "name": "south", + "from": [2, 7, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0.25, 6.5, 1.75, 7.625], "texture": "#1"}, + "east": {"uv": [0, 6.5, 0.25, 7.625], "texture": "#1"}, + "south": {"uv": [2, 6.5, 3.5, 7.625], "texture": "#1"}, + "west": {"uv": [1.75, 6.5, 2, 7.625], "texture": "#1"}, + "up": {"uv": [1.75, 6.5, 0.25, 6.25], "texture": "#1"}, + "down": {"uv": [3.25, 6.25, 1.75, 6.5], "texture": "#1"} + } + }, + { + "name": "Support", + "from": [4, 2, 4], + "to": [12, 5, 12], + "faces": { + "north": {"uv": [1, 8.625, 2, 9], "texture": "#1"}, + "east": {"uv": [0, 8.625, 1, 9], "texture": "#1"}, + "south": {"uv": [3, 8.625, 4, 9], "texture": "#1"}, + "west": {"uv": [2, 8.625, 3, 9], "texture": "#1"}, + "up": {"uv": [2, 8.625, 1, 7.625], "texture": "#1"}, + "down": {"uv": [3, 7.625, 2, 8.625], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 7.75, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/apple_boots.json b/src/main/resources/assets/knightquest/models/item/apple_boots.json new file mode 100644 index 00000000..f8b988e9 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/apple_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/apple_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/apple_chestplate.json b/src/main/resources/assets/knightquest/models/item/apple_chestplate.json new file mode 100644 index 00000000..474a9469 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/apple_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/apple_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/apple_helmet.json b/src/main/resources/assets/knightquest/models/item/apple_helmet.json new file mode 100644 index 00000000..f351f7c1 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/apple_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/apple_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/apple_leggings.json b/src/main/resources/assets/knightquest/models/item/apple_leggings.json new file mode 100644 index 00000000..ef25f239 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/apple_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/apple_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bad_patch_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/bad_patch_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bad_patch_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_blue_boots.json b/src/main/resources/assets/knightquest/models/item/bamboo_blue_boots.json new file mode 100644 index 00000000..a7009715 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_blue_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_blue_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_blue_chestplate.json b/src/main/resources/assets/knightquest/models/item/bamboo_blue_chestplate.json new file mode 100644 index 00000000..5cc337a7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_blue_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_blue_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_blue_helmet.json b/src/main/resources/assets/knightquest/models/item/bamboo_blue_helmet.json new file mode 100644 index 00000000..58b11bb9 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_blue_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_blue_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_blue_leggings.json b/src/main/resources/assets/knightquest/models/item/bamboo_blue_leggings.json new file mode 100644 index 00000000..d4c856c5 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_blue_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_blue_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_boots.json b/src/main/resources/assets/knightquest/models/item/bamboo_boots.json new file mode 100644 index 00000000..1f95e9b2 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_chestplate.json b/src/main/resources/assets/knightquest/models/item/bamboo_chestplate.json new file mode 100644 index 00000000..f7e8d9c2 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_green_boots.json b/src/main/resources/assets/knightquest/models/item/bamboo_green_boots.json new file mode 100644 index 00000000..3b3e7526 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_green_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_green_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_green_chestplate.json b/src/main/resources/assets/knightquest/models/item/bamboo_green_chestplate.json new file mode 100644 index 00000000..9e84d108 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_green_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_green_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_green_helmet.json b/src/main/resources/assets/knightquest/models/item/bamboo_green_helmet.json new file mode 100644 index 00000000..d71f1687 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_green_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_green_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_green_leggings.json b/src/main/resources/assets/knightquest/models/item/bamboo_green_leggings.json new file mode 100644 index 00000000..06f61bb1 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_green_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_green_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_helmet.json b/src/main/resources/assets/knightquest/models/item/bamboo_helmet.json new file mode 100644 index 00000000..34c9ff32 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bamboo_leggings.json b/src/main/resources/assets/knightquest/models/item/bamboo_leggings.json new file mode 100644 index 00000000..fc1f7e6d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bamboo_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bat_boots.json b/src/main/resources/assets/knightquest/models/item/bat_boots.json new file mode 100644 index 00000000..1f95e9b2 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bat_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bamboo_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bat_chestplate.json b/src/main/resources/assets/knightquest/models/item/bat_chestplate.json new file mode 100644 index 00000000..1b279b4a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bat_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bat_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bat_helmet.json b/src/main/resources/assets/knightquest/models/item/bat_helmet.json new file mode 100644 index 00000000..529e73bf --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bat_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bat_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bat_leggings.json b/src/main/resources/assets/knightquest/models/item/bat_leggings.json new file mode 100644 index 00000000..446f507c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bat_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bat_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/blaze_boots.json b/src/main/resources/assets/knightquest/models/item/blaze_boots.json new file mode 100644 index 00000000..6feb58e0 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/blaze_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/blaze_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/blaze_chestplate.json b/src/main/resources/assets/knightquest/models/item/blaze_chestplate.json new file mode 100644 index 00000000..997da06a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/blaze_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/blaze_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/blaze_helmet.json b/src/main/resources/assets/knightquest/models/item/blaze_helmet.json new file mode 100644 index 00000000..f31f8784 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/blaze_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/blaze_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/blaze_leggings.json b/src/main/resources/assets/knightquest/models/item/blaze_leggings.json new file mode 100644 index 00000000..6abc1e45 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/blaze_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/blaze_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bow_boots.json b/src/main/resources/assets/knightquest/models/item/bow_boots.json new file mode 100644 index 00000000..34ef4695 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bow_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bow_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bow_chestplate.json b/src/main/resources/assets/knightquest/models/item/bow_chestplate.json new file mode 100644 index 00000000..ec3cb197 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bow_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bow_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bow_helmet.json b/src/main/resources/assets/knightquest/models/item/bow_helmet.json new file mode 100644 index 00000000..0052bcf0 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bow_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bow_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/bow_leggings.json b/src/main/resources/assets/knightquest/models/item/bow_leggings.json new file mode 100644 index 00000000..9ab4155e --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/bow_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/bow_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/chainmail_helmet.json b/src/main/resources/assets/knightquest/models/item/chainmail_helmet.json new file mode 100644 index 00000000..9e50bbc7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/chainmail_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/chainmail_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/chainmail_helmet2.json b/src/main/resources/assets/knightquest/models/item/chainmail_helmet2.json new file mode 100644 index 00000000..5718baac --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/chainmail_helmet2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/chainmail_helmet2_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/cleaver_heavy_axe.json b/src/main/resources/assets/knightquest/models/item/cleaver_heavy_axe.json new file mode 100644 index 00000000..b2a2c260 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/cleaver_heavy_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/cleaver" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador2_helmet.json b/src/main/resources/assets/knightquest/models/item/conquistador2_helmet.json new file mode 100644 index 00000000..88d5b590 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador2_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador2_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador3_helmet.json b/src/main/resources/assets/knightquest/models/item/conquistador3_helmet.json new file mode 100644 index 00000000..db0f174a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador3_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador3_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador_boots.json b/src/main/resources/assets/knightquest/models/item/conquistador_boots.json new file mode 100644 index 00000000..5c7627fa --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador_chestplate.json b/src/main/resources/assets/knightquest/models/item/conquistador_chestplate.json new file mode 100644 index 00000000..81803fd8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador_helmet.json b/src/main/resources/assets/knightquest/models/item/conquistador_helmet.json new file mode 100644 index 00000000..4e738496 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/conquistador_leggings.json b/src/main/resources/assets/knightquest/models/item/conquistador_leggings.json new file mode 100644 index 00000000..6c74cd84 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/conquistador_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/conquistador_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/creeper_boots.json b/src/main/resources/assets/knightquest/models/item/creeper_boots.json new file mode 100644 index 00000000..acaf001c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/creeper_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/creeper_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/creeper_chestplate.json b/src/main/resources/assets/knightquest/models/item/creeper_chestplate.json new file mode 100644 index 00000000..30c04f35 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/creeper_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/creeper_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/creeper_helmet.json b/src/main/resources/assets/knightquest/models/item/creeper_helmet.json new file mode 100644 index 00000000..6e3e7189 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/creeper_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/creeper_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/creeper_leggings.json b/src/main/resources/assets/knightquest/models/item/creeper_leggings.json new file mode 100644 index 00000000..c68c5020 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/creeper_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/creeper_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/crimson_sword.json b/src/main/resources/assets/knightquest/models/item/crimson_sword.json new file mode 100644 index 00000000..6193a055 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/crimson_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/crimson_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/deepslate_boots.json b/src/main/resources/assets/knightquest/models/item/deepslate_boots.json new file mode 100644 index 00000000..097d78cc --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/deepslate_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/deepslate_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/deepslate_chestplate.json b/src/main/resources/assets/knightquest/models/item/deepslate_chestplate.json new file mode 100644 index 00000000..b34be4e0 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/deepslate_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/deepslate_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/deepslate_helmet.json b/src/main/resources/assets/knightquest/models/item/deepslate_helmet.json new file mode 100644 index 00000000..84efaa05 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/deepslate_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/deepslate_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/deepslate_leggings.json b/src/main/resources/assets/knightquest/models/item/deepslate_leggings.json new file mode 100644 index 00000000..50862f78 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/deepslate_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/deepslate_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/dragon_boots.json b/src/main/resources/assets/knightquest/models/item/dragon_boots.json new file mode 100644 index 00000000..9d3db050 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/dragon_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/dragon_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/dragon_chestplate.json b/src/main/resources/assets/knightquest/models/item/dragon_chestplate.json new file mode 100644 index 00000000..68cde019 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/dragon_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/dragon_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/dragon_helmet.json b/src/main/resources/assets/knightquest/models/item/dragon_helmet.json new file mode 100644 index 00000000..3b548865 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/dragon_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/dragon_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/dragon_leggings.json b/src/main/resources/assets/knightquest/models/item/dragon_leggings.json new file mode 100644 index 00000000..dec73bf6 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/dragon_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/dragon_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/eldbomb_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/eldbomb_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/eldbomb_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/eldknight_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/eldknight_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/eldknight_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/empty_goblet.json b/src/main/resources/assets/knightquest/models/item/empty_goblet.json new file mode 100644 index 00000000..e0480afb --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/empty_goblet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/empty_goblet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/enderman_boots.json b/src/main/resources/assets/knightquest/models/item/enderman_boots.json new file mode 100644 index 00000000..d53ae5f7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/enderman_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/enderman_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/enderman_chestplate.json b/src/main/resources/assets/knightquest/models/item/enderman_chestplate.json new file mode 100644 index 00000000..136437b1 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/enderman_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/enderman_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/enderman_helmet.json b/src/main/resources/assets/knightquest/models/item/enderman_helmet.json new file mode 100644 index 00000000..2973dd4f --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/enderman_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/enderman_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/enderman_leggings.json b/src/main/resources/assets/knightquest/models/item/enderman_leggings.json new file mode 100644 index 00000000..b37d433d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/enderman_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/enderman_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/evoker_boots.json b/src/main/resources/assets/knightquest/models/item/evoker_boots.json new file mode 100644 index 00000000..ad631516 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/evoker_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/evoker_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/evoker_chestplate.json b/src/main/resources/assets/knightquest/models/item/evoker_chestplate.json new file mode 100644 index 00000000..89d81270 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/evoker_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/evoker_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/evoker_helmet.json b/src/main/resources/assets/knightquest/models/item/evoker_helmet.json new file mode 100644 index 00000000..99ff2d73 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/evoker_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/evoker_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/evoker_leggings.json b/src/main/resources/assets/knightquest/models/item/evoker_leggings.json new file mode 100644 index 00000000..4267ae88 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/evoker_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/evoker_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/filled_goblet.json b/src/main/resources/assets/knightquest/models/item/filled_goblet.json new file mode 100644 index 00000000..c1f52410 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/filled_goblet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/filled_goblet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/forze_boots.json b/src/main/resources/assets/knightquest/models/item/forze_boots.json new file mode 100644 index 00000000..2f3cc90a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/forze_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/forze_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/forze_chestplate.json b/src/main/resources/assets/knightquest/models/item/forze_chestplate.json new file mode 100644 index 00000000..c32c368b --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/forze_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/forze_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/forze_helmet.json b/src/main/resources/assets/knightquest/models/item/forze_helmet.json new file mode 100644 index 00000000..9ef156a7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/forze_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/forze_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/forze_leggings.json b/src/main/resources/assets/knightquest/models/item/forze_leggings.json new file mode 100644 index 00000000..27011313 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/forze_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/forze_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/ghastling_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/ghastling_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/ghastling_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/ghosty_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/ghosty_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/ghosty_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/great_chalice.json b/src/main/resources/assets/knightquest/models/item/great_chalice.json new file mode 100644 index 00000000..d91e9cde --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/great_chalice.json @@ -0,0 +1,3 @@ +{ + "parent": "knightquest:block/great_chalice" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/great_essence.json b/src/main/resources/assets/knightquest/models/item/great_essence.json new file mode 100644 index 00000000..9c938e46 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/great_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/great_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/gremlin_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/gremlin_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/gremlin_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/hollow_boots.json b/src/main/resources/assets/knightquest/models/item/hollow_boots.json new file mode 100644 index 00000000..6a224c8e --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/hollow_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/hollow_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/hollow_chestplate.json b/src/main/resources/assets/knightquest/models/item/hollow_chestplate.json new file mode 100644 index 00000000..92bf42a4 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/hollow_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/hollow_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/hollow_helmet.json b/src/main/resources/assets/knightquest/models/item/hollow_helmet.json new file mode 100644 index 00000000..03996121 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/hollow_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/hollow_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/hollow_leggings.json b/src/main/resources/assets/knightquest/models/item/hollow_leggings.json new file mode 100644 index 00000000..a6833392 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/hollow_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/hollow_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/horn_boots.json b/src/main/resources/assets/knightquest/models/item/horn_boots.json new file mode 100644 index 00000000..6ee11920 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/horn_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/horn_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/horn_chestplate.json b/src/main/resources/assets/knightquest/models/item/horn_chestplate.json new file mode 100644 index 00000000..fb5ad073 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/horn_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/horn_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/horn_helmet.json b/src/main/resources/assets/knightquest/models/item/horn_helmet.json new file mode 100644 index 00000000..1e7a9e60 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/horn_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/horn_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/horn_leggings.json b/src/main/resources/assets/knightquest/models/item/horn_leggings.json new file mode 100644 index 00000000..dab13642 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/horn_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/horn_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_boots.json b/src/main/resources/assets/knightquest/models/item/husk_boots.json new file mode 100644 index 00000000..85540bfa --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_chestplate.json b/src/main/resources/assets/knightquest/models/item/husk_chestplate.json new file mode 100644 index 00000000..fdec613d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_helmet.json b/src/main/resources/assets/knightquest/models/item/husk_helmet.json new file mode 100644 index 00000000..f70276cc --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_helmet2.json b/src/main/resources/assets/knightquest/models/item/husk_helmet2.json new file mode 100644 index 00000000..eb3a40b5 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_helmet2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_helmet2_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_helmet3.json b/src/main/resources/assets/knightquest/models/item/husk_helmet3.json new file mode 100644 index 00000000..33953037 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_helmet3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_helmet3_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/husk_leggings.json b/src/main/resources/assets/knightquest/models/item/husk_leggings.json new file mode 100644 index 00000000..4951055d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/husk_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/husk_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/khopesh_claymore.json b/src/main/resources/assets/knightquest/models/item/khopesh_claymore.json new file mode 100644 index 00000000..47ee44fb --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/khopesh_claymore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/khopesh" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/kukri_dagger.json b/src/main/resources/assets/knightquest/models/item/kukri_dagger.json new file mode 100644 index 00000000..7b051593 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/kukri_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/kukri" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/lizzy_scale.json b/src/main/resources/assets/knightquest/models/item/lizzy_scale.json new file mode 100644 index 00000000..06446c18 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/lizzy_scale.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/lizzy_scale" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/lizzy_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/lizzy_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/lizzy_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/momma_lizzy_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/momma_lizzy_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/momma_lizzy_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/nail_glaive.json b/src/main/resources/assets/knightquest/models/item/nail_glaive.json new file mode 100644 index 00000000..13b6e4b6 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/nail_glaive.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/nail_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/nether_boots.json b/src/main/resources/assets/knightquest/models/item/nether_boots.json new file mode 100644 index 00000000..479cc84d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/nether_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/nether_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/nether_chestplate.json b/src/main/resources/assets/knightquest/models/item/nether_chestplate.json new file mode 100644 index 00000000..6c2b56cd --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/nether_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/nether_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/nether_helmet.json b/src/main/resources/assets/knightquest/models/item/nether_helmet.json new file mode 100644 index 00000000..f59bfc54 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/nether_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/nether_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/nether_leggings.json b/src/main/resources/assets/knightquest/models/item/nether_leggings.json new file mode 100644 index 00000000..b92c6390 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/nether_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/nether_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/paladin_sword.json b/src/main/resources/assets/knightquest/models/item/paladin_sword.json new file mode 100644 index 00000000..59ec40fb --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/paladin_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/paladin_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/path_boots.json b/src/main/resources/assets/knightquest/models/item/path_boots.json new file mode 100644 index 00000000..2c523ba7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/path_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/path_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/path_chestplate.json b/src/main/resources/assets/knightquest/models/item/path_chestplate.json new file mode 100644 index 00000000..382544b7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/path_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/path_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/path_helmet.json b/src/main/resources/assets/knightquest/models/item/path_helmet.json new file mode 100644 index 00000000..8788c93d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/path_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/path_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/path_leggings.json b/src/main/resources/assets/knightquest/models/item/path_leggings.json new file mode 100644 index 00000000..a53620ba --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/path_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/path_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/phantom_boots.json b/src/main/resources/assets/knightquest/models/item/phantom_boots.json new file mode 100644 index 00000000..dba9ddf3 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/phantom_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/phantom_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/phantom_chestplate.json b/src/main/resources/assets/knightquest/models/item/phantom_chestplate.json new file mode 100644 index 00000000..0010d3e6 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/phantom_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/phantom_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/phantom_helmet.json b/src/main/resources/assets/knightquest/models/item/phantom_helmet.json new file mode 100644 index 00000000..3f079590 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/phantom_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/phantom_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/phantom_leggings.json b/src/main/resources/assets/knightquest/models/item/phantom_leggings.json new file mode 100644 index 00000000..b53d3fe0 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/phantom_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/phantom_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate2_helmet.json b/src/main/resources/assets/knightquest/models/item/pirate2_helmet.json new file mode 100644 index 00000000..5c43735a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate2_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate2_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate3_helmet.json b/src/main/resources/assets/knightquest/models/item/pirate3_helmet.json new file mode 100644 index 00000000..c1bee617 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate3_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate3_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate_boots.json b/src/main/resources/assets/knightquest/models/item/pirate_boots.json new file mode 100644 index 00000000..857301ad --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate_chestplate.json b/src/main/resources/assets/knightquest/models/item/pirate_chestplate.json new file mode 100644 index 00000000..1cca632d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate_helmet.json b/src/main/resources/assets/knightquest/models/item/pirate_helmet.json new file mode 100644 index 00000000..c05e88c8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/pirate_leggings.json b/src/main/resources/assets/knightquest/models/item/pirate_leggings.json new file mode 100644 index 00000000..da7e3b01 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/pirate_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/pirate_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/polar_boots.json b/src/main/resources/assets/knightquest/models/item/polar_boots.json new file mode 100644 index 00000000..10485f77 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/polar_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/polar_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/polar_chestplate.json b/src/main/resources/assets/knightquest/models/item/polar_chestplate.json new file mode 100644 index 00000000..5cba9099 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/polar_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/polar_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/polar_helmet.json b/src/main/resources/assets/knightquest/models/item/polar_helmet.json new file mode 100644 index 00000000..de17aa07 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/polar_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/polar_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/polar_leggings.json b/src/main/resources/assets/knightquest/models/item/polar_leggings.json new file mode 100644 index 00000000..ece665b4 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/polar_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/polar_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/ratman_eye.json b/src/main/resources/assets/knightquest/models/item/ratman_eye.json new file mode 100644 index 00000000..cf408a25 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/ratman_eye.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/ratman_eye" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/ratman_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/ratman_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/ratman_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/samhain_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/samhain_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/samhain_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/sea_boots.json b/src/main/resources/assets/knightquest/models/item/sea_boots.json new file mode 100644 index 00000000..c131d2ee --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/sea_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/sea_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/sea_chestplate.json b/src/main/resources/assets/knightquest/models/item/sea_chestplate.json new file mode 100644 index 00000000..bc5724b3 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/sea_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/sea_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/sea_helmet.json b/src/main/resources/assets/knightquest/models/item/sea_helmet.json new file mode 100644 index 00000000..61faea76 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/sea_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/sea_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/sea_leggings.json b/src/main/resources/assets/knightquest/models/item/sea_leggings.json new file mode 100644 index 00000000..fb720a26 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/sea_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/sea_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shield_boots.json b/src/main/resources/assets/knightquest/models/item/shield_boots.json new file mode 100644 index 00000000..297f5d20 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shield_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shield_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shield_chestplate.json b/src/main/resources/assets/knightquest/models/item/shield_chestplate.json new file mode 100644 index 00000000..f63cb00c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shield_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shield_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shield_helmet.json b/src/main/resources/assets/knightquest/models/item/shield_helmet.json new file mode 100644 index 00000000..6464dd02 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shield_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shield_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shield_leggings.json b/src/main/resources/assets/knightquest/models/item/shield_leggings.json new file mode 100644 index 00000000..86b14667 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shield_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shield_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shinobi_boots.json b/src/main/resources/assets/knightquest/models/item/shinobi_boots.json new file mode 100644 index 00000000..cdaf91c6 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shinobi_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shinobi_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shinobi_chestplate.json b/src/main/resources/assets/knightquest/models/item/shinobi_chestplate.json new file mode 100644 index 00000000..81d9bdae --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shinobi_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shinobi_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shinobi_helmet.json b/src/main/resources/assets/knightquest/models/item/shinobi_helmet.json new file mode 100644 index 00000000..6869d3d7 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shinobi_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shinobi_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/shinobi_leggings.json b/src/main/resources/assets/knightquest/models/item/shinobi_leggings.json new file mode 100644 index 00000000..b3b9d9d9 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/shinobi_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/shinobi_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silver_boots.json b/src/main/resources/assets/knightquest/models/item/silver_boots.json new file mode 100644 index 00000000..505ad1ef --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silver_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silver_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silver_chestplate.json b/src/main/resources/assets/knightquest/models/item/silver_chestplate.json new file mode 100644 index 00000000..d624ecdb --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silver_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silver_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silver_helmet.json b/src/main/resources/assets/knightquest/models/item/silver_helmet.json new file mode 100644 index 00000000..098b7927 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silver_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silver_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silver_leggings.json b/src/main/resources/assets/knightquest/models/item/silver_leggings.json new file mode 100644 index 00000000..6f98205b --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silver_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silver_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silverfish_boots.json b/src/main/resources/assets/knightquest/models/item/silverfish_boots.json new file mode 100644 index 00000000..1ab74237 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silverfish_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silverfish_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silverfish_chestplate.json b/src/main/resources/assets/knightquest/models/item/silverfish_chestplate.json new file mode 100644 index 00000000..3acb1259 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silverfish_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silverfish_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silverfish_helmet.json b/src/main/resources/assets/knightquest/models/item/silverfish_helmet.json new file mode 100644 index 00000000..a9de0c82 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silverfish_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silverfish_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/silverfish_leggings.json b/src/main/resources/assets/knightquest/models/item/silverfish_leggings.json new file mode 100644 index 00000000..a3dd177b --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/silverfish_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/silverfish_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skeleton_boots.json b/src/main/resources/assets/knightquest/models/item/skeleton_boots.json new file mode 100644 index 00000000..610f24aa --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skeleton_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skeleton_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skeleton_chestplate.json b/src/main/resources/assets/knightquest/models/item/skeleton_chestplate.json new file mode 100644 index 00000000..bb14d05e --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skeleton_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skeleton_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skeleton_helmet.json b/src/main/resources/assets/knightquest/models/item/skeleton_helmet.json new file mode 100644 index 00000000..2f3d5121 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skeleton_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skeleton_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skeleton_leggings.json b/src/main/resources/assets/knightquest/models/item/skeleton_leggings.json new file mode 100644 index 00000000..27098674 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skeleton_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skeleton_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk2_helmet.json b/src/main/resources/assets/knightquest/models/item/skulk2_helmet.json new file mode 100644 index 00000000..9a065b28 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk2_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk_marbled_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk3_helmet.json b/src/main/resources/assets/knightquest/models/item/skulk3_helmet.json new file mode 100644 index 00000000..7a091c8a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk3_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk3_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk4_helmet.json b/src/main/resources/assets/knightquest/models/item/skulk4_helmet.json new file mode 100644 index 00000000..3568e53c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk4_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk4_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk_boots.json b/src/main/resources/assets/knightquest/models/item/skulk_boots.json new file mode 100644 index 00000000..02ca3fec --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk_chestplate.json b/src/main/resources/assets/knightquest/models/item/skulk_chestplate.json new file mode 100644 index 00000000..32025aa4 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk_helmet.json b/src/main/resources/assets/knightquest/models/item/skulk_helmet.json new file mode 100644 index 00000000..d531c36d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/skulk_leggings.json b/src/main/resources/assets/knightquest/models/item/skulk_leggings.json new file mode 100644 index 00000000..1043f47a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/skulk_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/skulk_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/small_essence.json b/src/main/resources/assets/knightquest/models/item/small_essence.json new file mode 100644 index 00000000..429bd8c8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/small_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/small_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/spider_boots.json b/src/main/resources/assets/knightquest/models/item/spider_boots.json new file mode 100644 index 00000000..d820f38d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/spider_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/spider_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/spider_chestplate.json b/src/main/resources/assets/knightquest/models/item/spider_chestplate.json new file mode 100644 index 00000000..9c08adc4 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/spider_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/spider_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/spider_helmet.json b/src/main/resources/assets/knightquest/models/item/spider_helmet.json new file mode 100644 index 00000000..c77e2579 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/spider_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/spider_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/spider_leggings.json b/src/main/resources/assets/knightquest/models/item/spider_leggings.json new file mode 100644 index 00000000..7e765b1c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/spider_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/spider_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/squire_boots.json b/src/main/resources/assets/knightquest/models/item/squire_boots.json new file mode 100644 index 00000000..66ad0ac1 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/squire_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/squire_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/squire_chestplate.json b/src/main/resources/assets/knightquest/models/item/squire_chestplate.json new file mode 100644 index 00000000..41ba767c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/squire_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/squire_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/squire_helmet.json b/src/main/resources/assets/knightquest/models/item/squire_helmet.json new file mode 100644 index 00000000..c15c8baa --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/squire_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/squire_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/squire_leggings.json b/src/main/resources/assets/knightquest/models/item/squire_leggings.json new file mode 100644 index 00000000..912f5b2f --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/squire_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/squire_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/steel_axe.json b/src/main/resources/assets/knightquest/models/item/steel_axe.json new file mode 100644 index 00000000..fcfe32e8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/steel_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/steel_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/steel_sword.json b/src/main/resources/assets/knightquest/models/item/steel_sword.json new file mode 100644 index 00000000..4e3c993a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/steel_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/steel_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/strawhat_boots.json b/src/main/resources/assets/knightquest/models/item/strawhat_boots.json new file mode 100644 index 00000000..c83da929 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/strawhat_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/strawhat_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/strawhat_chestplate.json b/src/main/resources/assets/knightquest/models/item/strawhat_chestplate.json new file mode 100644 index 00000000..daa9d16d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/strawhat_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/strawhat_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/strawhat_helmet.json b/src/main/resources/assets/knightquest/models/item/strawhat_helmet.json new file mode 100644 index 00000000..9ef6c193 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/strawhat_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/strawhat_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/strawhat_leggings.json b/src/main/resources/assets/knightquest/models/item/strawhat_leggings.json new file mode 100644 index 00000000..6e11c613 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/strawhat_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/strawhat_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/swampman_spawn_egg.json b/src/main/resources/assets/knightquest/models/item/swampman_spawn_egg.json new file mode 100644 index 00000000..7a2c6da8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/swampman_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tengu_helmet.json b/src/main/resources/assets/knightquest/models/item/tengu_helmet.json new file mode 100644 index 00000000..de56918a --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tengu_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tengu_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tunic_blue_leggings.json b/src/main/resources/assets/knightquest/models/item/tunic_blue_leggings.json new file mode 100644 index 00000000..c77a9c72 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tunic_blue_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tunic_blue_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tunic_green_leggings.json b/src/main/resources/assets/knightquest/models/item/tunic_green_leggings.json new file mode 100644 index 00000000..d6c58424 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tunic_green_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tunic_green_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tunic_red_leggings.json b/src/main/resources/assets/knightquest/models/item/tunic_red_leggings.json new file mode 100644 index 00000000..7006cf7c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tunic_red_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tunic_red_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tunic_sea_leggings.json b/src/main/resources/assets/knightquest/models/item/tunic_sea_leggings.json new file mode 100644 index 00000000..607a4b04 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tunic_sea_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tunic_sea_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/tunic_yellow_leggings.json b/src/main/resources/assets/knightquest/models/item/tunic_yellow_leggings.json new file mode 100644 index 00000000..01995083 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/tunic_yellow_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/tunic_yellow_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/uchigatana_katana.json b/src/main/resources/assets/knightquest/models/item/uchigatana_katana.json new file mode 100644 index 00000000..07c2264b --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/uchigatana_katana.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/uchigatana" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/veteran_boots.json b/src/main/resources/assets/knightquest/models/item/veteran_boots.json new file mode 100644 index 00000000..a6fc7fee --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/veteran_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/veteran_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/veteran_chestplate.json b/src/main/resources/assets/knightquest/models/item/veteran_chestplate.json new file mode 100644 index 00000000..1160f631 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/veteran_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/veteran_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/veteran_helmet.json b/src/main/resources/assets/knightquest/models/item/veteran_helmet.json new file mode 100644 index 00000000..e42cb0e3 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/veteran_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/veteran_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/veteran_leggings.json b/src/main/resources/assets/knightquest/models/item/veteran_leggings.json new file mode 100644 index 00000000..b8708ca8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/veteran_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/veteran_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/warlord_boots.json b/src/main/resources/assets/knightquest/models/item/warlord_boots.json new file mode 100644 index 00000000..095ea037 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/warlord_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/warlord_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/warlord_chestplate.json b/src/main/resources/assets/knightquest/models/item/warlord_chestplate.json new file mode 100644 index 00000000..dbb764c8 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/warlord_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/warlord_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/warlord_helmet.json b/src/main/resources/assets/knightquest/models/item/warlord_helmet.json new file mode 100644 index 00000000..a6691718 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/warlord_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/warlord_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/warlord_leggings.json b/src/main/resources/assets/knightquest/models/item/warlord_leggings.json new file mode 100644 index 00000000..b3cabbae --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/warlord_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/warlord_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/water_axe.json b/src/main/resources/assets/knightquest/models/item/water_axe.json new file mode 100644 index 00000000..7d061c4d --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/water_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/water_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/water_sword.json b/src/main/resources/assets/knightquest/models/item/water_sword.json new file mode 100644 index 00000000..f19884f4 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/water_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "knightquest:item/water_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/witch_boots.json b/src/main/resources/assets/knightquest/models/item/witch_boots.json new file mode 100644 index 00000000..f9bbba7c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/witch_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/witch_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/witch_chestplate.json b/src/main/resources/assets/knightquest/models/item/witch_chestplate.json new file mode 100644 index 00000000..cf6d7606 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/witch_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/witch_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/witch_helmet.json b/src/main/resources/assets/knightquest/models/item/witch_helmet.json new file mode 100644 index 00000000..f892ddac --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/witch_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/witch_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/witch_leggings.json b/src/main/resources/assets/knightquest/models/item/witch_leggings.json new file mode 100644 index 00000000..ea99e4b1 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/witch_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/witch_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/wither_boots.json b/src/main/resources/assets/knightquest/models/item/wither_boots.json new file mode 100644 index 00000000..a2635012 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/wither_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/wither_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/wither_chestplate.json b/src/main/resources/assets/knightquest/models/item/wither_chestplate.json new file mode 100644 index 00000000..35835d5f --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/wither_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/wither_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/wither_helmet.json b/src/main/resources/assets/knightquest/models/item/wither_helmet.json new file mode 100644 index 00000000..51ce25b2 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/wither_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/wither_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/wither_leggings.json b/src/main/resources/assets/knightquest/models/item/wither_leggings.json new file mode 100644 index 00000000..ebb9f484 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/wither_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/wither_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/zombie_boots.json b/src/main/resources/assets/knightquest/models/item/zombie_boots.json new file mode 100644 index 00000000..0f26b58b --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/zombie_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/zombie_boots_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/zombie_chestplate.json b/src/main/resources/assets/knightquest/models/item/zombie_chestplate.json new file mode 100644 index 00000000..f3de5b18 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/zombie_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/zombie_main_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/zombie_helmet.json b/src/main/resources/assets/knightquest/models/item/zombie_helmet.json new file mode 100644 index 00000000..615e5563 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/zombie_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/zombie_helmet_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/zombie_helmet2.json b/src/main/resources/assets/knightquest/models/item/zombie_helmet2.json new file mode 100644 index 00000000..e100a46c --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/zombie_helmet2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/zombie_helmet2_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/models/item/zombie_leggings.json b/src/main/resources/assets/knightquest/models/item/zombie_leggings.json new file mode 100644 index 00000000..21cf5d31 --- /dev/null +++ b/src/main/resources/assets/knightquest/models/item/zombie_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "knightquest:item/zombie_leggings_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/particles/ghosty.json b/src/main/resources/assets/knightquest/particles/ghosty.json new file mode 100644 index 00000000..8e1e3b69 --- /dev/null +++ b/src/main/resources/assets/knightquest/particles/ghosty.json @@ -0,0 +1,10 @@ +{ + "textures": [ + "knightquest:ghosty1", + "knightquest:ghosty2", + "knightquest:ghosty3", + "knightquest:ghosty4", + "knightquest:ghosty5", + "knightquest:ghosty6" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/particles/gremlin.json b/src/main/resources/assets/knightquest/particles/gremlin.json new file mode 100644 index 00000000..5b0f6cae --- /dev/null +++ b/src/main/resources/assets/knightquest/particles/gremlin.json @@ -0,0 +1,23 @@ +{ + "textures": [ + "knightquest:gremlin1", + "knightquest:gremlin2", + "knightquest:gremlin3", + "knightquest:gremlin4", + "knightquest:gremlin5", + "knightquest:gremlin6", + "knightquest:gremlin7", + "knightquest:gremlin7", + "knightquest:gremlin8", + "knightquest:gremlin8", + "knightquest:gremlin9", + "knightquest:gremlin9", + "knightquest:gremlin10", + "knightquest:gremlin11", + "knightquest:gremlin12", + "knightquest:gremlin13", + "knightquest:gremlin14", + "knightquest:gremlin15", + "knightquest:gremlin16" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/particles/starset.json b/src/main/resources/assets/knightquest/particles/starset.json new file mode 100644 index 00000000..e2eafcd5 --- /dev/null +++ b/src/main/resources/assets/knightquest/particles/starset.json @@ -0,0 +1,23 @@ +{ + "textures": [ + "knightquest:starset1", + "knightquest:starset2", + "knightquest:starset3", + "knightquest:starset4", + "knightquest:starset5", + "knightquest:starset6", + "knightquest:starset7", + "knightquest:starset8", + "knightquest:starset9", + "knightquest:starset10", + "knightquest:starset11", + "knightquest:starset12", + "knightquest:starset13", + "knightquest:starset14", + "knightquest:starset15", + "knightquest:starset16", + "knightquest:starset17", + "knightquest:starset18", + "knightquest:starset19" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/particles/yellow.json b/src/main/resources/assets/knightquest/particles/yellow.json new file mode 100644 index 00000000..0026afb5 --- /dev/null +++ b/src/main/resources/assets/knightquest/particles/yellow.json @@ -0,0 +1,8 @@ +{ + "textures": [ + "knightquest:yellow1", + "knightquest:yellow2", + "knightquest:yellow3", + "knightquest:yellow4" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/textures/armor/apple_helmet.png b/src/main/resources/assets/knightquest/textures/armor/apple_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa1d87d9724a3d8b39e366f19702674941ba303 GIT binary patch literal 1234 zcmV;@1TFiCP)Px(j7da6RA_cYf#GU&_dXWN(+0o?j-hw5}=ldF(hF+`RYo_dH16r`~(U zP;P8(mgO6xQ2a4*OS%`Iq@}Z`Xq?u34bt<=fUK}l-9gINd(W`(^N+=vE1QdJMdK34 zYk-&$$B_+C@_=XD1M z1i!@6y5~8C`)*WyCx>w#EiAW$%T)k?Fhko@f0hdGZrcVb347ZY+({Kv_)K*%Q z6{@YYm{vl-h(}mn?FF@!76L8@K960w->cEm*;6*2Oam~UOcPH|8!GoG6O=?7wSofY z+8Tkq*dYwr9f?RjkDYUEjj{ncLVhI(s$JhK_T%w+?3$HSyQ7$#-eo^&3o6&}c+%Lj zn!HXqR)ze;lhe68PYtWzhRPzxCn50K>(X)CF)5!6U->{I3+B8*92fGJvF|jp(0*$9O6YBkEcBi*JTz5MSqUYS zP(leMlwb-uSIpkUX6f$gHUQH%D+pfSEm$@?YG|BjWq4@H^jBNJ<)Afu(bVU0F_7~y zba!=|>6;a7UH%gr6^y2K3YM_VOY_Uh-P{bulWBaO+^o|-jU(p-pLOIIpxIHwUoTsD z!}T11DcS6(!P(%Z$?K%H(qigq@;VF3KouKh?@k0I*?sqvnfT#(c293nv0yVLZG+VW zukWJf6WhrwSH*&jOK(2rn@h%@!o@=QXle)BU^TYEYDQB#jHY(T++Lw#!Dd0Z6wm^F9f~c6vVXuE(ABFiy7{ zZpbP3tE?PSwWGmWHJ9b#?CRA6HpX+6n0S zs{AK4bs1!1>iO=phl$Spri_^ZY=hNo98p2B+9C-ek|Nj6UyuN-J)X1lr{uzpkRNA* zo3uy%<8!7i3#lv#)-{=2amKgS*&&rB;P>NuV#gVFlb&DB<(pq7;Xf|-tFtQ^8a>~u wsVvml3GgDm_Oo)@d_bEnGYg@(ek}3(ZPx&j7da6RA_T}#mg%Y2^a%SJqYV9cN7aO;dZCg8R4+^$ zdBE=Qa=NXIG62FdozZsVmlazPWdJ6P88Bwv>+Ga4vtdqcCdvS`H174y08O_uV0Qk` z4RdZYsHwCAl}4EXa`E$9@N8Xn-JRM@lo=pXUs$H6xOH2ZfZXTj3OTIeA}x)3f$~1z z7Cj8WbjiTo`L^g`x=)_<>qD!TQnO4V3TS`As#MwL_#GTR20r>bK_>w3zHGox z-tIVGS^q2y3xLZfz6ap?qo4oRe`&23tNI$;4B7|A#jR)O*JN}4(_75n{DCvOpRdX8 z-ohc|jZk20uvdV6%L4FiZw!FcjjshjFy6PVGa)eX{>AT|s z;KIWx5?4-nbW49<-bqRV*QU6iEC4|+m{%FOlJ&J)N-BO7I4ZiX#VS7qhDM42%r4x; z9JP1f@}PK`c=7;%gGZWdo9r(P8LPK1lX2|-1v*C(FYr`Fo&W#<07*qoM6N<$g3B-2 AZ2$lO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/bamboo_green_helmet.png b/src/main/resources/assets/knightquest/textures/armor/bamboo_green_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..c24524ba9942107f47c86948f50785e7492abe38 GIT binary patch literal 937 zcmV;a16KTrP)Px&V@X6oRA_w{A*R(7Lf3NYB_+s-nlJ;;AG-}9xiu&yvRi{`H3b*}uV>rKxC$V2 z&6;gHPFb-RaTQ=vodIn*^9|uv0H#+u*n@8f zw-UQ@BWFdJRA*4U9s+gEra;2X9zJF{wl?)YrgAaFqP%-sGrK@G60J$2l?HU=0eyQ=Rx2$T4IQa&tCzkZ>uF3 ziE?ZHK7ecg!IUBV;ZZ*TznjtkTnKxR08uEw)2%JUhn?T_r)ood`TDJ(KyEa4cJQjR zg^Mqe%*9mzj-IZu>Hx-Hd~keB8aq1#;M%{C-Bo~4*I58d(RZ&aETvbRD?WOlx+emV zH-qLq0cNiy90jQEiCDfD>Tk}xlYPS*q1kH*22)uolgpb9+K#{9$J5~;mC0r1;wp1- zmCEEYy-OAN`+fNPeFgh&q<`;H#kzJdGN9lQ>N+a`QQZ>}D`{t)x8NvKrc9YKWy+KW z31D>My8yU%{W1XEZ=AQD|07Z+@lbqIE&&kI`!UN+^~d*x2(p$KB4ljGv6uG?vhj&I z1c1G~UyuhrWr$&XXWPrWg+B{##R1FHZ^Y1nE(DJK0gDn&Q7e_iWlK8Org=H_~E~&00000 LNkvXXu0mjf-gdZc literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/bamboo_helmet.png b/src/main/resources/assets/knightquest/textures/armor/bamboo_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..9efe991893cd0d0f885e16d11d61a1744010f13b GIT binary patch literal 844 zcmV-S1GD^zP)Px&21!IgRA_Z2o&&oty zr5&g=wM$Smp}8Yj@WRtB#`zQTtt?1toexHBJk2C{a@qmp7by3gp_wG$1keJZj%6`c zgqzW_j)G~uzg-SSZG32I#M#t9 za(j3YKK8h*GJ3j@}DhGHwi zMXWx%EuX(JYZA$hf&>s|7c-4TCtVr;p|!n_ELywNJ0Q$1eqFy8ixz}lEQOVd5c~M~ zP_m;Sfl}%wwzqiw^&1}ZSq7{P+Js=#2KQ}64R}#90U(^SF=}=J7C^}$b)2-t*vI(P zRio@DRm(MM<;hDFY_?)&X6Ih3}A9|v0$nP9Gx;C)GswI41l_D6@A*PfjADT z?caA0@;lWwzg92+`Vw7AU-h}rxUdZB4d{*hDS}ZOgCj0N(M0~DOj{TnaS@zL2z3FW z{@{pUUMvWT(F(!adu`e>fgIm`Cm*l~Ba094)XL+%KS5BC8uJ^Q%A?vx+N*JCFcQ7%4Tk6jy>3RTLb^70E( Wx@={`o$1E_0000Px&l}SWFRA_t!k)to0Ekwb z0D!Hznxz4*-&JsT5ybwD2k=ee?1d9tXbRh{I>JkCu!7X3@Ns<<01$V#VMJk(>rq?{ zR*;Y@aouNmh?pfut$hR|ay;2{xbgW%5diSo+f%;XssljRa5duYc2|Bj?gRjZp6ym0 z;XniXHy)ggI~B5MwTZ2{+FzR*k>klmrHpl#A6s)Z0Lq+07fNoQeDQY6=bDpHSPBwW zkf5F{hummdr^c%t)kECf#+im5O!$y1xfITKWnK=slCfSpF>`Xuh^5Z{LCzG-ufTSz zj`w4~aGJZuVtC$CDRMkEG;|%;M}cu|qx6^s0K4UL?3R1aBF8J_nS2%**>fTk)71q~ z1{863F@-`PNGS7kli+=vUkuM14sI2RP>g(f^-@!|TDoyZ zM(2Sz@{n z0mf*DceH$^xO!#<2`lLZLxq`q_E}B92)zYX;74E1LcF^gMMq z;_fz}GXBHbEp`rrh@z=rK(yM#{*4DmYggDg3@YBC7o*P&zX7XMcFLYv5z+tv002ov JPDHLkV1mvN#&G}u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/blaze_helmet.png b/src/main/resources/assets/knightquest/textures/armor/blaze_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..593bbc5e1aad787da3976200c23a0dd59f719271 GIT binary patch literal 1006 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 KMNUMnLSTZmql`cR literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/conquistador3_helmet.png b/src/main/resources/assets/knightquest/textures/armor/conquistador3_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba5c851cc59c1bbaaa70e0898f81f287bd001e5 GIT binary patch literal 1481 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 Z!T)o`tBhc~LOK8d002ovPDHLkV1g@I9UlMy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/deepslate_helmet.png b/src/main/resources/assets/knightquest/textures/armor/deepslate_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..608bb406136185504e61a54bd062e6e99f7a5d64 GIT binary patch literal 854 zcmV-c1F8IpP)Px&5J^NqRA_0vYDZd~1@w5HkSyX@?|;bq?2m-l9#h6n4L z+v1{--SAn2yES+1l_@p?NLnBmu7lZpH(ybKOXv*8;ntqmdY+k(jHjTk(tl zi41v(AB=|o5U0@8T%+t0?7 zWkBtCUxmBexSfi5>yS&sm7az}0V=sPwYsTfdfjx@X=izLO~~+Uav6LL-pv>y{Np=Uz-czGkUGsaxc$E+vPg%k*OJ&Xad*pHB zp$0F>d-UkhqsRY(DnYWgUNw%h54ErVbT{`;q51*O-TVEHw!FF~lf7{YIL6(Kx;ul_Z<9$-K2`U{rvzk! g5+0kC&Zocm1#C5*cekpn=Kufz07*qoM6N<$g5C(2ga7~l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/dragon_helmet.png b/src/main/resources/assets/knightquest/textures/armor/dragon_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..a86e7e50ea74367b71515812536e82ac457e2ce9 GIT binary patch literal 947 zcmV;k15EshP)Px&ZAnByRA_*Fh0i*qBPYYD z*WQQ+LwaiLrPn6LVExe;y{PnpsYU{8DriNJ)<)d4X?vO;VAcheU2OPK8a@dLnK%2G zH~Zdqen6msKQKp+Q!(VuQzh+vCNqZ3HiUw+S}urIhgvy0`9cLD3!m3sH=jDK4oblT zP;6^Qy0kjT1MM@J(PuI%+8RxGeV+mV&vOWd7HPfwYGwd~r97kA8Q}BU2`hns|4H3S zKr;jWcWR!1+<6MesaRD_Xf%x~0nG_0ulaIKXckQQn_dFLW}9N5<(km0=%$`Nqq*}G zuFeDifT33p0O%ie)fAvVFo)w*3>WcT06_j)1OOO^cs5DWK7xu_007Z*@_j_jZ*wWU zbGzuuP})c6Sn%Ta-^Hdv0QnDVQo6H&%efGo3#6dSdMJp!3=d}}d zu335eT0H}ri9aw$cej@T0Gp95GH$cdd#1a%%zvxs`)FlGRWKu8KO>pW5Qo!40l?*+ z1_11CFN2C%u-_TCSt-$TaJi>J0Mu<$@i#b}9!W&ygJ-ZMSiWMgl}m|eWQ$k^2dJS} zFKHL^FNttZH<-QU8Bi`<^4jkobyYoy%9qsgB|MqVkV1JRDxL*^%RHcF@6e$`DZ$Vp zwG0llR4f}s=RTm8PSyvOMvtRqbTXipPCT!E7;0xa8PMthw3^NYw0Z!oM*6cMag+pb zv*f7>AG?;4Kg07Jmcl!Ay|HZuL~Vz+w*9f>4vyzJOuENZ9ZHuKZ9*42LY6bXu!>3d z7~XGeNS{gf80HsN75i87^RGi3P7f`=o12)L!OqGn0EII-gWb)^?UJM7xxC#n;1B+R V&2$K-KHmTU002ovPDHLkV1ic4t4{y` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/enderman_helmet.png b/src/main/resources/assets/knightquest/textures/armor/enderman_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..f102c6e228d6ae82986843e9ab873bc9b744bbf6 GIT binary patch literal 1146 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/horn_helmet.png b/src/main/resources/assets/knightquest/textures/armor/horn_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..de58764e3a32b0ef7dbb5bca6263602ededc389e GIT binary patch literal 1031 zcmV+i1o-=jP)Px&!AV3xRA_A8ZfnjJwI2^&_bt&F?ak zd9%;=-n{pF20&3HdfIxBtjOp5R(!K)h8GHDr&VB; z0p}g34nQdbE_eo5asVMeLWbG0i=F|N0q}WP8;Tv9suBW`2oO``OWb1?I%NkDyv-pfcB1V_&hAUUWY0OX~Q0(+v|0}Jz7Au z?-wEwh^ZKriPbJBiXT8AM{iQjsNwM`!@WaaeiM@+dPqJGOYP`=!XqhXRI4C_$EOUx z?Rulhyt3MbrbdpgnO%bPU>Mfmpk8MpDdmyn>Ye3R0OST(KayZCL=NU=&K(7&9MIIr z;n~xNmIS9C+dH~3{dz1%ms$2$$yS%=aO?KnV>y!e{E=qHad0RJ9>@7Yv3*j`s6%Zn zz?G|5U7o|&^)-V$(9(h3ofKViO0LO8@Q2pNHtgr>cGwKa! z^*u2e!sACh01i69EWd*Gj&6EIk1p|OYUF4(<#S%oRRnfGV{THHgvC#i0cLvi{Gpe* zU4AeOi=>=UN!_<{4H#-`L3!Xl6h%T)BZqt3O$?8`p`)Tmcpe%+XU{MO`W~ROXP7#6 zP5hRlj|7bb$nEl@tA9jg7#6Ku18k&?kTyuj?<5>xrYHLZvV)R+GWt3;Bj3Y#Lrlfs zcKHo@$oE9Q*#VSLLJ1|5@IQlI8a5VrRT2^ydo>LJh<;fw*vspA2E7S7oZhpv7y5~}7LRn~Z0%=)5S{A^6&|Yt1aS@UE1*B!+jLj=P z>;NDM2~%Ncbb`*i`bShi`&V^uTY&Wa$EC=OG60Zdg{J;tXb$AQ-dqM)K8v$8RVrIk zMIRyewzab8>K{?{50)1db^u_V49G|_fps#7#YMW2yz3E&sTdX_xbV<8VBhIjT!g>Q z4gDIa^>DDy@S*hn#lN$%h_I)2cj*r@&mJ!`{sJf0ky@+lN4Wq1002ovPDHLkV1jUc B-{b%Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/husk_helmet.png b/src/main/resources/assets/knightquest/textures/armor/husk_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..760f0f4624c08b0afe3d2d5375276e97face2dfd GIT binary patch literal 1168 zcmV;B1aJF^P)Px(N=ZaPRA_(z-nCVX&+nVZvC=VC(99a9b!9O7{?$tYfxS*A#4^y4Lt7m2{-W#jI6vk?i5- zCb@~3)w-lgzAyRRbI$Ml`<>tK{_cr_6|guq7+#p^UzV4vs;2RT`9J4(U;0_Gl8sD4 zSVBD1hfrXj=Ww*eluYh44W- z712pA@5?8UUjmT?+#8!@{^5w2&5DDlbq1LpNw=h5T1C;ZWPZH;wO}pw6`hv1!ikC+ zUVD)MNX)T`uq<$96WR&Dg$ug^0iev-Dv(cqhE`{ACrG45fcNsGwB1s z>wO@5e&F@WdmH|G7oA4rp zn#_ke*)S`kootw;$$S`yG)4Vx7j}CnPDqb0u*9c5;%l&IXHGhOUl-_)eh0+<%n@7k iRE_}yPx(W=TXrRA_kyAEwD-G((i=ywO?bmNYI4PU12F8MVf(3COmyGYBggpRGyA{k$^ZYn&+~pf?|a_!R7DOfTp5)jfsu@wM%TpGM?bx7`!~D3Q00oTno#F5 z$ToOco0$A-Sv!<(ZCkgSH8SG$}@6Kz`1Wv0${OK5MnUSk9+0;ml^1}->dVlYqgin6$3Iq}TlvG1w?HH?l5q?Cug-u>2jYEy2559mS>FU2 zT@w?Nzbt#F@(I<#l~HMS)B!{fHjAwyF6tXQ0Fd=`WYUv;$a*9&Lg?~fN?WbD1&ywW z()z}{-4psQwMqlN5Z^rOj>l9-0weeZFYkW&Acpc1W=_m;Xy@OtPDWSWFL;>^*5Vb) z0I-^Fp|6}u(E)`ISr_|zl~-h@?eU>Fm$C&Qk(x56Z|q=p)Dd508C520 zT$An6Q(bFr0Z^oWwpgnXUoATy@K^w7wMA32eupb&=E~R@#1w6AxCODlC&|xvTub&Z zL)JqKW{m&XtIpUyb!Le_o}z_*Ymx3IzFM9oyGfRop8DyiGFemn$i8L&@+wBRmr`Gi z_^KoO-jdQCwQXxANc4&uzR=GD8xyBhB_V=n<9zr+KLCb}n>qHw@Ev!0wZ9fsd*9iv zm;e=F8tU|1oScnwJD;g$Xi7@ql5HC5^mlbD+~50ML4Ph6QA80%6j8)|3>Cmws9hSq zE&|Y8ZRGQp##4+A{XA4K?`m`XQ;K^_Fd!=I=7N5eT+$C+9z@^R!6zLD@Q6MDY{nYi zJAPcH?z_~gaJbeCp<7?m4Y2)@ZESd`fw7wxGuk~@;zSAy ztkc!vbDu;C3rwBuMG6b}1uyH(n+SN1qW<0%pvq%qha*wl*<|x7xI#s8`X^_?fX9N} z1bzF?;1Mf0*qPuyJXV3ta|XLzjk@*G61EydPM>WDV5@N*rz1+P(D3U&-rMSjxsKbg zfSXb^3h(Kg{Ic zY|qgxFk?lZl=7B)VK?>~=Ly*CHO#$H5sRPS+xKyP8gM z3R_HHBUefyfsuImTjs8wpXTcM=~WxVy+E$`w0CV`ciVglx4Uhg_O2~JtSIUiyf~eU zNk$fCga5Ms#2f&I@{)Y^eOX|6?JFShXHK+4??B(!fnRtd&iw~FMJe0De_kg50000< KMNUMnLSTZKB|g#s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/husk_helmet3.png b/src/main/resources/assets/knightquest/textures/armor/husk_helmet3.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8b3c578f420b81235fc3f2b7463d818f488460 GIT binary patch literal 1467 zcmV;s1w{IZP)Px)bxA})RA_#gH`+i+k8p!)J(9lxtiM92ZSnKqqXxk~}4uCAxY!l?ix z4~ls-JL@Eb9DvwBRQ=b7+W){y(%i?BqG<~ao=l-}1l$WOx)%SU< z9syHbNoVZyk)h21^yw3Wxv?Ixmj!k7s|fC9#FoD?nVzBH#3`!lpYjZ-E&3XhO`%uX zvxKeM*?J2s`+!ML(h(1&i3TPyOppYm#}6x9}^#-Tc&uZQML6ff=HSe-hr-# z2KnOQ08T7ZJfw-?lqnuwi;B}Wrf3^R7SZHT>~1zD=?)Y%2+$A%cvyoOBFvNt9&N54 zbmxt6=t4o!SpT{D^Us>^;(+Jp+%wS`_l$e=8sW0!<7V6vz3?PJ?^rrGAuNQGGaXogstb z{!?9$|K)dGx?Ju?H@eY{ZUCIWa2O2Cb#GJixDcg)0DXmKP!=r8BQ^g(~Llwvf*; z@^)JQjIlo#47&3P33pmahnXBXlG2X$sGX?VHIrCNDpFGVgBn09`eH4qxN1%#C8gsm zFC=WndNCPYQb;T?Ih7WA!>Xpan{DTo49selZPE_(ppmoo5JxP`*Xn{ zWoB_^@jleSBT=?iax-mum&t&M(H@`AhmD1kpIBABy8;;9mmR%^IFe-5X z+1VoEfeI_x7P!|?W=z)Jl^a|-=`grrcQd%aB4|G7O-;Kjl6Nwi{Mc~vTpn^FTAkN> zgT*cn5ZEVtl+Zdpsmxya3X}G4@!^(b-6nDJ+sGFWYyS(lYEJvLvaC28J>-9X3xN2T z2xDQrxmn{@$d3)jE{o(uL}HgQoKKMy@?4$kus^KRzX4hwtd`-0#En^kt7fLb{R3UI Vks?wfob~_!002ovPDHLkV1n@4!3zKY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/nether_helmet.png b/src/main/resources/assets/knightquest/textures/armor/nether_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..1c18766c3e83773203004b76bbe0f6cf3f9717d5 GIT binary patch literal 1068 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/pirate2_helmet.png b/src/main/resources/assets/knightquest/textures/armor/pirate2_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..bdeb6a041776279b4e9e12362ffe35687505689a GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQjEnx?oJHr&dIz4a`t++P zo})&wGG2(o!37BZd#+&OA3_Xv97&hE3XJmM}H1*pJ+c$3(|9P~b zkiTAere-5c>+VH0!D*{_89d7OX1%+&^V;E4_dauSomu@SYU+%I`<|z}IIgfgZ~pk^ zolW*veZMY08P5FkrN$x!6aEwDdH1(>K*5Xby9{1hmT4NYi@yRr!rPx%oJmAMRA_ZOx(kWQUF zg{SUaBj|%g=~5ttAKO9~O*Vp^WyTgU=!+NWt@v__X6lM4VuUT1vy2mJ*9E7r6|lw!awYK?Xg z{7~}+a3-(nX0yXV!_+*h;vfX7KT;c5$$Q6sIW`42ERIb9!a<|t*e^9-fS6n$TE7FB ziCf7>>v#T-O%QgEyfVk2U!-#9{P5UB$$<52x}?7PcKJXPczQO9QVh5@ws6p}yB?DZ z_BVi)wDZ~;m-A4H0hgCEUMU8Seg({L)sZCc(vmv#>rLiymua?j=h%6z>QY$`lR(LM zRhN#w0O6nk_C!58*xiG@9R#zB`}NoxUjr+kRQCWoAyu!lC1=OIRP#uZ=jLwwBfUUB z<~`|Lr}?e@>2nT%GpD=kcuTXmb$goiT!!b5AGq{VF;1-#A2xmZB^a=ne611I)aP`JG7kb8d zGW!OAyHn!~k4^9{nc~}*tjloq*G~X?Lj!=BY$j`ZTfa{3-G63y3gT-;c>Sz7bjVRY zjK&Qxn>eW{hAc-3rd}p08s@jY0@%p|OwT-IaruRPuM}!}1vR}wit_#`5`@q9{SgL7 zs-#yPO;cD}m;+!5xHve%(!v~>-Bk@R|7w=aT=uX0pFkiG2m}IwKp+qZ1cKwoZ;8Ml UfC#_3?f?J)07*qoM6N<$f~hxJ@c;k- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/pirate_helmet.png b/src/main/resources/assets/knightquest/textures/armor/pirate_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..bb200f8fcbf70727867c5b3c90092467edf9a9d1 GIT binary patch literal 953 zcmV;q14jIbP)Px&b4f%&RA_=?HA`dZ#zqJ2pm_2aArT#9?}bH#hX^s~ z6c!?$q!NlQ1$&7kq(BNhg%WrWT~J}i9CsC6%5~V??xeG{_=K=iF z@q#;`jjYqucfyht&m1B-J-^_80lkgdP5bAT!I*!+9^aR}En#>#5>7g*D@~DbP?OMgH*zkJ+0A_O~X5PKZ+Gr8h9M>HVbYp<~`6B>gAiQ+Vg_RXXHNN5Z zVrlM+p#TVo|L64t0iYsDW(O?}4@Zh|B8|)#1S8>H0KoDpE9*FpRgD<|8?O)}c*3HV zSwf4$9@lg3zBE)z7ZS|LW`PeyQ>sJ>R8=*o8WOB;GwmJ=o(6M8y3GTr<+C12_6^WW z-^s|-k^1ke!LkDiZ9t(>vJTMd59BhZbRAGbrrn^F2Foa;gfKcjDNIc-2&3bZx;g$J zbBY>z#!pQz2<=XX(9zW+v^yQb)bv8mb0jAn#Fo6@1UtHVgx!r5+!}nM(vLj24%*hB z>f^a?KE}N}R|!BodH2MSYMk>2F!=C=ipM=MB=`R=yY7Of88}+imF)5=3yx#)-aVH8 zt8ly1A!vQ;0|46A008nPm5zEgavR4^wE++}4?y#qA#H1r9bm1cRD2So^}#(p{|?Zr z;-s{tG+NosmAbe}Og0e$gbk(5zF*NCP`A`7x2eQuXd?*Uv&R3OA bc}MsINUg)F{KYy800000NkvXXu0mjfggdl1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/polar_helmet.png b/src/main/resources/assets/knightquest/textures/armor/polar_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcf6a16097ff0883b427c744e6110e4b11642ed GIT binary patch literal 1038 zcmV+p1o8WcP)Px&$Vo&&RA_l>T z^X8kk@6CKWGcPrPfj}@MuB|M?;qybO-Q4=da$#Z-)R3525;NHx1R*E0+wB~@ZVr** zUS0mpEP`6{4xb;J3n@L%XCjl`P26th_U+RH<^-rEzqYchI{+30AxBqR3MExkgN9eY z{M%QU2XJO!w9IY<8eRcs21XSXV7GG+gd7%iEZ-O#s+C=RF>)EMRH!9*?!` zo-p7B~Q`=0DKCJ6%1n+c~7>5&%%_OfoK0 zz~t?VvPAFRp8^0pdN2t9AY!#j@zec>otN>;mc^$F^}2P`h6_AO>&52r-{vdu7_ zct_O$?7jwfZk(^aAPNLSqNVMKsI?s#8?T68I<9nl)qxuYBa*0Od>|N-jjwn9hJ!T; zdi}>9PKzUB7HAApQ6O@6(Qr+qAFAyETrGQHLrHQ7KacUz9(DEv2t z`1ckrTiemT`VqsfZXDj&VaDONI5qKf{iePj-rN}$0l?XN902fn=?ehhTx>@1d20Nj zu7GH5Z3X}ozyG3RWe#y->)5Vi0c9@QSF1BCpEP)Px&HAzH4RA_KorNnazqJ*f^iO~hzuflIGQd^3?`tZaiB{fbk~rAx2&DA zb@6}TEszXeODP0Oi`_}!8bZ1>!9y?}ioroOf-V^pUkCf-lPp<^f7Eg6515nho!-57 zdiU;hk`RJ=Sz&T@6>_=hs<*QW>`V)dXWLj`Q&9ia3@W9tKBAI3t~0sZM6IYzOs5>$ zz{hz2y*ee#`AOM1HDX~6MCa|S0z0d?WW$_aUsL>4-YY^QfWt$+i{cE-gO7kP{+kHk zbH0DwW!e!SCgGb*3wCA+6b2KL@K^~kGy=SH-kTGq9Rc1XELT_iw)C#YA$$NbE!QA8 z^}Q!B?Fb0#e_Uj~wq6@L03b$o0RZuX!$=);zJ5Tex(ch12YCuuW(f&Z#UrhVRM$u+ zgw5Is0D#ba3=3hZ_e0!^ooPWX_y3DiWR(4ZM0JB*8#-dvpRPmkCyp?w6#>98+zX-m zj=W=*0KlausTE;o6Ag2h@T$0+;ln5WgWBRyTKA^zuy4>CpyjA32^nXE9{j) z4<{rcH_I`O`9oJdvxX!3JJZ5){&u3@?fwN4e}x=I{NNB)As?!&W0ufvH0Ejm zWB{)7Jz(%#z)hwFQr;h^7a8|#ZdS;E`&1VIV7MD4s^4&J>i@)shKag$*O RLUsTE002ovPDHLkV1l|3mN5VT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/shield_helmet.png b/src/main/resources/assets/knightquest/textures/armor/shield_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..d5955dfc49cc8055249f9b921fc27c54fe2ecc27 GIT binary patch literal 1117 zcmV-j1fu(iP)Px(7fD1xRA_X{mcCnK0%gy=S-#Izw{LVS|{Emq{P(A%35}3muis{yERx@=CduTlKUOo|~d>cv$ zCEtcfU=BzaobBCqMqUT_L$TCpYhe@>+YviTtw5uZ6+4OBh-ItNXJqX4)&nk2uF(IfZB$Vv7QS^I?h zV}k-8OM$v=DEEV0G>bU+H|j>NaI%?ZRiY`2uE=zHyM5Iv}^uQEX60~T)uWo z$3GE{>i$DIIvZ3^zxe+1pRifYy8lY)_th1e>uZ?^M^QcfB9|j`LD4ELe^*yk;O=Nj zt>w#go7Jo{P%AUtc==8mk`2Q{Hw!kRn7!#RtO4$hCLDbOMF|?|>E;WsZ_|q8f>Fe1 z9r`#>0II7hQUa^1DmE?5NREsiZ4^{jRnS~ti_L20{@9?n;~m$@ar6zCuB#DVYplc3 zH(&x7ybUgUt5|uofmijJ0KBRXm%UY7S0ez7^mGfYoP*9I0NnA88y4|{&Las2xI3Cs zMNk|1#Uh&=o7Jq#Wo=4HK^kCW0sF9v-A@3oe|6*uws1xC+OxaBp!5#UO z%!gu(eWl}s?pcU@NSvUy&qKgb?E1B79~)K<~*A?>>Er z_s?I*pzj{uPv@l-#wJhbI=6tbrjD9;4b7j|0`%Ok)GwnYH;HDuCjyEYJQ&tjYW=eCy%G6nu?P$E$wWQgx; zQ24~NK+DTDwC~zr!Ed4F)LTpk)-z~;(T}Qe9RG&BOBUXECgGrwp_c&I`So3V!8oq( zjxsf0$<9xI<&R*T@T;Gw2LHnu2*U8{8XwG8=A;4k z`z?GKcnW}bu+W=aKNgJRe>lU`d?mfBYgy?h1!rT6ZdM>?3W{my94C{*&&bdmnBOc) z@a&=2In$NkpAF1GVDw*6_(?(Whhn;`A$_r{lXU)zU7dXV z?Py|;*`DNCGo()w;)g9ZP@cRTg2eVf+0n$*dj#~O}PHv0UT`+wo00000NkvXXu0mjftYIGM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/shinobi_helmet.png b/src/main/resources/assets/knightquest/textures/armor/shinobi_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..2771347d258004b5d7a32265e98c18fd10c18dd4 GIT binary patch literal 1229 zcmV;;1Ty=HP)Px(heo7LiIrW!T6X0xoWqIPg~O$h3u5oYw((*%Nr#lza_vmemtw z1zWk@aLgv3ioT=TJNZnvQ5rW>nX^I*xGDCdPXRd zizZf7Sy$b=)Lv-^pxN(b?WZ6;m%bnna56kH20-Yy5fYv^0XXGuXYJN~g3(`7hO1JS zM%$$#d+8~lIG?%Ci=x2NlYbFKfj>sSqp7I{kR1nzO#DnD7A3Jb#nRgsX~L0aBbr!A z3qrPMTjLw+Sry_NlP~C2;TSoe=#by+`g$CIlN}#&>ziv_`TPcl4_ETnogZmFeUaq_ zdF2Vy_rc!|ODP-4?G1HR)m0tM`fTg5I#<@oJ&7(9`rw zA6tYUzSWFG@cP?zsjS%6rdQ^;C07l|wK}v^+utZi&xlH!Lnk{@?c$yHFB=BIh>t$` zN{UR}<7wRZg;m;)7|J)3Pjd$V%w#he%O8MBo5Rp(zA>|`#-c?9AfF%E*z-Q1uc1u>7+ii}DMVf@z5RpIh0abQ z(*gkfy&sg;dB6mlMahfhLT4v|fZX5&0#5pS&DneXF|^kPPg4oNSb_3l`DJtzkW)ZO z12b3$hHgtr9t{lLmM(X9Fg!ArH@6gBf8((gQNZo?8qP}@YxaBTey=^JA68LJMNt$5hDUO#r=#@c zT0+S(&f9jGJ?E1=cjT?Cuc1wPv}0@|pZ?5jSnc=#BGX<(QDFRT5YBe#?ByCW!m30U zVEk^78CPK+K-$1*IboFuCCdm+*_l1(d;Z!t2#XZ}3>Kgt7I$fNZxI$N2t6EEb(i9c ze6I@!EeOszLELPAp_qQ$|wfb7T<^Re01AVG2pEE$-oX=$64n&m3M3kP_O%w64nRDyl_^oLw9YGz=hBB-c@S>XDb(c@@h4S#uVJms#ZL00000NkvXXu0mjfE7MIP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/silver_helmet.png b/src/main/resources/assets/knightquest/textures/armor/silver_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..28f2b10372361e8eebd3ef7e6f207a6ce819ba99 GIT binary patch literal 1057 zcmV++1m63JP)Px&+et)0RA_6 zN{A0WxGoqIh$)1YLW&yNM28YulAB40izsUf5<Xr6}w!k(9a(B01QUT!Jr? zgEEs{uauQkS8{EA7ma52y?O7=``I_^fDQC}4~eFgq3T7`{GitZNpj(^mwzt(=H_FE z-5&KqN#sZ}l|n2!w{1K*y9cT%51{JY{}HwZpo$K9J(l_1V1%xA3(#(K4A5=?+6~(r zFzEHvjQ6d1;lGBe7f~qXx0R=@2S}2us-mgt&z*vMDiM>bAXDDw;a>4uhfx2tDrj?nT&0ze* zX%ZNVV18zT?a5K)AKWjQ9=>vE!It5|+_Q1;-BSR-_*4X~oK`ZGLZOsrYX!G}wKX4r zpoM2N7AKh%1=CZrCJ%d~|JA3XSxisO5+jYO7jb>@GTuM+kx99Fz!`<6W2akagolZC z>zKxE^)+i~Q7<`v{$q@chMBi$S{Xpam_`_RH{%^ub3ik3R*R-u=-91o^~QRz@t4*x z4NylFXeEvh$Yecr6L|3@INgHjoj)3j6Pl9>r96IIy2{q%V*vsHJ%u|sJ|L6y-E7@q zU^2iT*;}UHMzAnu{Jgr1?5&JN!JgM7 zr~tCR|58(VQSe#3jspOvTWHGdo(Gyoc>YwIa(l`EU4D6zWPV$Mrj=XX-|qx)e{cMW<>YNhk_$g5Kebz)mZR%nPd~z; zVK#B)tIyjgP8-nI-Aj~2jznW|;+H4)Tn^y+4-F$68pg$QpW>YlKWO@6hp|C1UQ8I< z)}07PUw1FLb|Vc{FS0wp$lGt$Ei~<{zW(w8G_8zeD#aR~P%zl=yYOsdJ$iIat7CKq?=+yPo9E~cY4d&wQutkru^B@zS|Wa bJR89iLcPZ=wz-9}00000NkvXXu0mjf;1cs_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/silver_main.png b/src/main/resources/assets/knightquest/textures/armor/silver_main.png new file mode 100644 index 0000000000000000000000000000000000000000..ea32fa9a690799837154415a3c43a421c86eb12a GIT binary patch literal 1324 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 V{P+u63BdpW002ovPDHLkV1n6hWo7^X literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/skulk2_helmet.png b/src/main/resources/assets/knightquest/textures/armor/skulk2_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf84d693fdb25faf498893ea961688388a70c89 GIT binary patch literal 1424 zcmV;B1#kL^P)Px)N=ZaPRA_XaEENg@W=O(d5@X;2-IVxWF+LDN zc+f>nfVdbmgoL>#(S#6zI8D^}VgghiNRU5n34|H`tuU!DkwM4Sk*(}cyS6_cF86L_ zb=}a7jqIB=_uO-SJw50A&N;t7mB@f|fnUV!a0~T;FfWxYM5jxA3NFRXBHx-!Dx^#U z9wscA2HXy}aPUC0M*B49!@&p#gAvLr#@f8Ghbhy5`al=}rPzr}aZ~D3P>P)?vdN5$ z0eI9g;sAt$5u^UY!N^$JG_DwN0MeDfqkxP7DD^21B%3VA7yy^zro3V{fKdVf&641hnp-pH~P%aK6!R3~lYW$^E(j@o%d| zsZU{5*@lO@PmpAfSD2rkNBr0sjbXD5NUc@?OePEVgS&~AZvrsrWHN5Zr8icQs6Bv) z#W0mEMw|+O)rwp=llbF>e6XT~wJV-9f>iVQw`3K}puMgxB>*StYel%d2St_1%~1j9 z?!LparR${gjeeoiC+cg3)nW#qKb}DU&NHR&jw+y%`s!*SJ*Lw0S0~AnX9t3C&-oFf zzaJ5cr7F+PMqV3xK@oc8X@^ z18}3Q6^EoX-j>dG0PeboZlQeoo^ZI_LiTtCkn(X>RSG3=TquF#!dX>0M6T<}e))MrpX~99X>)u+ zF7gP6%PmgS*NV^f>=X`{TR5vK#k4s-G1!)3wMdkCyyC-+Z;Jcv%!Hl$szsT{D~i>k zQGHjEJzgQYyHlCj*=aMtSyc%@WXBgnWU|LgIz1+ng=DmsEuU;m=>gT-_h7O+IP$~C zghJZJYHh_PX>bX=_2T9cP3g{k)rQks*Kd)2KCoK=6clJ>6ADG>6{(vyhvcN7z=>rv zsh-Yp9hvlO+qji&Y52Nv*V|JkuA?i8?ueqwSS@CjEnO$UK%>;1())uBy&OUz?OoS@ z`?OZ(uBD5arA7#aMsOM&YYf-4^o9p2iYgm?-T8r_bpaSXVC(uV!)MN(A0FJ`DNJDs zQ<%ad1Y@~4TDM=A;;?$n`vAnc@1`szU)I)$j=ltWS!RCx=@@l>|AfBn9Vv|a05vzC z(6 zV({)i&*!XuRwP^60Ejj>56Ps72FsPdyNs7Bw=~*jx6&94Grt%b0%s{vnwnbp^QyLKj`t_HbnYVa7A@e?xru&ZW=w5w*QLeY9>(l`%bIdwWfPqYsJ*`7sDG)C9yfbrCkr{>eq-kMS2WXk}_ zQ8-Ij>{$TBqkTADSWfSuIxO}q;?X`fy#3CwJ)q+C?Eu)9FC^A*8C%I*VhxuOecHu` zlx4&0$Rg3(huM)ur19c}>ItUo=jMZK1KEaU#&r6RG-wi8yBll>oFyEL7=MU_gAs#g zO`1t`b^sVo4|YD$*0PCufl$qBvq4(zX2{mK?HzZs3G-1xk1GE`4=j5e4 eC;Bq>U-1u4`f&}it%2Px)R!KxbRA_YLZ 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 Td?q)J00000NkvXXu0mjfNJ~kZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/spider_helmet.png b/src/main/resources/assets/knightquest/textures/armor/spider_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..25d5488c83d8aa6dc373af93d6df89a056a868ad GIT binary patch literal 749 zcmVPx%r%6OXRA_`_JgLZP5l`$s)#uBIS@hqJ)T$r=^80h3en zPJDHdpg+vo(hQr)?UIu-i~w*o0v9y7KZ5=+=}eMb-j;JB?M3kJv5++~G6QDcyWJ{l&d^r@a`TuL+Gv*&-O|>vi0lAh=3*U(i%; z(jC0}?w`N&Zds$Ei9UZmxS&5Q1B|aO%K2DyRDQ>zqrgdKRI;xmfBy7AUEc}KmbHud z`2zrsy-zN0qjz}7rc4+a2RIo6>rso?t558={Fd`~N5)xOngNiun&&3p_cCzrK0uLw zphR9zn#9RC_CBFjohOkygj)5o%CR{gFWOql%G|ah&~zq=+kY-^lgryuei>+nv&AK_ zS!<>y-sO?biU%0epVk{spN42DN~-jbsB7Bc#LT%(#ZnLA9rL1)QWh5FTH=O0gOC+>||3WJ)wb; zf-4H9uo3g|)kTDj+m9&HLheTR*ShsC2jJK7(O)gR8rR#}Ytr+yU&B5s@FRC9yFs9@ z*RhWZC7UVQbD*!c=(Q?z-R-+u?{b9iN@&8_-oar_3$7KPx2q<-at|(rLZMJ76bgkx fp-?CkivP(UQO!%tGPx&uSrBfRA_{ag=R2W;%)&it(y)8Q<{nf0-=yfB2ashtq^3v5vK{V$?4GI4t*KacR5L?(~0OJ zx%F={?|q;A-S^)2-FyF2Xk%q{Qy9ix`!E2yK7(QGQK^<(=i{*?t1HWj>*R={whwqc zAV8&B;^l5W(4gKY9SO)kzTegO)qa%^qcP07g%%FA%$aqI>A}YrI2{RCICs%=i_1A@ z63n_4V2Ht@$eRE4-fce5EOYPfx1J7}>`mKN*Jtc;!`QQXghbb8xN-fegX%L1 zHN%%fp=MC18CZ=YGJ%Hneoz5Ei+#)|v5)w(`ho|IXPyq9Ms(ZuzrYy4>-ZVIds5_e z{7g@Wer%5es-IV1H>7X-(b%k8SdAm5-{H4UIN^lj$$T;)rnE`XK0c*Qiuq)sV|>`0 zoCJp*z_9t>CqM;Qno9|Q_3fgvG?xmR!H0b{?$fqAINxvf%J znbIbO9*wY7DhH}3C@ZU*;)6%u1MqN6StSrdI*1#t{HoxOuMkBYXdmy9+c|X=yGc`h3a6gn+yT-iefg>=7k@(whdT6xUOOOj?G|n& zu)S;|mO!tCd}mQqk48EarDT3rCT>=9+2!$rb(ZV6LaEL_e zf@_1yZLBGY)CJp4mYwWBl7({@G3yq_ehsT}WS4+hw_5s>JiE9d=lmpLWIkG~tZoWu zuDB$(v8G(Vaa+iSyO_=b%?9k}HNBY5`g;qE0^PnKRjMVs3HGaA`LQ3F1a!l>jpg5d jj>lW2vN8`nuitL~)@T{vAQKY600000NkvXXu0mjf{d)6Y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/squire_helmet.png b/src/main/resources/assets/knightquest/textures/armor/squire_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..c04825449a3be49ea6662c1b2fce7d165b15eebd GIT binary patch literal 1107 zcmV-Z1g!gsP)Px(4M{{nRA_R4_zIa!B5N2^c2}Nhu z!B%h-p)aLK7`VkML-4^$8B8fzMBE5W!MeUEY?>{JYtltVNSVW@rA>&}hj4Dsy}iwC znzT*JzAyLW{LY`>?|Xme`@1I&Y!JV3M@wb0Gm=)ah8Yo?{c*FnC0{F zzyCPw_Sh_hFJmKbwrowO-GEf47Pz8#Ep7FJKiYeY$G2~_%GYgyEdlv_R)5@uL;(KG?iGGLEqfUO1y@e^Wbw(a!{uqB|U+e^JNxZPDCe&dcN z+J1i*sZ5qgbWZPUwj?@4ZN2q#8~~pu0ANu5dIXs5i@78Kp`dE81Ns<|RXyEa)Yo6x zFo4X`vIdY&7uKzDJRHXF?*gFv#Uq;{ArhU_2Gs$>c&7-y_$X%>Tnj`sY$`+U%jdIt z;9{K`p{l_yY>RG>PISHCqti1eir280*yoEcllVLV7IR55OUv43Nr+C*7=Altr$xKd z?I9FY^**bQAQ_6{H3TTHX%61JpA{m}InC^7J)AxN5hG(4wP@sA!^go=142QSPdc|UQB4NWa*huiZsrIRbADf!LVHId3_*U2ZlS5~inD`V}6T6YqrvQk> z=k?<$G~oT9YN=CZ$XX@f1n6{o^mEzi_5fSU0IPLm{g7=wPXI;nl37~TV)1!{Q;n9k zAHMwxs2v}qf~@8;DZ)AN zX6&j%J($;t#f|;umlKPFEz{)>4r`D8tkqk0UxCnfZi9Wk_*cvB=DPvgyMPE@Zl_nD zkY0VVeO~P#Yzau_4_UVN3!1(S?sYsPV7DFEZP*eJP*yG5`vtZHxcds0?fn9WsPkrp z4=Ag+`wGZ5t3LC1SSy$Az5)k7f7;gH369*WKJD5A7scv&KR@(8MYeT5r}5THB|b|Z zUN=_QlKDg2E7ub1<%9q6#?rmECctSG{A*u-!_7p3%IQ<|rVIR?NC40q4pZ@WQJ$XR zcsR^Y@4lnYDOMd^d*IUB0F>KbWA)qM0xNoFIgwy7mn1qpWBey4xArg0%>?`|&FQCO z2i z)s{N7lW>MyRVZ~ZRa)6n8uzm{S0_Re!FGpps#M{E3nIr%^4IcwbIq? Z!T)o`tBhc~LOK8d002ovPDHLkV1g@I9UlMy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/strawhat_helmet.png b/src/main/resources/assets/knightquest/textures/armor/strawhat_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..4610f770a4bf9bc0cb715785f851b60c97d37ebb GIT binary patch literal 1691 zcmcIl`#%%<8~@BQ%p4-$P^TzyN=OIgFmqXBLWM=;vS@tWmR#qy&5>^{j>vJVP|3C9 za>N{#Rq~BU<1jIEJ1$$YEQV>5v(Eo;p4aPn-tQlt*Ykd!=k>f^5ACeGlL}l14ggTW zI-@;gNd4xDFj;(Md$~^rkQfgq2T=cR?*{;2I4s)Ui*#SWy&9oG*sCDCN`u?;Zw(zf zVNKU`Y|V{T_WZp|YY$D%{_~kYk$f?BO54y>4Jv1vdfC7f@e-Yfbyd_CJ1C;{?9DJW zukpUL@$U+Vetjl0XXxKIQVmK?+pUxQmWdO{*1>g2;%e-MZy8c3{gl9pp)8~)-*xO@ zxy{mMkry4ScNTl;{J$4J=jJW&W}H%5>44y0i@lQG3F0w99FB$Y#UFec zGJanBhlZFh?0T!oOUw8~&2v5SOVlN!Ny(h`e{1EYZBoce6TmWJ>?AMV0{61(ahTM` ztmeQplR>CDdYsBd;Sr-Alu?)3ifsDDY5cBIgyB|2^&ofm4 z5-OIe%UO_jgh_>)hu&-Jo}DdY(_OqRW2i*n$Dr&0()hnTK~z3OCJEu5mL%aJ=_bj( z{^+9*ZTw)tdEL#j)Rx;1WVDX#;5HHtE^#Ql@`g`qDC^+C zH|nj0x$2w0>8jJW+BG}3~a1K!KxK7ulAC|4KETEHwfdO;l+$_sG@0|ulb6+kB{T*P z2yu!tjaMQH3G${yJ`^DQT`tF(%iBeq9gr5Yk4$&H2^ehp>G}zOe+3{WZJ*1^u564Z z^u#HcJQ79e0&C<@4BTBi-T6>sbI$eS3h!>WMB7`ny z{?)aEcKKK2K-T=cj7PFZB8znP9cSaBqZFU3S63yas%5Gq*)s6LPUnFCc)oHRZQWAC zd}-49&=)wh?kLM`s(a$q`J-KGOvzzI7wzHBt&T_f8l%#=d%Rmarqb$;HO)S?;;ki zC>LfQkQMqp?4u=Ui*3-?c#US&*Lx_HjV-E1-7I>`KJgy6v?L+VU}0(&c^e0yImJSt zW|ha&A4o2Bl{?)J&ac9P!Ez!U-m^cYiZ+u{w;fuUm}oF?_@Gb!9uizwY6v+?>e_AH zp2?nH&cjwD!iyA2xuHW>VOD-{6YlvX7u~|N$(5r}pNS7f^xN!&BFHmC8z370<9ur> zL;~JW_E9w)mX%bgoNNg3TGX|7*ELr}iQNPMh)f#zQ1ACAu3{$rx%&xRq~^)nQ~ zTM_ZH_QhYZ6&X@qW&SnLwgE#Um|PUN@U8==UrTueLvcrLJ*{&09${n{vP5G{y(`{V zalGNmYWl*T303P{DYGdybgou_>aCxweOKdlF0#L3*`bj;z%!RPAn&c6ZZm{tH%pXG>MW(sq4V5KtofHUN9d9bNB$|M_nxjYKj4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/tengu_helmet.png b/src/main/resources/assets/knightquest/textures/armor/tengu_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..60c1f759825b4172e3e3b93a150d912d774c8f01 GIT binary patch literal 612 zcmV-q0-ODbP)Px%9!W$&RA_E!0@AapCiDNaHr z2`?Z$ve!cz4^BO^N$;-ih^KR^7gq1Nb zhij7ut`Vmox<>|#I#L1l?%fodtr&%D4>(}Ik+Fnumw=Y&qj#cci9WN4KP#DBF@Qa`;D1+Z+`IJE?}D>VSb#0>x@YmcPIk6T{>xcu&|AMyFl*vhkMvAl7_ z%+xrh?Y;jt;Mk}x5_$Rq z;mZ$!mQ7?{D~tHVRl1*lVA=QzVWk9yCS;n@bksQ-oCB z)vG>-b~csqR0)9bF5n~^!rJp? zczz3~inxVUZ@i~0*FQ65p?o&W#jU_-OT@+fPFLg5i3)rzQm)+={ yXlT|6jtr3X_kXLwjAK=Jp4I{ig+igYsQd*rw8EA=*jm#70000Px(;z>k7RA_ff?)~moQ1DbGQIFaq_H~uZZjsV?IpmHp5 zlzQh5bxo^qJ~y4w4NheeKmaHhUbr`gRxb1u0;-=cWGRPB4fJYIjbMek`*inKK<9jJ zIzyeqg|E@r_+m(sj3mh`#)!7j{8G9$1BN8%YYgz|C-0eTXJZ^X;!`d!z3V4Vo@JoF zYoqP0I!cmYB}BHB*uE4>2A~q>wi4TeF_&4Pz}(`!6f9oJfu=Y}MtZb|D6P!x@*+tx zlT(kBaAZ`ccde(r_RyfBy+0N>3P3nAs#YMk%S*7eLy;tzV}YZE0QedMY8e#dr*-bo z5uZ{?y*JV$f*?uqiZZA*PCS{lR0n}#J>iJHzxd&VBVZco`S)v;>AQ9S9Q$YRee2N4 zM{|EZvpT*JFx?3X=e6zR+*6WsPdCo0X9&{(B(mEL+b;^%eHz^AFg*HLe$&4|VtHc9np-`|IgV z;C6XQWfDwIJyI$Og4M|RH@^Oc;b@eFGpA@s&hRiA1)#z2XTf7 zTeNWXzD;cduoQ@Na>8)&&PzRNJJ{Nx0E~?c@z28~>A(Kg8Py&dREj@lltar$9}{ft zP(tnJ$_7EL0&!;5-*7ZaDw818-A7MvCu1W+jExM@)7wd?yN^^R!EiLHn^O+ysjQm% zrO@Q}mz1@K29<&SE%hUc)s)^vQtv8A`@h%w8RAkh^&L$5Ea zER*22|G4IL;%#sPkQh&?Bq*+5-1u%&_XF08`326~fPBrGl?dlA<`;DR;XG{1<<$Gk eQoH!NnfMt0000Px%y-7qtRA_O%%3)7>_%~MZziZ_;wg3R5XHOwJzXaVdA%#T%!0S&RIdmX`-LZ|g`?_HQfYWv= z+|#Kk3jpSFW!FS1Ap@v+1L+wzpFHm}Cs6*91KD0LR3Hl$?rr8>G5PHDs8#;SA-k_RdK#JTD6;!n zL!Sjp@AsL&(~P%`Qp9S*0!6Gs7A%)e9!^l(Om`HS?x?etrE8}56P{*#D?e=OydEG4 zOV>>AH+*Ghn^Ql$=jvNoV86{2u?kz~^#EnTf_)z^8D;_}8`;Bnx^0fwE&rDna0A%NvsEf$?wa_toO!v57olVaG zhTd;@0GLdVAT~DW4CXhsT$Q5O*dQj;Bh>l--2=Gsq2!^y-G2<6pc?gni0OjKBO4p= zdpx$%!;|{9no~egpWI+W_Bie`Npw002ovPDHLkV1k5e BY7_tf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/veteran_main.png b/src/main/resources/assets/knightquest/textures/armor/veteran_main.png new file mode 100644 index 0000000000000000000000000000000000000000..c61799bf6699e71a66174deff2b04dffeb5c8598 GIT binary patch literal 866 zcmV-o1D*VdP)xQE5|G8pV( z5jcop3>G#C_Akh-#teMQS{krW`nR(j7Qy#FqU-$G6AG%$6eo1N3%`h+; zDdC#s{D?)kL$@cr4W4ud4$7Rz1AswbEd&5C(9L@_-b1x_Bok1lpb)~QD3%RAFT7p% z$+E?-jXyv*oE)r9r^gLTCxXGKpqq5u7oAW!CTB=vgC0gBg@(Gb`<`GGeFFGHRGZyN z0N}&B*<^g@PtNm2{+`TOG_i|tI0TmS3-Mr3FZ}xZQHTZrj^upLW_OZXH+xZCeFm@G z@3GGMv9vf3-$$?L`-WQEiHflzQ~&)(2vzJV0t#iCUZbS}0Iy#@+qduh&X7-6^dxAr zJBd!G7sWMN8f_hB(RQU`tnklFiS#?mD+nl*7#JLbMoUAZr7 z7#$hUtNZUIV6!{PmdBMA>+EPjJf1*2o`843omMy0+Ad6jim?I!CZ=5?z2b5UenmJ; zPdx(pom}(N5l(PGKD-NVco*{PisFE6LlXiDr7)m)JOQ=30!AYRv&n+j39-i`gChOT@(O^Yb7YkiWR(;&S{i1PB_;Fc#y~e0vy@A|)I+azwv^bAggcBSP14NF>1G2K-heKJnzf|~KWViJm?>1O$j@khw|0tZ914?ceI1YFRKuaUA7AnXE sNlpHVDtQN_zUjpxT)|5KC~Ud>1;EHlqO*;H-T(jq07*qoM6N<$g1NGRbpQYW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/warlord_helmet.png b/src/main/resources/assets/knightquest/textures/armor/warlord_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa2e32862a5a45545434df9fa6ad1c8106abc40 GIT binary patch literal 1092 zcmV-K1iSl*P)Px&{z*hZRA_RBc=icn%COo?6930O;%(!foonX?2sg>Ho| zTHK|foeCvWmkw>GLIxMIgvK6QctdB zsdDlM!IQrCKEC(e|NX!3ogCQU@|A0PUP+^Cs^xcw6u=)0^V5&t+qrPqP3R|_b`$bS z8Zb88&Nj%fO@OYc=F@IOD^?65Y!i@C3ZN94Hk(ljM;25sVVi)7;CM?0I3$Aso29KI z3$7O!>URMBhAjhx__Y!|!?xb_pn3^g1_PLF48p!x1iDxn`*d8Kr>abuo74teB%eO0QYwH2VJft9W1g1V=O`>&0w}kUK!& z%{Ng0e8I+^5$M>NvjCO~P}71rVZ*kp_Ppeu|WiRln%EQ!3WEUjso5I zE!T2cD=CweA2^O#>FQuODugHV{ZNq4(MD^ zMAOshx$Oken9S#Dp3g@9wmiWvc80hf@B_5%6{0a&2W;01yJxe?1>7XwdSTja?*h@7 zY*J}593iiyiN<8WpzyD2hr0_DvngCxXDHoVwLC%B)ftL6S8dk z05HW)y#AVvOi|j_EL1)WDhpY(as}=A4$_Gca!;R8S;+D@_vBw|y|7mne0uKbGo%wE zXwP>{pI~T_@GtwS0Ni?6w|8^|W+PK(*}M14ZBuX_=bjv5+a~_k?+lMUY_p%fG^wv; z3`I}u4kPO4altG9M(A|{`W-;O@j3zh4xrz7IG|p`8TZdL zb%L_TXc;3D6~KD!6?gJ>7_>g2B?A(>!^oa0MgtT;G(y65obV5o^GAtug!}UV0000< KMNUMnLSTYR;{`?l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/witch_helmet.png b/src/main/resources/assets/knightquest/textures/armor/witch_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ccf0152b167c35ee57fd6046b882cbdb4328f3 GIT binary patch literal 766 zcmVPx%xJg7oRA_vG)x$ve$){=Bj2xW9UaGxjoOKipN-; zuhw@KE=&Z}qC60-Xa_#$UCsL^1Sk(gSy)}G$n}S#Bc>Y>E<_4AA#)yJVRcQhMuiMF z6}l;IfoetY>f*P$*1s?*(5R|!MWOyLTo-#|UHmXENyjd0KLI=)_dNo{;f#IRQ7XsM zxex%iIttS9(`Z+U$7_GuX_M}KgC;40#=c6*C`gOVgxtA$Ie@ z<8dn~qg+K$JHAJNa9$@&I%g6K*@eg!0!%JV6NyhL00$e-&6oF{f#jCU76Rxfq>Mx6 zIT9~hsPdh6+WfBpBU&FiVR}_}&I^PH)#hZ13hNx!+~4;I5YEfU76K$@hi%RSMB-D* z_L~Rh^5YLu5qeb;L(A<4Fxz z=a4mHyV6mu&lDmw6HW0B@RR>u09E9yV6?qNXS9UAu_evb^?1JtN6*qsQK>tpt@~T? zx@M?wQm`78qdH;qQ;sDkx;bl=_8QMppjS1If1>SV>!!~O)Z|1rNlRzPP!Ei6NhfqX zx&uJ}$1n5)^K+Xv8}abyjFtend4G)Gi%-cEgEeghyZIpJQKA|iXDc%a6CgI!1Hkq8 wZ2;cCUL-cuV|&^Ct$m9YEn2i_(V}7e0n6+VoyBQfc>n+a07*qoM6N<$f}H+bumAu6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/armor/zombie_helmet.png b/src/main/resources/assets/knightquest/textures/armor/zombie_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..12d2b87eaa89023d805843ee7656943d12774736 GIT binary patch literal 1780 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 P00000NkvXXu0mjf8rWZ& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/block/advancement_tab_background.png b/src/main/resources/assets/knightquest/textures/block/advancement_tab_background.png new file mode 100644 index 0000000000000000000000000000000000000000..88b3b006e89e1b0e00db5453f7b50d0d9745a0db GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFM#jv*44MY|939##-Iz~lMS~lS`q|jDMdXzx4I(0ZJu&{*utBKHwDH|tGFIL{p{_hf|9Qu vK0jY-xNqSEhdEmxxZgehFJ{&nlkN5=RQM9EUJEh?+RotV>gTe~DWM4fDNtYd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/block/great_chalice.png b/src/main/resources/assets/knightquest/textures/block/great_chalice.png new file mode 100644 index 0000000000000000000000000000000000000000..a659ec7793f1ccc6c4869e21d6acf3e877e09909 GIT binary patch literal 13264 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/block/great_chalice.png.mcmeta b/src/main/resources/assets/knightquest/textures/block/great_chalice.png.mcmeta new file mode 100644 index 00000000..850afe9f --- /dev/null +++ b/src/main/resources/assets/knightquest/textures/block/great_chalice.png.mcmeta @@ -0,0 +1,12 @@ +{ + "animation": { + "frametime": 8, + "interpolate": true, + "frames": [ + 0, + 1, + 2, + 3 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/textures/entity/bad_patch.png b/src/main/resources/assets/knightquest/textures/entity/bad_patch.png new file mode 100644 index 0000000000000000000000000000000000000000..79e3cc3531f2388d59ffe57e40d94a9a75846f61 GIT binary patch literal 1521 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/eldknight.png b/src/main/resources/assets/knightquest/textures/entity/eldknight.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ba3ed1c9b83cdb7799073b580e8c102e7a0cb5 GIT binary patch literal 4998 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 Q2LJ#707*qoM6N<$g4rU;1^@s6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/eldknight_glowmask.png b/src/main/resources/assets/knightquest/textures/entity/eldknight_glowmask.png new file mode 100644 index 0000000000000000000000000000000000000000..ba55d3156d12042f4382fc3c95961e44e745b877 GIT binary patch literal 275 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 FV1k6VhdlrQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/momma_lizzy.png b/src/main/resources/assets/knightquest/textures/entity/momma_lizzy.png new file mode 100644 index 0000000000000000000000000000000000000000..cf92f1e7942d90d378356abfba3f27d1eede2315 GIT binary patch literal 2004 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 PSCFWutDnm{r-UW|OjSZU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/samhain.png b/src/main/resources/assets/knightquest/textures/entity/samhain.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e98a1309eca05c7f733c9934245320af13fa1a GIT binary patch literal 2195 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 V71>D46L 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 Q#sB~S07*qoM6N<$f~#cNApigX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/swampman.png b/src/main/resources/assets/knightquest/textures/entity/swampman.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a8b269c74f4c79a1b8d7edb7e264daa5e09287 GIT binary patch literal 4188 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 Z<=KQcZ1PDFBzzYDIvV=wb!v98{{wH{6W#y- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/entity/swampman_glowmask.png b/src/main/resources/assets/knightquest/textures/entity/swampman_glowmask.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf072d17719000ef084d2eb1e3eaddffce9eba7 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|wtKobhE&XX zdwn%;lc7Z0#s1qO`wuJ-kPvHNwbE&RAn-u4$@^2{h8B~BnvKOFu1A&QF1i7=5e+`v z3-IDwn)05{F8z*m!#mdKI;Vst0B(*<@Bjb+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/gui/container/creative_inventory/tab_knightquest.png b/src/main/resources/assets/knightquest/textures/gui/container/creative_inventory/tab_knightquest.png new file mode 100644 index 0000000000000000000000000000000000000000..1d4ee2e6c5c9329a2616b6b0be9a3a92c55486c9 GIT binary patch literal 1292 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBzFdG$h%1o(|NsB7W5+^6L*wG&92^|X&CR>JyAu);fKranMcaWCS4ogx zFi;r;Fl;)ba~>$lS>O>_%)r2R7=#&*=dVZs+L7q#;uum9_jc~>vc(1hEXl_^&Hw*D zti5F0PObKaV~r(O51aXh|Tm%3jeR zR#W{i@)-z}eKMRgwVXx4VfiLr7KI0InDRI-tju9%g^7z5BIEA zcyN^InE$npr>E|0Cwl97Y z85${8kgevh+0HVCm9bmgv6}I$9b2?)TFg?QU7`kcoBHC{ond`4Pk~8bLGVpBCV_%7 z#&fG3Sxf{AY$rF&E;HhAa1i?Nu#`7K;KHljhwmmiubu9+)_d{XGq1X~ai^Zy5H>qK z#w&Zi1LLdRUs%4CO|f0A6`0Q$%baE|*S`7;>z0@73Ji=K4hJSRglcaI57S~Q({F#v zYV(fSd&i;B*Aj$%=p<-#nfz-3xxPU>`pvoAx-^yD2!kgKP z3%h58O??pVaHnzmst}efyV#D%R;&gq@?gYnhlsXA?euvE?)7a-4^@q7NUJT{0aibq zizDV*&gu}B9qZWy8yJci-_}LNY_{XHnVKuga)hfR`smhG3JHM>wvO72e|iEIG~{hu zc+Gp^wWSyR(n{fRBPFc!fQNKXfI> zhF>DUklQlZv0-mRNpgZ(LXmO{LpfvJ^#%{da?|+gzA#TFwX4gR&K*d%%zqnu`(J%? zy2IIxjA=~M91hemX7(v=S6upKqDC~ciIejsHz|`f9WVdQIPSbp+PL=LOXY7|5_9*f z)d$Smy+H7=;wq6%jeS4G)mHqHv6Y#}-XlNX38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBzFdG$h%3W?w*UYCcXxOHXJ9yX>{w`MC{X7AA_j&!pa8?7=fNPATqQw% z!9ZmYz_96z&Uv6HXMsm#F#`kNVGw3Kp1&dmXos<+9#K z4}TR}t12_Cs5!~BZUXBDvAUw2XKij4vwm1$zau7k_xz+ypScn~o!I(jUUk2ZAt&R@ zfCO#%|4Io9qZn)cxZJcYpEn~ZD9qvApB<`gVGPacaS>@LpPU_b{fs?u$a-DFAF+;g z4SI~+`9Eb26fbzgr4j9v&06rO`}Td-4|m^hVKNhlW;FF>e7Rdp&VHKUg+okz`o=~Z z8!}F>R#dW6Rb4RWPf?-LLN$dvWl`1(dvxkN881dvvbyBX(&o~5Tm0E{3(Jx21rOwk z+8tV1FRYg4w%B*(#1WTGQjSfF~zn^V4=Z`Md z9Y;kb&t?6verf*{<$_x$_c2x6Q9t!==jS6L!rTk;Q4LFE{PODA8Kz79M=F&U?Vr*R zvUAUUWo3Mhda~GlKFjsZ3-2ffBm*@cgLsSKS6BqY-d!6T9-r><(P`KxD(0|0?-rBY z_Ih38qfbPcKHW>7yT|FknG{Cf7gv474wSO{Pf?y=?eAmwFsp<2#nrQstOc$<$ZjjT z8NJiZA~(i-joO2{)*qWxU09b$=Q4g21KCqK{W-%t=D#W{R2wG8-^t=yv5}#wG@0@E zbjg_!47J)@SUzNRbohI6YN+pznd7m7v*WghE2D{icYKh;masU+z}e5bn7n@9sp%DD ze95@oWB2^>AV_E{GfDjhax04LS+v+#=1h`houGag80d+NHIC-#q8D29U#R_;0Xl!V z;#}4pQc28JrI&>S(r0I?>+kf?dRu#|Q-AVitbw8P;D?d&WPyU{|4ByqjguPwlrR2R z*WWXvVMlL>h{NYiKU7&=vj6{QJni22Wpcv3B`hQa^rVI_4be;Pp0~ak?2s&<`CZum zn@EAzkJuknaNp*1l`1gZz%qrw)78&qol`;+ E02qG`FaQ7m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/apple_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/apple_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..213be97644561512ce2186d22d63944eb552bbe0 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|(mY)pLo9le z6C_xh1tc=F|C9$A{_EF!wG z81D**Fef}XG;J}D{EhvGegX-jm>WeRtGfeveth^S?3okuz+OaH+m1_vl|lcZhG=nc RU<%Mi22WQ%mvv4FO#r;GI&}a5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/apple_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/apple_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..15c12fe21dd5964324387f42c2e5fc8ae6cf8399 GIT binary patch literal 499 zcmVPx$tw}^dR5*>Lk-tk@Q545NFAb#x0wHlQFGkvDBnE{-LR`9qOeJV3T|$R~I0!9@ zn}dIVL!gt=AwxT876)63QmO$59fUkOq?nW>KG4`qk3ykTCAluX$NP~?e&KQspL@UO z+lT8whE4*DRQEpTubBLK(N@)Lo+phN^ z{{n!8(vFQkeiWwMs7SV707yx*PAWtZ$n$87O5$7P&-P0DV_3krv8`EUX@n zv&dpDJ+MJ05p^+F0f5tDf#v-+~v8KZUJU#s9ub8R;d60002ovPDHLkV1m6A+SmX9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/apple_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/apple_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5198ebaac90cd2417d0e11d84d3b49af58ffe0 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|zIeJghFJ6_ zCoB*!ND>wa3i#3Q`{!;md&Je`j4;kk|IQyc(9jgxwB~=Z@r+KD?@5e0J5*fKB^GhL zIkc`XN&JCH!&gE5Ff*$IADAw;pXVu>UT0tsla%n`%=+X6Ah@w_Rcj*NnfvHmWitX0VND1Ya9o_gzh#s(k|&S6xO{2(>KqW!Y^ z3I|WOSNkXRT&a(#*`pUQY2vT>$!P}*zWp<1WAji-a(H&X`V-GlZj0oHkNfvm{IuW| zcPx$97#k$R5*>*kTFZcKmdimKpdUKp&?ZaEwvzmgi7rgTv{`Ab#&+=;yIEVBkmliVj!SUen?%lfw8xIZO@}w%JU%%wGx9H8s z00fgrOByZH5CCVpdq}T0>}y!2A!Z#<+&7zI*71Z>u!U2wg=HGbk$Tc=nTF5-K0l^N zc8~X$Z^r!k9s=N$^Q651IzZ?LNUk?(BsGb&E?NFlNTXY>aN|}0Se&dSMN!6>3PA1edvq%aso9QgsEAH)qFACv}ZtOVEx2Kkb; zZ1Bd@)rHa^Gaz2Q3qY}Tm)SsDqlqLRqOwk`djVz zA+1?b^-N7XPx$6-h)vR5*?8k}*reP!xr~7IEz4prupkP!|z&5D^iVLgp?)r{Yhrj&5%LgwQ$& zf;e|6NRgsT1<7Kj=%A*8i)rQ_hxUa;6LE9#PWPRA&f&iI4*XXx1J`f)22i}W>Pd5nY#eBzkl8OJh8 z0RSu35qt#9M6BNJ;ycI5J69V6&DK}1Ra5BLnvDCJjQa{5TfJ6IR=ue>H(^lecmh-| z70po9#y|_}`_b9V4EO7+3ZPsnGQV>Xf$#2V)E7owyyw@%2jpW0k(qn81;Fso<*B_f tH5%Haano{;m4Q@ER*=$+e&YUNeFAJpdb}yR6ITEL002ovPDHLkV1g!_nvnni literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_blue_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_blue_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e45d47b71cbb000ff055258451c0b60729a20e68 GIT binary patch literal 287 zcmV+)0pR|LP)Px#*-1n}R5*>bl06E-Fc^j(iw)`Ml%Y5lLFiZrbn4_KI(daoUO)#g;ot#WogC{4 zgq%ddpSajUA;A{$g+Shqyifi<_>=5s_J7O@Prc*<{Lo_8Jb*NJtfG+3^^Qgk185{g^!yqI7&&V8 zc)By6jXTAQd9Wx#U#1JlRbnfZHh*s`mD*e-&R+1oK@mNj^S=7269>uJ%DeTF`mk+x lt`A#w>t*A6srMCr)*BMaLkEK;GU@;T002ovPDHLkV1k33c98%8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_blue_main_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_blue_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41a1f4b5ad62e86519791ed27c6c4d3a09adaff2 GIT binary patch literal 350 zcmV-k0iphhP)Px$7)eAyR5*>@k3CPqP!xur8iR`|B$_~59qND;;y^n=SO_D(z}bY|&4Gb|fsI)M zKZBXYgo!`E(nU0Gl!3vJ)TQ^>FJ==@(%jqkyyrRhg@09H^btGL{j`r0CAu|d=rub4 z;brL}4H3<2c5v&C^c8?gtu-uLHURqhS!TV`%9c&#t|j`Zx_oW?W3d1z6?J(3$oK>h z?mmf|z3bZ~DeA|4i3oWW^k)S9833AYPx#07*qoM6N<$g2R89umAu6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bcda058b48923bc6bbd282947abf74d889a859a5 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|rhB?LhFJ8z zow$+nuz`T9d|=`d*_g^cmQ0TI4>WDswtW!rdM-KTSZlig8~1V!!%cHqmUuj8pWpoZ z&hx_u55`AKnyK|Q%*_Ky&$TjTMSDMwCpnjo;z9=^>f~>X!PB~0|Lh*eI!}T zJ{oc4JW91Vm(-=y&SSvS(8w-6KOuE7vsg)EzSJ48!jEh2OG+fPx$Gf6~2R5*>@kTFZcP!xr~)PjqZ4lafa8ma^eDYR242pwEI6x!PwcX4WxsZr9(|6po7mr`gmyyIyrdZ@$NhKob$K`{%wh0V&ql~#pnEf zfytv_DZ|{dpwsPGoJQ%mXB0AZ;HXZip%-B8~u9@hS?=pFM&III~904%8y3WjY zDh7MU7pXu*sZ|%Iq08XLeOHY8u6&z@E=sMs8ZMfe>ei)AaabU+*7(?;ak#tAUHDFM zSdgSybI!EwOKnauND-%PUy6f)w~_;pS9&cNcmhB_JIL$|s76|*QCC^1RzCV+{>SwN XsKba-3V4f_00000NkvXXu0mjfk8`HE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_green_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_green_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..06adfc534c6616e1e45831dac74074e28ae653e2 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|9(cMqhFJ6_ zCoB*!cqH)Oe@&HI&aB=orV=-9SOjdC)FTqsyixMNhlh{V*i#&X&*@T(p$4?1~ zpDGXaDt>;k^JCuN`uP8}oBk3$p+_XQT#1wbfpvHP94`2E&bw_^h$N3~1aH8kiAg{+ zody4V_$YjMuljj|FAsQ`IeoR+fOyCDj;~D2%&nS&vCMkj1yUdW|7go=W6kw6n7-h1 jC)59nB8xw-WM_Ce)wb!*lgD~MzcP5b`njxgN@xNARFZcW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_green_main_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_green_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5aa5aadf09d09fc5e2bf268cddabaa3dd3449f GIT binary patch literal 386 zcmV-|0e$|7P)Px$JV``BR5*>@lCetyQ5?rV>hY2z?ciJv8WOrZ6bTduX%NR&H>U!J{(}CK76)fH z2Zx#s;+CdBIWh<%x+NnT3<9y?>Fe&WXbbwmgZqAepZDYY-aGhLwOFp`_m92!$}ANe z%GEl+B4e0j3{$~DU9Q$C6`WNMZ8hoPQ~*TB8d=5+RdW!jeZJOt0=7!)J9`)5)#@!m{*8-qK7q$4W==w~(E)?J z&0)_2;4NoLC;;j?6NaFBb1oVVHkaWe)J9`w%LD+~j?W-(GsxRyJHGOx31WPedYawF z0W&AT$DX`JaciJ^bMAUq0bK5lM+`ME+wtiRExJQ1lpxA!d{g%=izD8pXj$mqd@UDS g>xTcr-|&A}pI*sb#_-4MPXGV_07*qoM6N<$f~+N{7XSbN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1590fb50970e05123bd79ac7bb6c3a548c5d5256 GIT binary patch literal 355 zcmV-p0i6DcP)Px$9Z5t%R5*>bQ!#78Kp1_RLLlx9iozAaArPH2=?K%Id->_21;kwUIg+_M!Ll*LoURJ(76kIq>|1E|EdYQun@TZx0hT%%Pt<7#Nf;mr1B{L#PQDVQsNqijFw;^|{2T;S%Q^8F!ZW^p zYXy>jQ6R&}IuK^_h#?5PoYqpF%-@xtr-XBVTmhjHUnRvmbFlyb002ovPDHLkV1g@x Bm#+W- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..40d1f100a20857dad784414bd949db2e26e3d3da GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|-g&w>hFJ6_ zCoB*!cqH)Oe@&HI&Ma4-Ac-3{ECM!kcyfg`U*!FkuFeC z-stFhlI5^~SkAkY{hOyWI;zfUbkuKa4EC7a`1f2;8^04957T?SgcV1hv4S~o%BL;L zIL5j`>HrXY2v(i7AZ-qtK(aB<0{7GZr``0I@CiL4x#db=^YdG0?Rl2J-;=V!bE@OT z_QZy+Nt}MOS?|Rr>?nTE(`C12Bg1DlqaXj?X$8h5BpjH_wei)#mrOcs$)*y@s(KmT zNf!GSO2;1l|5$pLq}Uc!!N*Q*|1Crw3N7bhU?|gcnPyzGaV^m244$rjF6*2UngI2T Bdei^_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bamboo_main_icon.png b/src/main/resources/assets/knightquest/textures/item/bamboo_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..691cbd084d57e274729857e0f0e957d16447bcbe GIT binary patch literal 410 zcmV;L0cHM)P)Px$R7pfZR5*>zk}+$-U=W5MwGtAF6(UG27DPcIb1u_aw-SQJ0 z>u+%M2eb}Br$8wMhazH-7}BA}CaJVThxUaJj^pmV=Z+8li~Qq@$3NC20l%TtXsQ~3 zpUcYRvNAD~NWQ6RG?W^Ee*rL+UBIRUWG)2&)^E}A;rv6|1{q360uKE)rX`(5KL$CSB=JgWGk|Z9S_&HtC z{jYS}A(^lFJbiQOH(Ky?2Vb1)=};rWW5K|%(_W&y+$d!#(0B$Px#_DMuRR5*>*lCg@yP!L5=L?T+)iG+m^(L#JyrrJi(!b1EKOMk#Wu*{c;g@uK^ zomwddLAJJuM12c`KIWry_q zHAAb&Y_s54$TPT{7+S?dCy@hbsHy O0000X6hFJ6_ zCoB*!cqH)Oe@#^m+aL2w*Agl|{1NS1(6mJ2@Xpod246NjD4Nw8%)s^k=-1?ktBIx# zlYJWw{ zF`P4~`1jNNaQyKIj^9Dte#{$oJvi9^oJWT37tdwu&63~b@9;bq&ShX`WN zUNk&vX*tXKe=)DF#IL5N2TZk&jyxCJ#3Fc)y<*J?bPF>1_2T4VVL_mV=DtlV&HeLi n!k7yh|MRRk=lVRDpMhch8;?0I2dBgWeahhJ>gTe~DWM4ftPOP9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bat_main_icon.png b/src/main/resources/assets/knightquest/textures/item/bat_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b8986feaec5f029d102e7ff6fa5611ae2015a1e2 GIT binary patch literal 309 zcmV-50m}Y~P)Px#?@2^KR5*?8lFMqsKoo{QY@ke6LIWb*3?!?dg18UpIu8-(8`$SCt3FEB`Vd~A ztB9bIo!}xM3FE@fFpZZ7DE@F5IRAGp90vZ4loeQSow;HgfXYITEc8fa0HE}1$H*TT zPxF9s0G69q0A|ID8JC3~ADunhMf>8H1yjxZ@_GYPJQNiG@ge7P*JQhB^ZoNi;t1kH z4!}@Ue+D(|Vr}$X$+#>GG%gEzuH+VLHi*_MCixtI{_#ZO2-6^O1pVU)fJr_lTCeV2 z7(ltrca_S(959uE8uvlvaA?0aYH8h= zpuxkPoG1`>E%kxGrUSVQXSi2~{XJ-qaCMb^%U*{*ZjHWUKPx#+(|@1R5*=eU>I!RKNJ%!&x9=b>C7aCU-wQipeusO|GIaI;nSH(DDo`GD(>%` z&LFIO1gG_{PW3Rny?Yr&j0J~UT&}FTVO9$H2gF9WI6(h>Wh?I|(`&s)iAl{Qrxsn*Z6@IR3M-ar}R> zA`FG!7ZijMjf`lT85G?!89v=Pg5iG#1_lOaV~ErBtFL2q#s9vbp#LHQ!vBpe9pN-G oTSPz@!xiYJ5EXU!!e9sj0D(AXHyt8;vH$=807*qoM6N<$g0g;i#{d8T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/blaze_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/blaze_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d9048124da8bee0126e630d60f798beddc826681 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|u6epRhFJ6_ zCoB*!cqH)Oe@&HI&a7TtS;?~LyAHDg3F8h9j>pClR~ZBuAO4S1^!%T%@APzCDF@RIebi*+0ResyUkQ;fl9CckOcHW2HHS9vc1PV(S)#6eNJ4L0)*)6P zVPq32*mgBxP2-6J2M%obzD6y~ERb!_-s+i(Iy{0liHSNq`S0V7WpbD`$USmVSDM7g Z&=Z@L@pzBbdY}&(JYD@<);T3K0RTwEWI_M{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/blaze_main_icon.png b/src/main/resources/assets/knightquest/textures/item/blaze_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7e6e48556647ad1dfb6cfae13f3c3dcc1b7cfd GIT binary patch literal 366 zcmV-!0g?WRP)Px$C`m*?R5*>*kuOLCVHn1L6A?jl!!WQMoLasx42m-ga$&{fY+4K}Hk0|1?TS$? zvIW7iF#MAiPT7TH!Lm6RVz_YJE*+LLjPKKJ&J)4l11~)Ad*1hZUq1NvN`3P2H+(Ep zfw$*JBHspJd-no>`<4U1=JF~4*X2C`rsp@9T3iQ6P0DeRZ_}xr0vS*kS1R&kj-=z zC>>lXe}3CjKAY*1FBV2O7}nX9MdaHE>g)r}_SdVrl#rs?;md!n{6X( z@!+Xr?8_O$%X6hFJ6_ zCrD%*=y3jHzwy;Z$q)6P&vo;d=iNvi&r#Di&P*V$G}yt}vm z)Bzy)@abhO8xUB?%Njf^&^o-$^z(x^n~#5g9MqO{pq@=-f4P4g|MU~OZ&ME}<$ET- zV}D{@8)M0GZS5@M6DKtdr#xdbG5`W4c8+xujL9NJ2v5Uv;a>LCf3M z&Ljs+nwWH9!v_aJ=WFd(S(TU$@zmJ7;gJ%P<1zPp19D=*k1tQv56|Y$=iJ4R$6)5L ihLMLyMdfKDI|F09>pcF?>y3dvW$<+Mb6Mw<&;$SqNp+(D literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/bow_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/bow_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f44f9c51d7613affa6ad9c8929969a35ecdaf751 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|K6tt~hFJ6_ zCoB;B;lD(JS=g-APwSWgZ$Xbr8&gDqcsYinmc4r;sGATO?GWWx5#&;STdoYXYj zb9?iw#`z-pH6l-wA4~{Ksrd3j4s2F+s%~4q|Hf*@bcKC2Rr3>X&#L4Bfn(G9mQ*$Z zfn!XRp!VzthVJ^9nmu|yPx$Qb|NXR5*>zlCf$6Q4mFslEO+9EmX8w1QiQcZ5C6ARzZ+7c6R#(DFn?Y1WTJ# zX;WI{1462FVJ#w2Py|Im5)w=!q?i=CtL|=}3_N%<_s-0nc@O^DJV$pqiiwTmhIs(I zX7YHprrYZSNVnI=Jb)CkX_R=(!p5_;)$q)0bJgllDc4crF&>{D98!ac6v`3TG_RdF zT`Z}T>r~41!wmi?pYsvZ#nMsOQm{1!7?Ys|T-MKbohL({=OcoN6fBk)cQ- z<~6A%izep!j1;nI0A60-TzzvjCnM|w9&>4tOvwTwnGzm<)WNeCI7r#7*ctd6RJemD>U;Qi|Z0GscY<1E7IceeZg$bJFCH+43=k@HFb0000S9>=)2 zmW4}|#E%Myl}Pi+?c=z9)!`W7bIt=@BjZ|W6PsfetCOC1A{w@NAE;zr<+ z851n$@B5STU`jyph0x%n2hX1!U2wH`t)yM;&(0(UHzy%Mfn&2L+^ebRUYMT1$nY*O W?y4%&0%>5#FnGH9xvXCH4PfrbYQzwk|o5zKPq8{h!r$l80Y@Ut-0F7n;mKaJXAs;MSotJ&tj4 zEen?_i60dZE0N}t+sASJ$bka~K0J9D%LW8(rmx={o$%03-obI0p*p&@t(||Vq?}FF zsRat^XA2&QIQcm_&3b62$UGtT!=t0YJGeWTyo`eWM@HU!V6lJA^ZJSy#jY8XdPKYw zl35n5E$3=(nq$(uXAj36SA**YKyb%yx2&qb%n7_dK715Dyyc%3*wPOQ`8zCpa_)Xw z$s=!9=TvCg#qGk<^51=V=%dnu_k6o0?$uPB?zqY@L-B?)2h#*oem(|FVdQ&MBb@0Qd%eF#rGn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/cleaver.png b/src/main/resources/assets/knightquest/textures/item/cleaver.png new file mode 100644 index 0000000000000000000000000000000000000000..656b5a3bb544c642c23ab7a175638fe28835f363 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|4tcsbhFJ6_ zCmdkj<231Cb*swXiKJlV)HxXuiOEaH-^BhMcwsmwT?Va>-2M znSReE;lbm?^n`?j1FIzuKXY<_{a=ac(30hU8!z)1H{_h<;o)JJ^dz_I%HE=FK;JNU My85}Sb4q9e0QVMbz5oCK literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/conquistador2_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/conquistador2_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c56079a4305a9fcab426a5cf8c514079c504825 GIT binary patch literal 442 zcmV;r0Y(0aP)Px$bV)=(R5*>rk~>JlP!xv0Rw=Hop%#pwgKin5I2DRuK^)AWj@@;0a_QnEf{#JO zU0uW>lOhxsU*I4pZ30b7(uZ})s5p2XBx$aX=;jZ1xaaYo|2!ZDS~e%NY)-_*^u{HZ zN*h!y8$jG%mJ`1c1l4@c#P`h5?t3O`S`qyNBLI9$re$-&sy~T>UKGa3oiI-B#M<_; z^e^Z|Vb!0cwj>3n*{0KU0@)#U_BH`{tXyE4ZONC6%KR&$vB_xfpHV(H=rkS4c6xS3 zG$)~Db7F2`3D^CQU2`578XN^6lTj(38xld(ceuYr0zgeGvAg~WcB9qZhMHDHD%B^w z#pQKT(2HN}(Sp(zj*M%nmd(uc1OQ{h830z-4*+mo8?RZzb1Kki0T4=1(~3x@6sBh9 znat-y(yC>L^YNNB?yqimdu@gCB?T|fJ^-`R<6&jjwb|WV0id84d3p9p^>lNjlMK!^ k*mH2Y(ZBDR^6>s0@8vMLZGx(I*#H0l07*qoM6N<$f~u>>3IG5A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/conquistador3_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/conquistador3_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..80fba7b3a4a63b86407c69b9a3a27337e89f626d GIT binary patch literal 451 zcmV;!0X+VRP)Px$eMv+?R5*>jk-tkqQ5?lTFXRygCMc2+h7Dn)4LO8384)x@gHwM&W3>e>E{#FC zwFdp(BAS9gq9Uk43`I&!Gf9-}5%qe@ZIE6*l^Tl9cE9I-&OP^D_;1Yz1L9Y(xDJZ? z5L4qOo5lL=3EEYP(S<{z>YTVdJC+OqHj7pC4h$ibBGqTb09v}tL{*t+%mZUz^QH!$ zu=4WW;3!xC=rv4D06u?E0Nf>F-?eWklg}R%;qVFo$yEABK<)2qZm_$z!OnUFfI;st z+3XE=dk+BBY8e3SRiVr3;Nd<4fVrddE1+Humm7!6t*;*oH9#muBy+bOU}#XEc(lK% zn=`XZ4YO?1l_UUJZWjPvpPz7eg=8wt)MNlpzY~C^c?C~%Wnr3{g_Swl)T8HE37v%2aXqu{XZH<-Gwa345$BzJ^*K=od&B#HVps(002ovPDHLkV1iErz(D{2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/conquistador_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/conquistador_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b3acab8bec44c97ae82a47fa8a1da7c0fd2273 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|rh2+KhFJ6_ zCrGd|^GjT0?a`I}fA~gv|NHbKs%*?UFJ`UHsgZc{WQv5zl_?TZQe6Lx4GauSOnee{ z6uy=_yx9G_1Q7gFmTpQqaQO9f1s-X65j&sH873QF_)-XE7`Q(`()@PFUW57Pvv-_Tf~#K2(hWRYF4!r2Sx OKn71&KbLh*2~7ZWSWoQ$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/conquistador_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/conquistador_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f19b4a486704e39b9b918f02a89d596742084e96 GIT binary patch literal 500 zcmVPx$u1Q2eR5*>TlCeu$K^(_Fr;pU3$fHSzAVdsSBZyEsNXaCK;2;VPjpCLq#e##A zOB}>WYzKu7x;Q9ql0V?#5R`(5rC><)MH7Q9CgvrIiPJg6cjTo(hx&zs`~B|sx%>X^ z4*pZ3J~1;8lurT6M%=+@_T=|QnAP=!jD!PpzBe1fCx?Cj83_l(yQwwj1~wd8X$)6o zvh_K@>RLkD?ls%?^Kez6mFgydTsGoD0C;q_Z13q)MY41Wz`?eclS4nB7UKYjRoRt^Kfvpc82V`jS3jl#GKi%D4c4Bdi-I%KRn@w@BXZ-Vjlna-uMUCm%B{?=3 zapY{LwzS%yy{C_8^ec&^$>>Os-Yy>i3rm}%(y+vrpsBu%O1S{Q_(;Ekzki!^tktTyHn^*l=UrM;^rl>-QY>)s q=Zs7`Nu^joXwBp=&mE_~h#mlOV7AdR86imk0000Px$2uVaiR5*>rl0Rz#K@i1%i4iRPmm1p~23X=`(}g<$8$vDDNl@(t3a z)Iuw(G)cI~U14Ei6OdpE+2wZkR02X?wQqLc?7W$Q|Hg$GsJrEzJYQED0Ia{>)cyN1 z)HGM7_~E9?y(k0l)9wL~dVK<5{t*J~;z_gw0MTYEA9B|wE+pD)Eel!#-xG9NSq9Gw z0Q$igfYB-d;IVtl%Phli87htD$Fv}Sj`PVX(E4y`)$~UkurO660~#;Qgl562pw@IL z7V;Ded1_79;wFynK@yJcfvO_oB#J-3BP(WE@I8T(OXK9yDkiz_iPH&SKQ=kKBp!#= g1326V)BjoU3(lHSUWD&ORR91007*qoM6N<$f*os*A^-pY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/conquistador_main_icon.png b/src/main/resources/assets/knightquest/textures/item/conquistador_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5ea9d350642d727998ccacd1c34ab3691fe0ce GIT binary patch literal 446 zcmV;v0YUzWP)Px$cu7P-R5*>zl08TQaTvybn&47$;Gs#79|U>?2N48$L0lY8i8M8bo10V6+S1Sv zMN@4-vwDbW%go4T(8nnpYxqFOHj5a{VN3T@jU zc*Zp<>VlTB@LTx~fJrII!_~QMdbi(mxtvFsUsR3YRFu8l9RLmvPXM^RJi_G*@pyl2 z>v1~`0Mz9)y50exS}#$pmzb22qofQa5Cy*xmSlocQ2^dw>lW867wPtUww|F^2um`_ zrBzbjmk6Ni9iCrmoSp8|y}#yHgJ!u1!1Q#CjrA1(Hn)#ywQ3eOSVMPUCdi}}YcG>l oNNE~jNggs7S>}KLY5k}51%AGP>ondY=>Px#07*qoM6N<$f^k5_r2qf` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/creeper_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/creeper_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a48328806e69fffca50e55ce13a175c75644000a GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|vOHZJLo9le z6C_xf`6Vv?`0shOJ?B9EN-b-)b<*`8U;SBj@XUubZv|rXg*T~O@7>RH-(-fQ-H+O1 z7k(UkZ+zICH;spThCxUW$3O4Tn}5Y47kr=3C?r>)v&rH8{*bA%J^l9uWV$*o*$6Q* YOj)jc_~^xk3ZShFp00i_>zopr01ab7%m4rY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/creeper_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/creeper_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3102494d937812b464efae8f8b39b0e9f9d992 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|PI$UFhFJ6- zon*_`(rIeK~dgacRYoHAQ3o!FFhFEvte%CW2eb{q`(YxVTt(!K)Ymz*YQw(IWf R`U>(OgQu&X%Q~loCIGhAX}bUb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/creeper_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/creeper_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..751da2b36cac7b2c6710394a23e4d874a67d5b5f GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|PI|gHhFJ6_ zCoB;B;lD(JS=g-APwSWgZ$Xbr8&gDqWn%eC>%&iX-zoSv&6|JYs>4|hsS7xoml@gv zG4tWuyQeQ)G>hl=yE&@o7}$WoPE;C5rZ8_{&Pj9-I`FFLboow6iLkuZO{Sja38$B~ z^F-?z8dN;HZeVc2&>(02ji$>CZZeM|9?Q(G>N?Dj?bKzqCE*1(R}=RaR#rn7>8ONK z$uM!7|9@s{7|vn)@#3WMoW1{f&e>Q0mu&8zXA{O;z!)KS;OKHW1_u50)=Nb+PNe`n O#o+1c=d#Wzp$PzS#A1U0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/creeper_main_icon.png b/src/main/resources/assets/knightquest/textures/item/creeper_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6602a96e6156f6dca006c631dc973e4e3464113e GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|c6quuhFJ6_ zCrGgNWc>NRM;Ys;r-L+OT^u&>{#UNTKfHPIbirPq8$Hi2 zPEHKq+@y9&Q|E+?UZGt_uuH3?1Q0A)^+saeR@tNgzwgZ!-@iulFdM`$T=vmPIH;Of z_)4^S<027e=Kz7jH-pbh_|51v{39-UtbnzP(ct!e?)roqQ@>44%zS3W1_Bpfw(+d# sw>JQR0;2`HCIpxm2?@xv^6>C5zopr09G$vI{*Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/crimson_sword.png b/src/main/resources/assets/knightquest/textures/item/crimson_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..4855c2285af73bff9998f0a7771e79d88148489f GIT binary patch literal 295 zcmV+?0oeYDP)Px#;Ymb6R5*>D(Xk4`Fc1ddKUJ`G5)=YfM3f*X?uCHRXK;0JF5P@CH&<~IdMMvdwZy>qI#Q;!E0|3}XM<%%-4>rc#1UT0+@lV>i zH&Q$5d*>aDrJDf2c6Ncka^bby|1 ztE`&-@b2q$3BAK=ZHWgKFJCX|vhROF!V|%RtA4!w>&=sYulCqmRy(;ewnSIkw*T?> z3~GLT64v|o^0Ysg$D#eo@WaOq$)+-VQ&N`v>*nA{W|`K}@S*-mfh21P3q$rL!zJ4U SrlbKK$>8bg=d#Wzp$P!Dl~`5) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/deepslate_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/deepslate_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb841caa7344f01e841ccb751841a5762359037d GIT binary patch literal 405 zcmV;G0c!qPx$Pf0{UR5*>@l1od&Koo_)1UEh^p)>JO6>C9Sp@a(Am2T=*{ITwZfVdNcZY&7u zM#bh~AdRsUdR<6Dd@R(B;DOoPIp3W#cLx54w53E_N`B)vwWY-EAF|bK^PMKzQnJ-- z7Umg`CvOSTH1o1->gBPA*S8F>Z;Lc{BcIE`IRKG=PnJ!+G|jy7 zd?a6cjw{`RBLSp)a3mWmwgA#<)Md|crR>eG@NW9LTESS-RP7pPC&vJ^8g-I!N@Z!0 zAW8`0u;9$Ep6e$vJ{HPPx$6-h)vR5*>Tlf7!gFc8Q8ErAXuNZ9TmVG1&cxJ#CFFwLHduI&)WmLczuH|rzx z5egm*9pa&>u?ZalDe97#xH_kW_COr>_2cd&0e_S;%E|l8QvPaFlle~Z9?&}1!y8M1 z&%Zl-<{d!C&{pgu004y2@R^7E$2sCi;`Z(VMV^rzlYk=6kfa7L&rgjOO8*`plx`I# zsp;&1+N$M!2A_Gj@Ff6XTdq*nAE-99Q_~}{d)bz&Q(=09kOu&OBsDE9lx|`_jew8` zzMoEF0f!vBY3BMjS~8><~j9*xlz2LTS9c<^X`pD}^G@$R&1O t@O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/deepslate_main_icon.png b/src/main/resources/assets/knightquest/textures/item/deepslate_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ff35cb5864822140d00ee4e1d7fe478f17dfb177 GIT binary patch literal 355 zcmV-p0i6DcP)Px$9Z5t%R5*>zk-bjCFcgKqpfW%bDQZ%NCIcY@9Z*4H1RjDXz(1% zW(|v^4s4n{$1S&Cd|P#5^LtxM1US9CBJd*sUf<@pVcvgwxNmto0Ww`8(sv5{D}1Dz5T%upsatD=eWAIi$?vw^bIL5XS~CrS|I=c002ovPDHLkV1n4E BmU{pI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/dragon_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/dragon_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aef1bcc68c1713b32ec70379e34f9973bdf14da9 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ay(reLo9le z6C_xhh5xiCEjlvug6Pv}-;63+RSXws{(CPv>BxlWTitr+4m9OGy8Am^GR|&qf1<6K zVUAuy#P^q$fk_d(6@`B#n3d{1DJVpQj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/dragon_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/dragon_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9b810fab74d886704b5d772095f50f941aab4c83 GIT binary patch literal 360 zcmV-u0hj)XP)Px$B1uF+R5*>@kugidP!xr~h_m2Sr5H#Bjbv*ki&S0HF2xR=JGf<%%>IDjl+hp2 zMI1^->DWOmmJDqOgqn=~1J9vNcuA_Wc;F8AaPE2c+y{RhVp~6APi|aqBo7JK8|~y| z?8~n?b`RTmV)FI^fPU5hz`VQ#pmo*7v3uD@ioAgc!V~~iZBVOg)aqL9ob{@@G2CiJ zA;O^3CJ0laXaPVHFB$tjW8WumXr`IKL{|AKD3QKNG*R|KYK<)jU#JUOeV` zcMrb|$ z*Z=ST`aqOxZ{>5>HHM9+x!DtXW}DBS{Dze+$LwKHzp1RoNe@GbXsbi4J-V`zQ&N^} zkm|Y0J%8Vylpp^&AAb2if1Yv8uTR3OCvT8aSikbP!op0}=iV7nh9|OLC7LpbD_H6C b*f21-#CbgwyRzCA=uHMsS3j3^P6Px$3rR#lR5*>@lCe$#K@f(&B@inPEDTvsO+XTjc5ZcQbCky3@Bo&SJO)qT16=5d zEe%3Nt)0e*8$#i^iHWgU3%$)9^B>*v<4BgubPg3*iz#pLI*O>$G jPx#@<~KNR5*>zk}q$~EF-9Swgf>yk`Sl?M+jd4Yy|>|<1kIYqUb2BEN2$Wm_9 z0hmvJW0@oxIKG>5e8lc_wBo^d3<*ykp;>6f8YWGZc{F6^*x9H0000< KMNUMnLSTX%zk^x; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/enderman_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/enderman_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5e9121bdd2bebc140ec5b4b42a07d5964faa14 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Vmw_OLo9le z6C_we*#9q_kx{9Za#B3hpzUm$$(s=-2Si+`Vu z{LbEZGUI}1#HQDeOb$$n6+bMX=EUW(v7xcCCqjaihlinTz3NBVz_l}g_Aq$5`njxg HN@xNAbR0LC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/enderman_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/enderman_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a7750e552df1a677e9d019b9fe2176970d373557 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Zg{#lhFJ6_ zCrGgNL>&1yc@g{FhX4ATx+K@xTu8X_`=Mr6%jO1?=DtI`Y@L~VHGV~0$nCTE+0fYd zkdYY(4s#W=wrTU5NJPcGOR)I&$%y%|x5(C>6KV%@uLbU4EN=vA2C19FJK4F6^A4-Q z?7p`*y9y?IvL608f4XE}?7dSLxJ5Tz`kJ;P@xuWrw*Qh65)xW#r5>0m?`~@Z+VbQ4 zX&&}->yC=n2{_-lVev0K%Je`c`{M`yb8=(~W-;ncGe}x^X%(aE1E4~Unibp+erfoz b9|n4C#@d+Zy7CvBflLNZS3j3^P6REr ztFkkV?(8X>>lo%Kw_0kBUPETX#s2rUDrXsDq%JUSi}>+=Nz$1EK=5E@{9zEip*D$| z83+#Vvraesl3@DaM_XRo?Ca|e|K(pSyy{uvi-WINOa4FRa){AONLXN^Xeq&N{O02< zUhx}`O=llGXd$usV8q@JPi)h85`+(D9^mOMVUul@F4)(1h__8r>SYA)0oH%U3#`QF c`r9%vY`N^9QPsWO2Px$D@jB_R5*>@l08eqP!xtALd7X)r&8LI5VF;P5JAl(bt$gme~>H=nF1BEWzOK_ zEC~Gz>R1&N14Zc|qF^zbmQJD=2hBAft+V*Tg?r9L9}!!oVPGFMY=4WMBi( OItEWyKbLh*2~7ZV@;NgA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/evoker_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/evoker_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3a8eaebb2670e2ca58f2ca829d2327b46eabf6 GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R5*>rl0QqsP!z>~30)k7{s~1plvspjt|AT@gf99GL^3Eiii5MGpFrGo z2;$%(E)FUV5sKg_q#znPRFt$SbjV<79BLkkjn+;*+q?Ik!@1{Om^7q>S}+dhr$8`& z`~pDgra8pyRSP_Cm0~Yk?hN5i(;Mynu z-X~BNx9Pjr0MzatsMp^BD3@nhUReU5?Km-B=s*OwU#al;+T`N$p0m?K0M<8lSk`6 zs*=}DQMXMUzH=D510|iKpPmLFubbGWPF7U`kUL%6PAkSs6!;6H1Ypclo; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/evoker_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/evoker_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..553dc0d0362c251c8c18df7e93c8486d49cbde57 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|UVFMYhFJ6_ zCoB;B;lD(JS=g-APwSWgZ$Xbr8&kxFnOY}LpAyK;IQZe?@%SA#w%`B1!Af*BBM%UK z)N=z-JmK&5C4j(<^1p^*r8o8*0D*)D$!CGM*IQ~o;|V|Y(+qWdX>Es^PV#W;7aIO4 z?Mbz${x8XF&u$#XyrJ#j=kxm|C4gYsGd3dwAaF=-s1X10;-vAK8PP1y!&zn-138aP zSfqcPKXBlK{jCd3t^Qk{WjJ^LuXS|%;BrM=ziHjkHh94u>NuPxqhtQ~f{m+5O+=892Eu;*Y4XsPx$7)eAyR5*>zk}*reP!xr~ilvj8HG>d*;NnuVbWSaF(Lc~Zw+;n`jN(`Xm*OAD z(BZ8w;9SMAAZ>T4I27t03q>5_Vx;MP0XIF%dtA;v=U(oCzedScY*lNit*$3S!QZqs zpB^0+8K&zZIe}KSmiD?GbQE)aGR<{f-YI(B4qW9$Hf%Oe7qg##!>iEnDnhVu1%SHi z0Lk~8A%TVDiV1WSbNqZp-F0X#+ccML0B#rO=qUc(1UiawZlFB-0ATlVAN?Ym#RPgX zEQQ7Za6eB3IW$I`QmhatpG+h}e=sIAhCum3R0JbXe!8<&2Eg}R07kEK0N&m|d6}UkoNw&tP0)R z(9J!T#ioCokCOFN3G6pUXO@geCy(t$pzT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/forze_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/forze_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..be03477e7d5ff8786196ee9e65ab447e619be3b7 GIT binary patch literal 531 zcmV+u0_^>XP)Px$%}GQ-R5*>zl0RruVHCxGDe*Olw1g(`zzp(eRzY}lcuA=|Om!(8GNr*qrIai! zNQXGsK?gzIbaJUv#|S3N!zo}hM2sZMOEZ{62=Z(jVuF95wAUdqHnk#7dbj(X`<-*R z=fZzg;doTS@u>U_K6V`JEcX5=(pl{Bi%2*gm8JZQ=!Pjlf8e(cg8qQ$hAB(=nV}Q+ z59L}qKxB4-rd>fdOi@D`@%v2xGPlp;wCXhN3X$0b3h5l3m3_iQWvpFlF|UoIhBN?< z{1YUStE86Kh^QJHn+K$p*GME+Ir2{cpoTQ&wQ<^|7H)vN<>lhQ=BrAKg7buFwNH5W z`WYNjm?7rwU^h`Z@hSB zvwoxh$J!dCkhi=ztvYj=BEejOo7y4i?cL$>eAPqt9u-+J*O|){aa#4C4%&@|YibK= zc6vaFE3p`mW%t??$?Yz_s>1u+n~^k{b_Hx`clKQ)fNq$QwaQX!d=wE8Me&HDcqD6; zMNvHR@bPoe4Ra)B_i1_W?0gvMtF?Dr(2dhZah-fPen{Ofp8=TkogLzPCvE@p`VQ$D VxU4fro74aR002ovPDHLkV1n*${X+l% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/forze_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/forze_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5887e534b76a6166da6675769da937b17efa35c GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R5*>zk+Dj{U=)QvwS$WgnzSOKNkEV+|B_?4^W)M zRWcQ%jup|NSqjCHDkzw=;OL-S2cb|Cjf#V3`w#aXzH@*0x2ky+F*IEaO_!QikzX(8 zh0JCxSCvh(QJ;9tMxCm%$qFfaMG_nx0FcD-r!y&npDINV_9B*^3zU*qZWv7byXb*1 zit+=LW3#GOSaU5(Px$wn;=mR5*>*l21q!Q5?rVBU>Is6H5exnH^_44ABt&Ijk$lfYG6iVsCp2BI(kp zOBzB4FY0lTwq}?cF=?RfJ$kd$>t>Ktw!mMZ)JF~yF;bq y0S5)D=W5jE_lrOzBwH7VghZR)FaE~-JN*HtTcn=%8mfi>00000gBeJg&6Vy3QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`RRVlMTtyb>MIJPrbKCjarxd9wJCz`7Aq9mMH{$QVpILn_#&D?{P@&^8 zy#qjsrzFTP_&)+L2;Dz-4k*r9;1OBOz`%DHgc*X+*i`=U+- zUQS%#q$z4PfxF>PTH~xDwiA}2%uXuO0gECTU)UWupfHQqQm8JLdO)54k)7 zkxm`o>Rz^dughH2{I!_hpyRuuRosK-W`4`LpATMSkN&+}W_{`z^ar><_x zM*io@-@GTUt(HIkLj0%B!S*wk9~?e=`F^d+pW~mu%by|1 ztE`&-@b2q$3BAK=ZHWgKFJCX|vhROF!V|%RtA4!w>&=sYulCqmRy(;ewnSIkw*T?> z3~GLT64v|o^0Ysg$D#eo@WaOq$)+-VQ&N`v>*nA{W|`K}@S*-mfh21P3q$rL!zJ4U SrlbKK$>8bg=d#Wzp$P!Dl~`5) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/hollow_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/hollow_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f8590c1fdc1c2f2a0d94afe0d3047a9fb56c9eeb GIT binary patch literal 424 zcmV;Z0ayNsP)Px$Vo5|nR5*>zl0QpAQ5eR5SNs4$83cvhx~bd-BbwUG!G;9u3$(O`Q*O->${mD; zTB4z$rA4VMbrY8e?2mXwOlT1027w>oG{ikzyAjb+&veei?|IJq!hwGwRnvv4>Ec(s zs_CNH>5E*U_M;M2(?zaO6U|OvsG2Uk0CRqy3;HVj+^Q=8!Qh0b;!+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/hollow_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/hollow_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3277671ae04f69c6ca4fe86e529a373fe0549b2 GIT binary patch literal 347 zcmV-h0i^zkP)Px$6-h)vR5*>Tlf7!gFc8Q8ErAXuNZ9TmVG1&cxJ#CFFwLHduI&)WmLczuH|rzx z5egm*9pa&>u?ZalDe97#xH_kW_COr>_2cd&0e_S;%E|l8QvPaFlle~Z9?&}1!y8M1 z&%Zl-<{d!C&{pgu004y2@R^7E$2sCi;`Z(VMV^rzlYk=6kfa7L&rgjOO8*`plx`I# zsp;&1+N$M!2A_Gj@Ff6XTdq*nAE-99Q_~}{d)bz&Q(=09kOu&OBsDE9lx|`_jew8` zzMoEF0f!vBY3BMjS~8><~j9*xlz2LTS9c<^X`pD}^G@$R&1O t@O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/hollow_main_icon.png b/src/main/resources/assets/knightquest/textures/item/hollow_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ff35cb5864822140d00ee4e1d7fe478f17dfb177 GIT binary patch literal 355 zcmV-p0i6DcP)Px$9Z5t%R5*>zk-bjCFcgKqpfW%bDQZ%NCIcY@9Z*4H1RjDXz(1% zW(|v^4s4n{$1S&Cd|P#5^LtxM1US9CBJd*sUf<@pVcvgwxNmto0Ww`8(sv5{D}1Dz5T%upsatD=eWAIi$?vw^bIL5XS~CrS|I=c002ovPDHLkV1n4E BmU{pI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/horn_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/horn_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa90b3f8984265862a354de2e0501627994adf9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|(mh=qLo9le z6C_wo82@`tOm+$v$jxXxEwHBO1)G6{%2eZ=dzFH*5C5OF);9ujlV_Z2();k@qHUXd z|GPwuJ6qHF#oQAM8|TasYM$NA-R5L2F3x6Ysk)|ZLGynei$e_UKQtDIFfhD+Ci`&x S+k#A>l?Px$4@pEpR5*?8kTFZcKp2Lf7CG_{N|#bIm=5mFf~$f!=^t>@!Lf63C=P{!h(ACV z>5w590vW}@$qKy$6FHEO{sJk&b@7e_>*6TBaBzJ0zR$gU@GmPN94&;Sf8`Ux(epIX zlkrd+!%t^29_o3TSjd`z6mJqghyj=;3MmUbuZ@%ivm~Rp;c~FMg&)MYUeA8sG?(Z; zv_lh;vf%Q1gi=|pan)-ZxZMtJx5NI)IkO}~smumn^B2Mh?)*nS)364!06&Py%aYCQ zCRd|A06Tj}lzFwR!0{H3DMb05=Y zsWCGG3i|9}xI;_qnXeS;W(EN8fvj1TzqDn>p^~e=ccrcCVyV)p{cX zAW%`?n|7n_knk+tvUSv+>oBY8$3HETdZQdJNf$m?_8cu z?Tz6cm;S#ysnT-rU-N9qI6I&V_SaO+PyB!ItVPx$ElET{R5*>@kUL1jU=)SFYJ)>i&_QS?V@fM@(2ylt9|Q$4gWwi*aCdNU*HMZ~ zI|<@usUXx65fpJ!HxY+ARQfQ3g{~DGI@BqWM+>fcrhD(t`Tlb+{CS0ZeSgUNusI`c zbFI}OS16N>shEo982hH8k&UV33T0}ojt3ZaV=LAJw%s5yE}%+Lru0J|?=Mj!lRPy) zu5UyG7Se34uON&?xwCEFzdpG*J3*p_Wdi6Nf}Ob z=Hj#XWhxq(l;N3q0HtD{cDDyWA`u}zGtKVy>W``2?NKV`2Vc`UWZ>Ju3Iz%`WO;21 zSxN#>Z&s0|B=u&MtMik9Cp-XvEG1dgb&REX0Icg5Zf<{>%}IfG9e@9y^bObpRSv;{ RTV((M002ovPDHLkV1nxKnFIg; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/husk_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/husk_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..37e373fe99d50335012aa03b4bc394abafd85236 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|@;qG}Lo9le z6C_xh`Tw*hEqXe0g6jM=9LX=Zxsn{hSth>+(iNMOcwFUfGPG?k*EgQC_dn0_uj%jY zlPjvf8+Azt?@~&3)ttljU~+OoLc)*#FV8IbzyICbL!x~D>+f2B{eO9;XT{;pCk`^K bJUk3~O!}4`MTdidHZyp-`njxgN@xNA8nZ#D literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/husk_helmet2_icon.png b/src/main/resources/assets/knightquest/textures/item/husk_helmet2_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9484df094428bb14844e8d40bc94bbf7b7806241 GIT binary patch literal 461 zcmV;;0W$uHP)Px$heLlRZd6Q5c4wevqb+0@Db=pQWLxkcM(;XmRb<6a+3&1c5?fMJS2M5l3-uJxc`wrg+|BQ|rEZXJt zBH^@;X&{qL>iMQzXKhL|W>4*_q6tSs1AT;^rU*SvwUW@S2c@C{=07~&wF`h3SGA^@ zK_xDB?0}uYOD_N~VF`evK)tqM2?aULL+XRPJ4D_c;vw}xK~A?UL6oy`zKYkVnHUB6 z_wcKDT_s*xxo5+$I1!M6YuKB^u-`=U`!SfUBI~@%dddo3+Z=rWa8&F^1+M`um7-HZIg; zK-_E(SGuom-E0pFH5m})Y+UQms#(zOYX_+vO?&YJ+*y~@*C_DZ00000NkvXXu0mjf DgYd@k literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/husk_helmet3_icon.png b/src/main/resources/assets/knightquest/textures/item/husk_helmet3_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aebf4bdfa0e128a2d3e0a7f557ba7601cd64ca3b GIT binary patch literal 460 zcmV;-0WPx$hDk(0R5*>zlHV&sVHn3h+m8H5Yb8hNq^7vgE=Zx4vaI|A+R84Zlq(l2Kbku? zw1_JcapTVJT#V#KvPijG%82L?CliOHwsl;bcI+IrT*-6w_I*Fk_x(Qa`@+Aju+OW7 zeO|2;BUlA*U6TgT(IPTE7u3aZw39OhfaK$at(do2n`dhrB~wK*d6S8~IBsE`QuSbx z^o}IGn=~tH2MD!wY0>pXb`qlo7|G<32FpqqDEdf^QoZrESMt5h+WcGQ@9PUs5sRlalbBrq0000Px$c}YY;R5*>j(y?pPaTEmbPe6-ZLQu#crP$b|1*KRB3WAD*gR2A;Q3MxJa0wC$ zjunS279}8vi)hV%P;jsiXbBapK?g}vm69RSQhzv_&k21CwEUj^&eNC_O;i~L4a1h3T{Z$k7mHmx zohP)zTB}twH-t_;HHv$~DP_d)djIkh+Xu4&Dsr6o+4*_ImN~waJl#GJ`oo zyM*Y*)M;nu3SKRI0FA~s@aanv+`aJK$hpg+YROK7R=pgerJ1liJ@%)*U9&tr7NVt@ p(5jc)74Q6MXXpDC>@S@Ej9&%)hBcqJUDE&n002ovPDHLkV1m~+&XfQE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/husk_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/husk_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c926bd523d3f8e4706ecdd3cf6610dfea98bcff3 GIT binary patch literal 285 zcmV+&0pk9NP)Px#*GWV{R5*>LlC25?K@^2QWs6O4qg_^EU&CyfU=n=``wBjRO+-Y*Vlf!B*ag?c zKb8f1rRrcmE+Ql=5pX@7xf;bafbq}=pw?&ta9m8a0I`Gk zFbAOQDgZM6cL(d`>Z>Px$Hc3Q5R5*>@l08eqP!xurh?_1VIH*f24jB}RBK-jcL2wD8L){$2RmI&Qlh~n4 zad5LshAcW*(9I!~gpy{|G)v9aSVMDi>tfXs!V3{i16hJ08RS<;8@ogJ@;k^=TY;>RT@E z0flUj!0b}Y9~$y z9))H(8no*1h*D$Fsz;$&PDYtj;MFSh10&u_DM3Fl@M;zD3A0NpLRo1_W5<7Antsdu akv;+ZgNf}7oPqcN0000# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/khopesh.png b/src/main/resources/assets/knightquest/textures/item/khopesh.png new file mode 100644 index 0000000000000000000000000000000000000000..53f3c9f86565b34622d6adbda78d3c66b2905fb7 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^0zf>0gBeJg&6Vy3QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`4nJ@ErzW#^d=bQhOEZ?Lo9le z6C{KV+_>~{|D>KP^_xup|NlSVhB;xD`TIQ`ml@PH&2jZ*jwtYyh_?C{zpqBs`TP{# zC9|_~UjF!htvUREv3K?V=hMDT5^G>yKC`j0(b3cG)&34ou6r5EDPx$FiAu~R5*=eU>Nd%5u2b!%#r`t#BVII!BEeFP4gdTDTaSCUl^F4@GvkiFfb&( zSis|uEK-~l6w3*OvV!0^ZXB?I$O2>&XJEkg;@RE8`6 zHQ<{6n7_mb7q|ic-t1vuddki4U!I2{=<7O$`%n29wErANRs572!vK^({8TxKVTaZc z1|BUY1|RV)aPRz+`N9xs!o)DsbrNm^-aUB0Sp5Cu|EY5C8M3blGW_v-$q+5c%fMjr zjX{W&m0@@ U^y{Li{r~^~07*qoM6N<$f}A?1h5!Hn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/nail_sword.png b/src/main/resources/assets/knightquest/textures/item/nail_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..598d93e8a59ead3a5cddfdf1706068f985c2219a GIT binary patch literal 343 zcmV-d0jU0oP)Px$5lKWrR5*>5k}*reKpe$iil3n3Y&!S}Zn{#CTVvhg7l^Zq;CB#PL0VT=DRihq zU3DpO(a}Y)7XqQgpMIgB$v0`9o+lB-#yMlLj_^PJk#j*`uNq~&CNf_9|z+Z zNwV$xY`L0+RD2lT7U$vP3jn}rKoCYW`;+4%OrA$b)1_PT)y=(yJs8g@q+;9mSxX?K z;^^+$!cNmA^h#r$Bwpo!GVFLUFU$aNP-c3aJ{3ioHD1i|_3`fQdaMC?rtulSStS2q z@2awcGVDqPVPv%}q+->5i$F+4b$X7oi%S4Nx7UYWX{TTasYtR&H0gB&p25zuZPI?r pwK8uuKdY%)d8TpL>A1JNrwx3Gr0sBgyQ2UA002ovPDHLkV1i;hoW1}6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/nether_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/nether_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5ecfbfec974bbf1b200d7240f5be8b9d0432bff2 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Vm)0PLo9le z6C_we*#9q_kx{9Zaxy+Lh9_ENi^K)dgHN_=WElQA^~hsE$b5g zm#58{weh6kLhXVlf4VO-xS!iE(PkhR+!;^C4kVZlR1A`Wia^|ITJPx$3Q0skR5*>@lCe(1Fc3f=q)LOO&QTdqgoGj$W#C)*i-?JQ1QRUy6FM_h3@lj~ zx-rlW7GkN?fr$aBE*8QJG!Ahh5EBw7oqTsbzq_*y|4Qsef0egg1x+p};talr*dop_ zxo~+EfaPr1RmIm~W;q)+5-xf>9BK0j0H&-# zM{NMWIDKcn=u_&T4i4aM5CR|-jMEiT(G8GFaQXb;{Hxu4crh+^3!n}f<86JhZ4qaj zq${KnoE<*`aC4owQBL19r4BfMy7$l4kT8twBpJE2h%+08kz4Ve*{9e^GHL`G_W`Zy iU2XjI8#`P7JNW?W6=xNTXWL%@0000v#KPL_}9lDdZ_V6@5g)5 zNnif&oBQei@3K<`c4p!UrU$fDIM;E`JeJ0=&Ee1cB}r!v0KtQq@rOb5hT0@Q))TRc6! zznvo4b+q&$)6qw}cz~RZQaz@Mh6V-(a}s_uPW7F_c**L#_kQCNVN-^hR&lz3sC;(5nodu6{1-oD!MPx$CrLy>R5*>@lD|sBP#DF3X```$&Or(xU`1%!LAnS|?cgAJlH%6q@G%_Sii1lg zp<4$@Ktu=`3>};TZ4)VRNbXG~5<3zzeq^ZmOQ{tdF?)bGD)8bFp#bY@l$ARBjw zjJw0CD68``t4BJ~0WuZf@xhX1j@t(SOpO5mb2gHX;!ml|JwB=++;tOxyTzQTG2rHG zl?Pt*Jkk3HPs>-S9ksTI5dgSdKFi9&-04TM;sr-s8mBv2pzNRyFVyfti$(hofb%%r zt5X5R3H%IDC^qYb8n&6x=|{NtCjfb(cq4q$BRWt-WYpS9Gf?h=6<(;}l*N_3Be?4( z6zw~K54?#dmW!^UQ71$PSJ#2$Y%{?&6S?^+lyA)LFI0Zu{s_JRL@jF&ikqJH00000 LNkvXXu0mjf*J7N& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/paladin_sword.png b/src/main/resources/assets/knightquest/textures/item/paladin_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..130f0507fa12d8dc70a460a02e810fd556c926d7 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^0zllr!3-o#y(K{$#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;X0X`wF#+Hs=AxZ!L|G)L%Rrloen|EH!E$vm3krELQ1}a&!==~2M#Z?mI z7YtMb0SueY=$r?Nau#?*7BevL9R^{>Z=7M)j10NCEGL*` zXEw}axWBkzttNLzPV8xh>Uf=R%x~Tvs8#=6T!{*2boZlD!(sv-_;b4ZR&UGw$@~2ik z{%4o<|HCEwISJnie+qKQKXfl`=|2&8<8JMOA8(oyK0RdF%r6sg@AOl3F6EExKNEiY z*m0=IZP?3-S%dGErnxXz%;XM7a?M90BUT^mTgMz`+ L)z4*}Q$iB}dl#*{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/paladin_sword.png.mcmeta b/src/main/resources/assets/knightquest/textures/item/paladin_sword.png.mcmeta new file mode 100644 index 00000000..18f389f7 --- /dev/null +++ b/src/main/resources/assets/knightquest/textures/item/paladin_sword.png.mcmeta @@ -0,0 +1,37 @@ +{ + "animation": { + "frametime": 2, + "interpolate": false, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/knightquest/textures/item/path_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/path_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2e60df1bb1b4c37e2c0a366eee4699437021f213 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ay(reLo9le z6C_xBGXDHu^2*ul!Tw1-BFzl;@`rb>HkX)^vLvA7PW7jrgC5b%4-X&r=lMR*rulWM z(%p+I7!EUV`fAVV+ITYXKCAxxd&gHw%$DKab>P4Mc}WQgi3G;hP(Jw|=Ns&`I8XL_ bFfc5gt+08|iM@M(_A+?7`njxgN@xNAppZgm literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/path_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/path_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9a85eb10e524ff57c2d6bd013c8b88ddd85c44 GIT binary patch literal 348 zcmV-i0i*tjP)Px$7D+@wR5*>Lk|9&WKoEt$>!3p&6fgk;QwNH)2Afva)OMy4mEl(~C}d{%1xO|q zLy7{I0aIcqr7p=ID27{_T+%S`)ZV@K_TDB7|AbnpmuvV+P6X!{SA>C&vRa~edb|hV zDM5JqFwdf5!!oW8h=q66LFL9@FB<95|#_9HRW@7~1q~ng6Jly5(%gj*t zjmPaniCTtbHV5E2dKGWo9;`!t58T1XPz1L(QWyDePBo~&s<}3XPO-nYLvzytWKMzR uk~HJ({X@J)g5sjoajJ0s?T0M-{*Et4c44$SS2HmH00000oneEP)Px#;7LS5R5*>blfMfAVHn3hWUv_x1}U>2SxyGA5vj{&^A9i>jb`OFdu~N zh&s_An#)otHv!o1cL1!GGuQ?+0BAK!0Q3h_l?0G?@D)M==N5_;;)xW1Zx6pGphCMFXT9M9K4oYJ6? sNn)7Ry*5mXMkXm5sNnqpRsB2M0A5)?w?^JUrvLx|07*qoM6N<$g7b8FLI3~& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/path_main_icon.png b/src/main/resources/assets/knightquest/textures/item/path_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7773dad2b8629a8326a91e483d00b376638bc7d5 GIT binary patch literal 321 zcmV-H0lxl;P)Px#`$*k+DhxK@f(&3yOin%?3SW5f7~**rkj31i{iL$ZG|B0_(J?qLp@s zNg)XYIfaPHnZmoCYUc$ zht6a5qXq|uC-iQv0fJHvygc3-Fc50BolwY{a9DsX8?bd;R;b-=0FsX{76mgH0#L#u zohHAEITM^;TmmrYbqR!GG95Ab`~mA>1Dz&@yT9wZ22bPI+o7l;w{phj*(rec3IGrB z(5bcmz?jLbLMx0+q7_EStm18KPXM6z2epSnVPAE27}bqrt#0>WIoyd*&dYgo=j` rzk2h0npI_y*%YVnAT{O}8!!NTQ$i1OI81p1^e}^`tDnm{r-UW|sONc= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/phantom_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/phantom_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0238588b6fb1f9942c09c362beebc04db9aa79 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|o_M-AhFJ6_ zCoB*!cqH)Oe@&HI&Ma4!7Rj>dyAHDg31f+9t0Ys2*^E4&W>rZf@vo0R^iboC-jDp8 zmp}f0oAl)W_US5zf8K~`xXO_1ef+-?)1m)+ohCg1nbB#^5NW(g@di)A!L+7%9ZZM& zxy2<<&3xY9!)p^$4wKn{6 zK}}IJ#`@d>!D1FYAkpIZ@K)g(wq#!q9w5li(>ZWTjqOkTx98vLTeFWRHhznLc^|J`Xjd5||@ zMf4e-?S7M{Pjv)gPx#$Vo&&R5*?8k4*}~Fc3zcT8%$YvS`a*lr|?i7M(_eIL=@^m5VT04 z#nhj;YHUHeaqELXX2|*vkv^+BegYpxAQD0`n^+5pO z+y&UKNx7F z8>E|^W?MOi0*RK*dPBcUhZXt4P*@DgFNVV6e7zLLtsX%X>XQu0Woo-Bum1Dl4G*Px$RY^oaR5*>rkiSbpQ545NmZfc?Lg4TOha}1tm!!!*AZoRxsU>QX5Nec0ho**H znxw%Yj2a`bu*QC12EOo$MWES~3ejy)Z|~{bJ#dF}?)Q9u92j-kj7@wxBmoMv0a(O| zRiFBJPcL0fT(Z)FsE7f5R!e8u|Z2uJ+M_-{V6M6mq)HUd;s|E(vqO^(}f>* z-l%^yY^Df7hg&TMCVqRCI|IsH!$I8CX<#BKbv~)!>nV)`pqHmi%0{eZd0iekIq6hy zdnYAV*EUTvughb~XB#AlZS10H0alim065KE10aM>wN@s7exmaKhXTTps7xf&Tx2r{ zp))_DQ7XLyuosU}t(AE!+>uD82}h!Gh@h|1ZZ!eO=5Ez|Ka~NX-D)C)Zi=l4D#d#> zyvd(&cyz$?OBZ~3m81Gv#0oof17q)>T^L#bOg9*P{Q=mQjPhW|npyw=002ovPDHLk FV1iNKH=)m4|Tib)Jo3Q*u3Ep-O`0#OqaR&#- z|KphqJQhX&RK0kXGcIAcC9y#F`{c$(MxlaNZ=5ueDtH6Z#gk?nQDR7!udST@@x|%e zJqFHd8#xZ}9^qVbH1vOT_v(M@VKpKK1`G^4Z57yV>YSDXI*7s3)z4*}Q$iB}O20-{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/pirate_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/pirate_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c294f38cf94cf1f921209d9ba56126293b7fc0 GIT binary patch literal 501 zcmVPx$uSrBfR5*>TlD|tEVHn3h3HFjf;$dQgR8FytMpGPgQ3Bem0ii<{3zia)YJ<46 zgMWY&q0TyW%~B^t5tlChz|EqVL^(0FgjOqhbkJD(I2<`H-Z@zOZtwHs^M2pwdEp_I zOr<56O3QunHTLA#$OO594j@ZkK6`FACk6(IwzazE38_Kp=}Sm=EGi2t+mcMBC8P!= zqy{CKO3T8^wsgm$($klakQ%gHcKEJfTO){oSy&o z0C?>##3-56KqIr$8FB@kTtR1cI%73gYFr&?PZ}(M7$wdx3;@)+fE5EM{y4E5SO7)w zOVi_e0E|CZxG7NU1K{}A8Rhb2HJ}3d)bNbfNB;nbX(nj5Xg2ECUf!P^Sj`SVJRFf; z{FGn6LDS3uu5GLW@cnR)7y2oiT(b6azj}psz+wMWQ53%@ieJV*%*e}E@2vA;OQ*!c z5%-T|*V~CH#xuh_Z_@ynn#r0@*1tMxy|)9qMIX!aS@QYnb?t0!pPx$2T4RhR5*>bl21#+KorD(6$w42Oru&@ln?99Fg{{i3iwByvvPth7q&bwB)s#bA5Ab7#J1SIFAP6s~Z_?idvO84EJI7vBea@xF}Wg5VpLvO6PN~HpXGgUc4_5*tpN6!FPGm| zt&zZYJsq~2^m|=kHP*1*MA}B{6smot{-QxAXpt=x0NFy(30k6ov59ZldkxUA>aFrZ ftNeA%|2=*H?-X3pFp6$100000NkvXXu0mjf^&FAd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/pirate_main_icon.png b/src/main/resources/assets/knightquest/textures/item/pirate_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ccb1de01ef8e90d76894e658123ca5bbc64ef95 GIT binary patch literal 349 zcmV-j0iyniP)Px$7fD1xR5*>*l0j<1Kp2I;vBoqJLJ^C^g^NPTLg)p$${Bh9FW?1S6<1!M2dF2> z%0mQqT^K@BDT1+MkaUsEV2mv;+qar||Gf9Ve`es{LjXMX?sI@pu61FPZYu{JyRFxr z*#Te?FGW+46U*TF?ty$00pKTn=5htV$m|nzv!bKpGKpelyJFu^PP1LcG>Q?9`*U2! zWm<|C@lxm!6x1ja%OKcYRTB8tL3dSRoj^eqh6BmiOEo|CQicOr69Y6kK`7Teeca+F z2Ji{MOK1~xGv4HTZLCI(DdAg(v+IiuE=A42GdpGc;__Z^dPR!F(C>c?aZ0pW*STZ2 v8JX38FqbPf>6ZQeOZ;k}OwRGA;=h4!JriT$|LZ0W00000NkvXXu0mjf*8`QS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/polar_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/polar_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5438c0ba909e448a3ad27a8da5805127ff4a18 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|{5@S9Lo9le z6C_xf`6VXa`2X?5<0;8anlI+#wQ;aD@k>S!p8mUO%I=)?FBaBLO^g5$dnsf*+ZM> z%n{0Cp0Jl;@x;9iybD;Aq@~%rQmX2-58wSAF8M7ds!i$N>+AeG;zXEtsjp85X$=UU z-m;rR@<5E~&fOBR`bQX&y^sG_Vmic<$tLr%RpacjX?+&F3a120&Px0{kZvVs%gn*R Ybtz|OQ^uuapbr^5UHx3vIVCg!0PL-9CjbBd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/polar_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/polar_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fa4fb2ce4323418cc745701f8ab64a3d7de600b6 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Zh5*mhFJ6_ zCoB*!cqH)Oe@&HI&Ma={y%H`gErB0C^4^W$J(kA63pGwtWdzRv3NmSpDklU(6e z>&)5K{XE{_gx1OA(B{jmucBsYe0f~W?`izt+1A%TWZ2nnBt6_exy!IwMPIwwF~|~R z%Hh_^xjg6X|EJw3f3DLew?^-Rxk&nnmHcTHWf^A8y>DdM3`G^&cBs@|+QYzYBEiee zowVn`0f$VdTcNX#3gl)miaR_Ko<5;&*Aio!|9_;_=L`I(e|>QE|JmhnfB3fw&h?+8 hn9=2V$w!ERA?2-iz3z&A%s^i2;V=jsb zQ`rxnd$;FjHTUB7#WjKXpIUGCS~BF#mZ`8)>ta0OV)!<8zSXr{rFN6)2R<*=R8#9x z{ZR8eZ_$loe3^QCnP!EEd+P7h6UtQE(7T0gQ?w+*x_)Vf(uo^x_%T-8i+|%U&R}J; z`r&aduaMlbpuJAoN}*y!di}9Sw=x#!^@l`ecNn{1`69RlfT(=u1e+tk0pHc8XqwrB+>SEo9|NsB}TR8Fm!U_K>D*gdE3nu=r zto#Q;75^(M9tWoWkIQ@ zUq&I&5|4C-7$Buk666>BA3tD-iIIK_RLfc55n0T@z;_sg8IR|$NCA4J)YHW=#KZgU zw9|e^40v3Z8}Kfb<4WXWetPl$fA1Pu^^M9mHfXALpZKm3ba`_}ZN%)a!WJJcX}!IB z^=qJaPOW%e+wFDd7rb|~y6gMhiN&TTxTfc_W%JL@N1s~{&N+BG+a^v;E5UOA(eM0h z-i*tCSYC`^n5_AnWyXg|YZ78BmU=nH?q|RMW5EJdvmXltq~yI=ROCY%el580YeD_% zX2-{e8=f@xSID!e$n!+Wv%b08&ibM8O^pSEJW~(<$!qSG6AtWR$a&bjf3>RFx5jP@ z`5i02K4knoA*aT~p^kU;j|(|9SLQe&cNJ^bJ2G5z??tiJ7|V^q@N|C8Tt z-=T4{j$1zE_u4rd{)*lF8qIJ$-opHE>;8*-mTx&*eJZ^8Gkdyu{e$>Be-7R}FF)t+ wAIIu>_J&m`9tQ$67ENrpD!{{Bpm`+K!0f|(MpFjP&i)DphQcbvcQ>jm%7FGU Nc)I$ztaD0e0su-7GOz#u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/sea_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/sea_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7343ee0d2969fd130989cbaffbcbe3b673410598 GIT binary patch literal 312 zcmV-80muG{P)Px#@<~KNR5*>zl0S;VP!Ps{uCLf)OF^&-ViB}cK`g~qE=OuzvF*g2Hci7|%HY#8B}^$^Q-? zS#2Kz4}fDlhxIaXXfA*_Q7DbsMgVcWKyN@Q-9KYNB&;uqVHBFvl)A}NKkEJm*?^!0-+~LM_h@qFIt^K-w zVyO_f*+C$~aE9mke<`xS&AW z=gx0U$NJy%yz5%UGjrunp3mX$nt@`6KA+z&DFFm|cXqWOQoq&Ezo>?Xe|>z?1B)Fq zA6}W)%kybgl?Ah4wABy&q)CSq7EL_x;dmrh(&>BYJo$M#2^Ga@d~I@4sw$I3*hDi# zj0_A6R-D<-?j3RD=%M}Q)e;fk?3zDEezQyd@jZ<{Og+)m;Y=Fm;eM?&i~sJT#?3R% m3aw##!1SV%En8_3F!Th@#&T;lo5=!$i^0>?&t;ucLK6U?P)Px#_(?=TR5*=eU>H{5KNK?{(dhE%>KK?{f(qA;GibydVPIfj`0u1*jI8iKvY1B9 z5e9{8$KeLDz)a$3`wO>9l9!c1#3Tj6xw9U_DadMJE?{_bV*y-nC$kQNKz0=a&!S`o z5uc3=3@U*Pm)<;Jz@`>%fQUu{iUcn3=EedB5sd^)1JD7>-e&|2V_-lEgEu!8FbHH< zF}z8f!@zK7J;NIY1_p*W28J(a8U(Vd7~V{6!|sAV<}V=(l|YD>&dgzWb7l_2$tr=U zYS0bfS(ME1C2lSQ0|O*H{y0k^40e`+`}<4WTn3&+$ymLEo{;_%DL2#s0INY)Cs*Ms QMF0Q*07*qoM6N<$g03ETo&W#< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shield_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/shield_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef4656f8e0bbd4a7ed2a46a876e0ce0013221ca GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|!aQ9ZLo9le z6C_xf`6V`X{8e}5-^KWUF|V$~8&gvWzPSC3Q~jd1F}TXNF;4Tcs#t4Z_nxcEPOXI1 z>yHgj@4+&Q%#wyg1|x$H8{HOeWb9%t6frPhV0dgTx%n%be+SS822WQ%mvv4FO#p@5 BE=~Xd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shield_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/shield_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d0f222c526f84626f2525ddc02b11c86c002c7 GIT binary patch literal 365 zcmV-z0h0cSP)Px$CrLy>R5*>TlD$glMG?i^S zNfi>X5EKl8h!zXS5$-IGm_x9z2_nc^oGg3ZZdBrH_G8|>nR&Y~CNd*p@;6+YfPAlI z=?e#dxupS9^`VhJX)E6s4#!>=fL$EGH}b3kz12;sm0Y~{0=TOGO+fe&!jEiW1(OHL zyrWVHfW2nZn)6*iK3_I?=?w_IKy?DJwY|=C-eG2=oXAU!@X)$Ww0`&a6t5>|6c=Vw z?M@g*P)Ryo-#$##WcxdX6-n%Y1Y~)6Ep?}z%_Hb&+~53IH6?I(xf1t%pcmIP=ooQxpC(#~S00000 LNkvXXu0mjfVHTD^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shield_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/shield_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bebe65c66e0f4b27870bd4ef258ac4afd2833513 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|E_u2*hFJ6_ zCoB*!cqH)Oe@&HI&Mf7s?}i;59E%@x+^db?J(kAc*}yve$j|KjfFDawe@_l|-^g7c zRq*zi{FwFZUu+ZOsdaQL z=mioyK#qZ(BeTT3`hUJtB>b3bzC4jUcdwr9`TV{Adk(t$%dKYI!EiCr!H|JrJDY3z U_T=3aK;JQVy85}Sb4q9e0D@$7O8@`> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shield_main_icon.png b/src/main/resources/assets/knightquest/textures/item/shield_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ebfc3673d9b681488fe2a3431c546e089778e1 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|)_b}*hFJ6_ zCrC_tU@s!9dah&L3D2W58i643{@l$cKJ7Rn8F9h)%f-p=VL#;CE%L-;=3hRnuttkh zyrTNIWf#-gDMBK(J}>k%-o|$7v9Rj~Ur*>rtT^ZyJT39$k*z!+FfT5Q=k|8lWQ*$m zl77yHF$~N=k%Da-7m0jid$aqWgsZWl^9AOKjf_&Cu0Q``00KGp%X&a=SeS9wYE9J! i$%Z6>iCOJN3=9ia8)XO^8SMu;ox#)9&t;ucLK6UTNL(ra literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shinobi_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/shinobi_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..701b3b6ff804b88a679133a97de57f4d485c7731 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|=6Sj}hFJ6_ zCrGeL9Jq1m>|gQu&X%Q~loCID%rSlR#p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shinobi_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/shinobi_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..602431f8829ff94940f1169e9423f0ecc9388315 GIT binary patch literal 369 zcmV-%0gnEOP)Px$D@jB_R5*>@l08eq01$>BZ3*$C8c0-vVl5P^rF0b0KOk;8y1NMe04INhi{L2O z$w4bxBv3kt1y_~eP$X1>H7TLAT8brZAu+ML-gd|P+`V@k{P`IASx_X|9Ryg89bf{9 zBFXMfc8`}Y6SHpxKsBbY5LY>VIt(<4`$fs6JgWzrG_Nk%-qtRmPAjAh zIk-M6VALM~FpL@i^+uEW#VPZ1IVNWk0e$F*;)q1UevLB5v^-1q)A{{~t&a`>nbb1! z_!MeP0l@5A*zI@Bw?|JC=|B)fcVcuba=L#=uh;ds&?5Px$7fD1xR5*>Tk~?d{P#A`vmJZrNE+kWg2v)>E3_|E28O-dUzrugnt>7Yph~+FU z(qb)*RExcA>13MJ6C$+Va?W>qc+bm$KgL;J!_)Ye!J`Iy_PZa3NDrx7x{FS1P!w!`;KJZ1h+Gz+yF}ZnY_ubzIe9z7rW}Apqd< zb;*tCGv5hZ)nT!ko(4FWmtG!6lT5ErLEUOIjwYGqypWoB@F35)LInVu{R_HM0Z7i1 z04=|R7jy~x1D>Am`TE=v_6K-DmzLit1}w#lwHRUBwWMa-HP&LpQp}10RmUUf4QV!h v0L?~?pf{xIc)3r>gsB;E`rH1_|24h=W2IO@trt@#00000NkvXXu0mjf)(e-4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/shinobi_main_icon.png b/src/main/resources/assets/knightquest/textures/item/shinobi_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8bad951339b1d114d0b9d67e11e91c16cdceb3b2 GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R5*>*lCes|P!xv0gh*SI8b~3yWC)}d97U*P>f)@Mh|k~~2pt`ZPvGDq zba!d1i;I(5yu(F@(iCEGu!QzHHQY7{IJo#v=bZnX!}$QyR>fU4X0-pNGb3R96dwOnHA7f2}>^tv?aKK{mn+ua4B z8>l8_8g-vRuZxsoMS`U#p67Ga?f@VX6Y*A|si|zYJ3PM%21Op!Y$w%uW4i$Cc{2bG zp5nAGiYHkQbRu*Er4OIKm@7j%a*Ipd01texyv91rBI38mY_8dks&19i+}^GN5PwdY ze$6scG8aVg#MntTIY}I@EgJy&G0q)^H4}BTDsuoT(Y(;W+zb8;HQQ18zbL{FZ(?tZ T!gQ+V00000NkvXXu0mjfM7*So literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/silver_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/silver_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..133b8084c3ed50638fedf694d9d29d1f3e6097ed GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|j(NH`hFJ6_ zCrGefVf8W!`ad;g$-l`;=bLmgHMQ6u|J(oliKOzbw46^q27-=}rEJNrnjqZPS-jm? zBHHRuuFysJn`Y#;b^xRb7pqi zA3nYOyCg_TE^a@|^yX^ExZr-rn5c=3K;Re|IQ!w!XSHqS$G;zbIz@DA;2~zU<1IQX z)~qPx$d`Uz>R5*>zl08U5VHAcR<#LOP>kW6z=bpaDT7-#`k|W ze>2Dv5Hf>e1`P70Q#uDC3S3^_mgV(r1$Pca$d^tr0|p^8C;(c>42sdwLMC^tKE~on z>Fyh1Z*vXHu5fX+B=@&h%FpDEnVEJ*;|csyVq#Wt&a(@^j}5BTJF3+?0PJGX6Vlkg z|Gj}_SJ*!|WPWbEX?l8hgOielWmh=AsjCM5N9W1sXgZ1L7y#2#QvjZj^zMe*4L~9~ zhWql)qx0nROo_#lk}Z^_cKskCBD&rxy51_;LRqqfvTW@iNi3f9+>6%K^>YV}I;&m& sgyL&__&N{(_w5w`qpe-}O|}1AAJ_<(>#8%=Bme*a07*qoM6N<$f+a`GTL1t6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/silver_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/silver_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5887e534b76a6166da6675769da937b17efa35c GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R5*>zk+Dj{U=)QvwS$WgnzSOKNkEV+|B_?4^W)M zRWcQ%jup|NSqjCHDkzw=;OL-S2cb|Cjf#V3`w#aXzH@*0x2ky+F*IEaO_!QikzX(8 zh0JCxSCvh(QJ;9tMxCm%$qFfaMG_nx0FcD-r!y&npDINV_9B*^3zU*qZWv7byXb*1 zit+=LW3#GOSaU5(Px$nn^@KR5*>*l08c!Q51%s2|;BQ(Ky1wVvG}+AW=jFn?F9jf( z&WJ~$(um^zI#6C(?&|6h&u8EFlwdNQ5l2TqC>H-xD3vjEjipsv)Eq}?H}`+&Z2{In z1ORESR?7f<9sG!z%8Fzy~}6(uhj)`R`L=u|)vpGjSj;7q_?f0GPBA zL`Ob70h+Fjp|4};8nM_SXZy8 zaDBu4%2r2!hORNUki*cm7QG{Fbzn$LjE&3L`Ew=v;zLc|U%!2zet$=>9WWYC@OdG} z#@aLh$N3Wg^0tll^O(xnNlS=OrCKeM+uUV%P-S`c3whg?Z|?P#a&cLset(DW zdrAkO>Dq+D8kT8F%`#2GVU4EyALRR<;``o;L8casTJ{_A>h!E3~rT%TQtebAQo-ulJ*3MANus#JgYr19Dp@ y8flg>wlUr+vMPzb6kM_X7F_Nb6Mw<&;$UwY=lby literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/silverfish_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/silverfish_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0a0e3cd050e51af54eef92ff23f20fa467dc71 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Zh5*mhFJ6_ zCoB*!cqH)Oe@&HI&aCdErIIczErB1zSasL1B^x(10zqP9gT)-#^Lj@Y=zbSoZ8e82 zY~YPAaMSV6o_hjD;zBW0^jahb}wva zoxQSce!ZbZ(ZAFi_k)f80%zKUrcOG=J2;KDhe-?DDuj=NUYAy{LJ_;~4BS cDQyx1gPpQlqOai{ke3-eUHx3vIVCg!0L}t)-~a#s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/silverfish_main_icon.png b/src/main/resources/assets/knightquest/textures/item/silverfish_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2e1b60e77cfb08e1033ec6e24d55684cf1d078 GIT binary patch literal 311 zcmV-70m%M|P)Px#@kvBMR5*?0lD})h01$=01PfgXZlPW3&r%$OlEvbrtDRhne^Ee?3>_TXJxJ^z z6x2bS9O7m`%%n7{qr=VO=_oSR6!pi?jC z0AiRHuIGnbU_j5FBu0BHKXQL}LmaCfgU?U7Xk@Vm4nJxdJ^K)4PGeTJqVzK*0p$Iq zBJE~V?13Y$=Zj%lqQBMzkbb5lRjnBI5GJT_8@g?_J7%jjAKea%#fIV7W;PuX$0|XB z-|tTVv_>nb3MGb9Qo+?3O;K1zjn6b6eIexIdm#A_{=)qm?E%jlT?8O_OhEtu002ov JPDHLkV1ftZedquH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skeleton_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/skeleton_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..62a796b77fd67e3ab24641c63e270f7944944859 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|5&1yc@g{FhX4Qn{Y|#mQ)|o&1kIafSsgwptS;%&!Xg0zIkvTuGiJ;P__A?< z^#3>Sbla-=f=yZ6r`_H+HeEhqoqym|Bg=FOY`$M3Fq_`f;Y{Ga`f z(#QW-z0uk6<4@+~|HcYOMZ6>w*k^Q1U^sj(*V-`0F|7HK_zdlWUHqa6-uBL-3=C{@ WTo+_~+I}7AIR;NxKbLh*2~7YN;dhz< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skeleton_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/skeleton_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c7bdaf43015580b7acd81dac033227f5df6b956c GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|u6nvShFJ6_ zCoB*!cqH)Oe@#^m+aGa3fwUiA-fDL#$cvjFp3R?c_+`U`qFJ+6Npbx@dU<)oRl|oy z4G|6-86yrW+`7=z2n33YlGT`j;BZ%02^$c!Eq(5v@Zz8p+j;x{X$e5EqwuvH*ZhbN z@jf0;w)btjSI_2A^6&b^YrplC6nGvlW>}MW;KYd^tt#3ZcQTzdTeIzP(ZT;2&fIPL z7AWjE1|--r4kSr584GNWsp5F9yt%WGvAKVqjkD_l%Q^9a8Rs4>R`0(okkjzOV1Wb! Z1DBHhl$h0D=L0>+;OXk;vd$@?2>^mPx$CrLy>R5*>zl1)m(KorM+37(`|Z_tg4LaT<-UZLBOhO9k>7)Y00^a2efYRRgH zDCUC%5`xFbxR4nqF@k~%9}M&6KfigrkAXijX)KJr&wOERKsI?olP8>_5I}ANzYl8d z6on`rkT$@0GNs5;%Blune~4)Egtl#U;Qb*2psZ?&EM+{IqB3B&@hPjCm00V1gNH}n zii|jpIX)e=z7lK7s%E$GKWp0tey9Fz;L9dYWRoY_A7TJ$8I95Y;^vym(FozW#Bof1 ze&t-2gwHRS9AMc4U1m9V5T2_qgy*uHJ3|xsIH+`0$M5e%X99iANS%G|;0G|+73v263SGVpvI?vF>nT?yDS6fFYEwXWD$Hi;gb|0R7=-9$#8@twT znm%Q5bI06HpeEsK2j%4Cj-OfrWY;O51DPXI666>B9}_V6`#%>1%5xTYL>4nJ@ErzW z#^d=bQhA) z&eh-W{=b5}JD)hir^;uU$Gv`NO631$N>bdHC%MqqaqXGVjbE;?d2S60J;;#P&u6=> yj$@)EXa5E1=@Jbe_e$kmYy2v+Ky%XWdd8=p_)c7ln8F5h0E4HipUXO@geCy(D1QO~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skulk3_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/skulk3_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..afbaadeb871a176b0e93f58e22eaa3d9e74857e4 GIT binary patch literal 425 zcmV;a0apHrP)Px$V@X6oR5*>@k-bYo0Tji5Ps}egh>E6$hG@_Vr!=!gmk=@q$37q&0_#5rBA22` z=}%}A456VlNNI79z#)Q$Qh4P7SH+-0*u zZ-rnati%r12KF7Fuu!UNx%kNr0O!dmC6h`Ey6;V^%iHYFE&(7_S~O$>0B3F&q4m9i zAv*PdxuQg_DD?`e*lLi8Z65Y`Rj1xUlOT~VV6!`r15uoQAJ#EFQfmaK--jHCVzWC) zPx$I7vi7R5*>@kv~g9VHC!HmPI+_a1GHYXllx!K`5%JxtoGp;Ly~!=np~l1sbGJ z5F|CU*b+uWL(m_bqR7&?buT1>H&Qt*dGWp1rLmsrea|`1!}FX2e;z(}K~E(Gz$hDp zqhZ|d!~Fw=<9CxcR+jhv1%Zpr?|O%Vz`-t#B%UWRG@bYj0brwDXed1kk2pda?z&Px#07*qoM6N<$f?{)|_W%F@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skulk_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/skulk_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70b792059157fcff7d30fcc0b715eed7cc6df0a4 GIT binary patch literal 295 zcmV+?0oeYDP)Px#;Ymb6R5*>zlD!JTFcgJ9#Z8cEKCI5-=L7P@^&KSlgu_`Dv93p9N<>=Htpvgmj0Y|N*YNUI|Ehy39iV}M z;b>GiEgWGz3XaFp8*2+we@M680VvGWxo|}N7L-}^a~_3h9%$Sgp=pkwDyphgymkbD t@xWCdrhv|a{i$?TX`*SK&P@}4j~DB;c&y^_f@1&x002ovPDHLkV1mtld>;S+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skulk_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/skulk_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bb8cfa2a2414a14192753b9a625da87f06eb4a GIT binary patch literal 451 zcmV;!0X+VRP)Px$eMv+?R5*>bl20!KQ5400MU@H`YC$qDHe#a)iBuj7-++DBwiZ5s*!lAbXd*$a z#lotaA{}BWX%n#^Q*D(Qe+H$}?XlLLzS;@Bq)_%2)Ok6 zz8316T2-J+1E75V?%*?jeY$td)VMkD%P^H&yUHuKHhvlYU4+4bURI`~Yz_4@G1kYG zl|#>1Opb<`N*f%eQr;0FQmVzJDK4&yH2Rup3kA8jE^=d+d3>#>r@e)Rg*b<))VJtF zq*RIhn3`LjSAgrATb@^m{g~rB9TD`5#dx@b?(IcS2YSYG-30(b2z782_jGV@6jwqB z$1yn^bZQ!xmk;deYxwJG85xcOu&1wKnI+B&c{()>!!XKCjxJ;SCR!xwL+DAm;!8002ovPDHLkV1oUQ$Z!Av literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skulk_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/skulk_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd340ccf4bb6954355eed7c11baa0dabb5b1531 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%z**skwLo9le z6BY;rB0wzTYq2a|q$f2hqoeUa3hUhW4a z2lwwjFFB*a5`veyc$709K0lx5e?r?^OXo?9J=1E0{;O6-O7cuPB`E;}dS_mzRQ&sC zet2KFzhM$%w8_8cB9qe+o;*uSm?YS?Px$cu7P-R5*>rl08VnP!xr~U|m{*f=Yi7g=Q=|Iiz&xAO*KVp<}V&>fj=-f}^9( zA~=aqe+DUtIF-i9p{`L{q$cWM4ejFaTztanV<(=&{T(`sCU7Msi4j?2XJ)08QnK_<=PpXvymNf?; z&QEGaM83gwJ9zy-vuEdW0^p_nsCr&M0Jo#+2!P-9N0v8tH|Pz7s$2V~8pQAVKLCJ4 z%mg55j^jqh*jmgeX8>o>F|47vcq*0la=dZy-23xB$RuGz<+O zA(9MGtrP$_Ji1anzw4`IErPVQQnE?JOnGTsw?nm3P!5{)TkTdFU|5&VJzo1&)%hih z-r!?o&iLK1b2(uzXUQ*F$_2o|@eR&(Q?ow;D3(h?MhKJF52)81^%sUlNW@I0rlaaB oNWJ&oLZP7%LMOlVJHns!1)kNBFM@W7ZU6uP07*qoM6N<$f=&g)I{*Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/skulk_marbled_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/skulk_marbled_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6be3fe0a8cf2b70e6246114462840e07f4f18f8b GIT binary patch literal 467 zcmV;^0WAKBP)Px$jY&j7R5*>DlFuuHaU92Aj~1D2k{<`6oaBH=qS;kBjn)1FS8-J?BsUk!4ObT> z4vQSrWKRlPwmeC+{LI6ip4nQW)z^VNZRUBz`}FDaeShBH&yP1)!0Y!3uiq!EIF`k+ zv!IBb1uaEvRwBui`s+ug0_uaxPUymj|15BtxaDo{2!Qj%t*LA^qo~IAy?AbB41k`4K1Mv9JZbmHipJ<*N1i4MMaq6^E1T5`cm|M!z)?|2 zz%xMVB}q1`mvBpVka|gS_pGuaWk}W8iCx_=O9J`5oVI$G=`H}MY-|yL0EBaTQq(FT zQLBW6b9&Oqe{sw^$Rjhqh_fIzgRu;+-zUZ=hB-R9rrKGKqsmTWQ#G=p(d>|TRMWgm zuef{LSqf|$*DyLzA5>&TV_|udoSvqqyMvjj5dc=#_K8H}*lJuz_J$&3m0TgGrvZpW zFn1UZml*Kh_y8*7ru0Z#3}65N002ov JPDHLkV1jm~)Q127 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/small_essence.png b/src/main/resources/assets/knightquest/textures/item/small_essence.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe93cb7c17ec39d9993bc1125fd1896782a058a GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^0zf>0gBeJg&6Vy3QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`RRVlMTtyb>&AIJ-?Nf?MkhN5mUF1R2XTN4HdEl$K)kbq-pk|f_P~r3c zhtq%*Pf3tp@P7ng5W0Wv98jFIz$3Dlfr0NZ2s0kfUy%Y7yyNNO7~>zI$HdcL<~$=~>G>I>gr0&WbA>-o&& z8Jg}(HE8JfUT|O(Uu<2)%(}xw@#(sz7IlZ&IE*FnC<^5Ug{#_z2 z#{Sp=Aef-Pt?6LlT9d=Y*Vgmsuai&S@XhOJ0iUql_IJ0I9SAsivg^9N1lygx^-~|V z{8eT|CRg4omW_xdGtVj_UVGXJElIoc=+sF*^K6=5AN{~&ZEf9VKk?xC`SyWd0_RL< cV`N}RuLx{-*z$iTFn}05UHx3vIVCg!02UjRMF0Q* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/spider_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/spider_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fe380ed395983096bec8d51d56caa6f2b187c3 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|4tcsbhFJ6_ zCoB*!ND@v-e*B}~_s{k9@)ECRZpbtfopSU-j+RFE)dU`94_2KWD%U(U7k;?C|NpU7 zeM#aEOcMT=r>)5;X}HSG6?BM4UqV7+o%&Q`10dKl?I!zK3PAd4=-PFDFhpXX<4o<=O6YOe# zdQOq>V?Gn}M^ff(?ZX=P>UcI|@%lAv39LCeGXE#e?LN0$i-F;=g?a3XYtE;EzG3im L^>bP0l+XkK(=}zg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/spider_main_icon.png b/src/main/resources/assets/knightquest/textures/item/spider_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e97ac50d3fa3419f8c21238b219e09b08d8d2aaf GIT binary patch literal 351 zcmV-l0igbgP)Px$8A(JzR5*>zkv~hrP!z>~3B@_m76OGr$dZ^XlVlM$3Akl(4LEixUHl5AQ}=v= zEH0UxGdQ@#xWqs}2sl_BU0#^Y-G^U6borjI^N~5P%qI zLtMvd`3?hVIsnznD_7Sy6lK;s;r{NH9lxRiVzyY}2O$8{$(W+dFb#+Evr7Q#Jf+T4 zrjs!Meh@NStN_FSpeQryJne0)s^=f7;G0(kFbxOY_Ik$ka!wLQ=(fk^{iEY`+ru=R zuL1G}t#Q4a11Nx!#1Yo%MW@wy+I6JRG!I}OX}p;yByrSgGK3$592bw|pBn%kvZqcE xu4BpH_8UaAQ20UEdFAlF=w<#A{!iu*u?4d6aejRmXzBm}002ovPDHLkV1hD4l|TRh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/squire_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/squire_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..79fb6cfead3dab4bd70f810b810820bd4f17d23f GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|!aZFaLo9le z6C_xf`6VXa`2X?5<0;MB9cEh+I?4@`5`Z9L$8#BGAUJ&Kv$_NbEaKG#Q2|dD7WL?y vaEsgdn`wRV#*@YmuR5|Uu;6iH6lGvow@%Dvr$~e`&Px$G)Y83R5*>TlfO#>VHn3hMG$U*5xBgjg4ZGF(9{wHf>T3de?*fs`6oEZ5fTm! zQ4I}JPQgJCL{me;X^MJv5n&XxHpDet9(SIvT-0}Y-uLsuksYE6qcXr${ z>Np9WQRD>sl@b7@;a3)b04Pcf0B!FOA(B|u03n>%?#`B5 z8(89IA;;?41^|!kCUG^(NxKQa+s8X)tu9pnKW|`hAqqfT&AKE2w>Ou8I_X~sG4lW5 Y8;Z(XfXnlfrT_o{07*qoM6N<$f=+1e?wOKeHdc`J2vDpMN)b zhrxPbr5PdT3LgG5ZhJnzKG{O@Fhh#M6QM4DDeVRI3X7h%{@?9=S5o9lD%d!=n3_We p4jgDWRQ~o}=c4{cXIu;!7!*Uh-@LnVR1oNV22WQ%mvv4FO#mf(U(Nsk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/squire_main_icon.png b/src/main/resources/assets/knightquest/textures/item/squire_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41c5c7afe3b448eba44f7dd57733196d46d7eb98 GIT binary patch literal 314 zcmV-A0mc4_P)Px#^hrcPR5*?8k+EvRP#A^3D>b-uE>RGYp($h$d;oD39W!>$P>QQB5a{CKLo|hq z2G>#$odN;L;N+$c(4pZv=n!&AticCp&vfs9?*0G&oCE(5`9aefry?O`DvI|iUgYH4 zZ~#EG+XE0JacPoccL3-bO#mk00x45*SGAfu_5fHd!>o}0aQHs{dRJ-??e+voj63#t zeR&3;-8KREc%QLJV)XmE+CnvuG8L0>ampv>pNe>B8JVD$of!n$Cim#d{&#nIYG?oiHdQ742hSd5)tf&5&B+A^ z6i*hsJj>i>E`QJHQ3<1uF;M;Cb+*+HW~raM+qXzkyWuB)TQSfv+CWq9@A>?wUR6?a z$_5244IuyhyghR3ByAmLa%P4-n2>U#xInde!5XXPslEJ%-`n%>)cje*v%K$ZR!Ra8 z99(`gD5US4qK_}?&Tu54}wV}JG}hES7k4vxvoZ+ae`QF8X! xw7&l*ubpA=?VR~Em~**-OoQOfup%A?23wo{PXYZKHv>bD!PC{xWt~$(69DkvoJs%y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/steel_sword.png b/src/main/resources/assets/knightquest/textures/item/steel_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..822fcb5e3ce3aff525781603c1b99beaefc8e298 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|E_k{)hFJ6_ zrzkL2w5t47cbAVb=8=fDnv^yn+~d;!X#Tjr=G#hC?lP>(XtSK3a`x`z>;K)$7{gkR zP3x1G1SD8YH!Bn?E&3z@1pnsS?wfz{#-)$@cWhB=-oM_I83>$HQY;SNeEeJTqt*2r zmjv^KH|_WQWV}mJ<@nY~Jy-s}JNfz}yM*0YKdoc`U0GWGA7+}6;XEZ}$v<(csQ==E z0&Up}#{|TZy^sHYFMmJfLwIOPM9n|8!?XGGA1dMhaMlC^{l?(w>gTe~DWM4fUPy4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/strawhat_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/strawhat_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf23b69d81bd904a0d0fcfb3c1856b7ea76a7c9 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|u6w#ThFJ6_ zCrGf0FuRp7CVLmkkTD*R5NXRIzba-$Tpk zd|ix+Y-@Og7KZYy&E@$&kvH+sGab)R!?tY!nQi|1az-^(A15r-4VmQ_6xy>v{KgH7 zf7&NK4DM8aYI5{+V{&~syL`T+OG}01JKM^GA6{SQzoYl#&r@w?AaI`7t8)0ce!Qez z{m)Yq(v?qsczHW~hm6qygNEttvm1dR@zTWSJbP^Jfbrx$8~2Haxj{A@&PeIeG3N?k ZWDxx6R;#JKG!p1V22WQ%mvv4FO#sdoa@qg@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/strawhat_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/strawhat_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b44f0fa9f63dcc09480f2258463854cc48f6f4bb GIT binary patch literal 478 zcmV<40U`d0P)Px$m`OxIR5*>zkxeKBaTvybyR+>sTEv)I8)MZRILu`oY(%S+Qj(Md<)D<4lvZ(Z zRmw#vXL5IPL9AK_)U4t_?D#CLBG$(g_*k9DnwZrUsP*ZJ$Eph7!Rbs7M4#3n&o`1Rn8A zVT%24G&QKSb`EfyzL@j?=z0dZI*fjDid-Frr!+xDLR8eRMN^21ik8qUU6C(ikDwo> z@Oj-dw)N4>HUL3I0^s`S27nFf*;-lP)p$p)QQ1wd+m9NO%1pqjnb{?CI6iITzBKkD z<`9X-%)Z`1WLdO0UH@D)eRfGzWr&5vdD~?7_ixN$BcajL)lPh*-)c^uUH;HH8uWCv zQ&kzVaq*FU$3eCTVsWYI^Sa4C8x-VuEk5_oJ{x!h51G4Lm!m<>*?u^C;$Ke07*qoM6N<$g7UfAhX4Qo literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/strawhat_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/strawhat_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..96bd158ded82da8e3fa28afe5e92358982e07c0f GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R5*>zk}*pHVHn4MStQ&LCwE99mc@y5i^EYvNP|laK}&9Z4TpxNwuC-K zAEJgDqQ@AEwW-}`^yfq$u#VF_K;gsy4=Kvy-9 zGA!XX>vJ>juFulyI<&eDx~hp**I{0L!wn(<0IqVqiPO&f)<`E-Nbf|c-PKv!9&mg# zaGjG9lwNC}fDv;gAO6wv1OOyWMKVvkLLd_7b|Hfq(WuW&<6nhh`5kquLEtxJT T%$2?h00000NkvXXu0mjfqK%;? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/strawhat_main_icon.png b/src/main/resources/assets/knightquest/textures/item/strawhat_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f02c2ce4c5a613a40a24057c1a582cd1191bda5e GIT binary patch literal 527 zcmV+q0`UEbP)Px$$w@>(R5*>Tk}*u%Koo{QTWnw#!8OE+gpE{JVlhZeAS%IDWnk{ofq_m5%!yHl zs=&fPAyYdrbg9%aQq>Iv2&PJn7lw35Dpi)!1JT-<-66G`Q=%^ITkh`v|9kI$_YVFs zG=PQ0)ubQ1_x&e+3fFR*Z9Aeo)2bqRDCW z2moigfNcwQc1iU1b%5_zux)`eT>v0#b^w?v%rI4$QLyx~?^kGF2j~DvEU9j7WYsM< zH_)r)=2$V#0jO?mki-%I-4hOb>vI6q5B3qRhj2Z%izbb;I*qeB+eI_O>j(P)?5)q? z2?srpElNk1L~&QCSUGNB=55TpP35?ua8cZ)baY7|TRjK0@)E|_C;+k<4A@U2<&3dW zYUL$7;q=BR#wW8ezJB`-?Q@N=*W$YZNbJPx$6iGxuR5*>@l0QqsP!z>~mIrANLA3A+p(tVz3LQE*ba9h@l8zlZW^r-sNg$CH1d);u5{GJ<*QDL`Oz)j{&$)lzg+GstWuhzV@j5}zdsQ@I zS=>Ffa4ku><^k|{zn{Dx8Z)3Cr%epd z&3Vk-6?hB2kg@!MbAF5M=nR5lBF=*{kka;U?1z4GKi;eW@ci|baGKDVd`$CaaHQ?f z(IfQB8w|5Wxi-SJB(@_NwoRgo9(@roVVYk-Q&!_nAp&3!6nPQzb0b`I+7|&&-gxyd sr14vNL)%*!lUbyutgc<8boPIOZ!y7Apyi+)?*IS*07*qoM6N<$f;cFWN&o-= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/tunic_blue_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/tunic_blue_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e35cb69c363847cef7dbabaab4ea310293c2f8c4 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ZhN{ohFJ6_ zCrD%*=1lcY3&g=SGIrR$Z|U8yO`Qo;q>j%l*Kc6C5W^pL$SX<(x(!cz9@!U)%Hf z^~P`ZSI>L+|9^c?1+PF*z>o7Pj}9p;nt0&DD-RxKAZVU(R;bO~T+HB4^=5Wut(EUt zXP9s3Tx>1Bno)`A(EqP4A`&2=x3}^D2sE6j|NKxlQUAw_lg1vOHXZsoY0nysnmu|6 f2?}SqMVJ{}>>O{4`sQi?y~*I|>gTe~DWM4fg@brf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/tunic_green_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/tunic_green_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..22487b753b22e19bba0a73859b224075f4d37395 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|?s>X6hFJ6_ zCrD%*=ZoVaJ51vxH#mcwYNh0l*f7@ouPSXc}54-cQ=^Wyj#2+D< z=W#DN0SF52{Of-B^Z9+A?{apBUJ6+>96j`GuK0g$O^rX|K>Peosw kOMX4KgoMXurlSlDx|6*Yr#(341N13_r>mdKI;Vst0Ly}1beOStvT&2Pc#FcspK=8x9*s`VYwOpRJ z0gJ@Uf7V*kMjoFw8A+&2H8uc(m>Jhke)#h_zwK}NdE-C-|Mv^7XWS4`@Z`^Ff#V-~ z8-XBEkXiijzxQW&)FtW?TvU&4Y%oi5Sz{vB$#NXjz{l4N}3uYbBQc0z`YbA4XasrO@%Lt}K{Cg^Xc-!XXAEgWa{7Y@i zuD&TzA;0f-U|^u|`F>4>w}s-*7blH9K5aVm obJCtQ8Z~?L5)u^7a*HrCG_H%{&9_L{4-78`Pgg&ebxsLQ0MSp8UjP6A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/tunic_yellow_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/tunic_yellow_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..da5468da9942f323f56294a7bef3e685ab92384a GIT binary patch literal 335 zcmV-V0kHmwP)Px$2}wjjR5*>zlCeqyK@>&LhD>2GGP>IYi`WE<;F2^6DP+=F?EXOhBj7jqCGiLR zfYl;k6HqJ!i!^CMbQcX+EXmlYWHM_+V&Q`+?&ZGW-uE8-%j#)q0_9t;r==;iyz+H0q~r@SUpaJ)6fuUL9_m7@uPN` z%Oq!z{ILUP25B~@;nz^p1>Lw$H}0dR3mSfnG@Gx>T?e0AXx0TMXFC8~pT9A>&p#sA zTi6(3_%H#Wb9C@+1m^<)&np!kjWJ6{?+}6VO&A;ka620Vu!?8d)6a(#hgB+4eBp`| h7T)LpeivcudIzv7U0?X6hFJ6_ zrzkK#nfC3Uy1RVL=e6wX|J|?p@M{009+6D8r$FKRdpFmy`g4cea(sIzr8v znVE%+p5L3C-ed0fCSix>nsW;l=pTNtepN@faT_;C;hLkN|LxQNo>I_QeeT1*kG@T8 z3w9iciut;qm6`qUa(#Qrd-nTI0ww$W^_QKE7TNNzn}g#pbI*$j+r`5F#_O!>UNlo_ lwkMMk)1fEXX$c7o4BB;tq1zRnuLAm%!PC{xWt~$(697uFd#L~b literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/veteran_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/veteran_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e43e146920479d5de6dd53d28133e6445a9f9fd4 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|7J0fjhFJ6_ zCrGf0FuSGnZCv`eUgGzgkAGcG9~3R|kNf}sT66gS-RkTA_pf1`FT>sQ@xw3GHuwH_ zhBXW^Bs31H_Fi&CA!{7W)K6O98*mW%|V18oy zRpQ7}QOPNyTNSxX-y83-+$XQcF5J#ILq^za`MtgMqK8?_-^U+)r90(Px$EJ;K`R5*>Lk}*reP!xqfMPfUMf%QbY$8bSZ+_I*L%b$aPR-A$c|Efyd?Dd+vGXJ}&$dQ@X-lsUkf_0BllV zfAEmWozXS#T0`7;7JxN#2vj6XBvYWrh*H1E;Qf>T*e~+!ChrK+Ilto~3<21xR@vF! z$mFLIwsPg=={{3+Wp$m~sH^=qY~_k!6vPi&NvzcyVi<)a+RByjo@uRGP9%0b<;W{@ zG@AziSk^KC!O=0MStgF3G0ifkCx^`Q#$|N#Gm57iiQ0Z*8OS`fdPDr6B~jZKPdSnr zp?lT&)$$}xZUPx$7fD1xR5*>bld(#}P!xtgMbOeEkVwl#8qyLlP_krEy4b0Y;Y0Kpd{ik#Od+x`%KV0|^S%#@c9ajSy(4&s4EyL8(?5=d# z_Iyq_D7~VVAUhHO;Cx?I{M)|8Je-kaY2{9B0|49e0T{P7j9VK3=HW~ll>yRl0c`{% zS<1w5S*kYr@|tjZ!BVw3{&*+J(i&h-qQ1O+0&xEj5yw&4OAPx$F-b&0R5*?8kv~hrP!z>~k$wQ7N->6FBT~ghaM3E1KoJM?5!?g^5kG;@#lcNo z9Nb%7)uDqBglfBV(ZRe5K@%_tmWT-I6qhEnP5d)BdZu&Fz3*@i5B?zqWO`QfI~R?b zA$87ksWBhm;_}N+5`e16{`kxy z0A{_y%j*XKPtPq0V4y!4esQ2hDrk8f+qN+4mB>-=9Bc4Z$6rHLWM5Te|L4m;#wQ|e VX`bOfy&b#Pev?|HQTp1`il=f?j1P#cy1dd`RuY`h^EB2&75{J&~b5)TNZ=if^=2n%-!?9eIu{ZYHkT>hR>(vAn0 zpRebcZ|6KGDodB+`Sd96q!Wi3yd*w+RAO59`$e_Iejp+8bGrP7cJ}6uh7a{-W_|xb qrsd?w{C8z(`JXI&cwO}gCWgfPfa9-IOFDsGX7F_Nb6Mw<&;$T!X?oEB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/warlord_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/warlord_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f34ebb65b60408bacc824c9376d3d8baae32ea7f GIT binary patch literal 541 zcmV+&0^Px$*GWV{R5*>5l21<)Q5400txcI`m;s~{v`h(T38*+R8WO7*HE}^)=oesPSeh99 z3~X2$WBdeu0bIBvY9!)@1S%$wR!iDRb#xqL9+Un_Wn2&^Ol?DYR_~pA@5#CEya+A0 zlD+Nw?zdJNfQWjUwbeI~qg>7l?H#yjXmIlV1nm&r9+!YEdsRQ6J&fL3KK@uSc*2XfD zFmZ*)bi5Yu)A1Uv@Nk8PwXxiOg^^*6g;|}=VwsZdFfT0PsR>j?W?op7Y=@HVurRAL zGOPsxK?(``56vZujFDwP(}RXxAY&ZfC1KKBvPc|6{}-qxPY}DIK@O^4KT=b43b|DP zrpD5^!b4JIV)uurzIVXt;GiHZrpD3?XgV1q8~WCp#WGF1(cZy7)EiCKwu`V`Y%Lv+ f>qFyyw>^IWl$W!wD7El+00000NkvXXu0mjfwchiQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/warlord_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/warlord_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1fcca7a0eaa3214d27f278687cbd608f1c9188 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zbv#`hLo9le z6BY;DA`I$>KQSm%cH{GVU_nZxyrhYR0oMV}icue*$mj%1%ceDs;? z3ZoZY#z{N4Rx=tb&^UNVV7>174fUCtda6Ho6M(>D1y}Np{guow*)+U17`(WpWq9ZQ zo<_%u<_#sxPh4h7*xjo*u;7LCfe-J#vF>5puz=T+ln2Lan`SAIZKHI zT0(d~R52cI@XnVzaP!2hx1~1&o+L0-du=iKdA{LYOrTp^?eX&h6NPkr|IL1_X|&~= zi$P4)=Z1%uX0!9GwH4%fR@EiY+{x%SP3^xcOUuJ9An{*#?aUAc25r4?&JDsV_5%Zv N!PC{xWt~$(697oVpJo66 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/warlord_main_icon.png b/src/main/resources/assets/knightquest/textures/item/warlord_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..097630d8c55517f871c6e74cfb39c36d73c1131c GIT binary patch literal 511 zcmVPx$xk*GpR5*>rlR;|}Q51#0H*cC~LLv^S14%^@h7p92EKA&X(Y=45J2zbyEL13V z(MA72-MP`d%eoMUc2P*{s&zI6u`s13X~LLHCzIzQGn1xT5nOmy_nmjodG~VfgZ~Wy z&@e5P5XV95j{-Yuq_N|?4DdEaWJ>?fwL`6nmT1t03 zS72IdSw<{IaB*}3Kz*pu)JJKY@QL_&zr%UwyU>%ex9;ELnHO>A@k0R0avz2>aU7;R zoU>KRz}N9fPfG0ee71A&#;VbB4|r!vU=-gz-9(ihAqyow?tNkYf#CD2 zeRfr!;4;J?g!~xvU+MtCFc4k`1yH#??t4&}Mn0PXm-ij43&K8a?kgvqmbOGPsUSr%k48lPTM5I_;a%CR4bIi=z|rXYlm&6o95a*^j?6 zfbsH_WjH>>`|vx6>qNt})J^}v&KfwL`-|qE@Du$JrU1H-B=rCQ002ovPDHLkV1lm& B?Fj$? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/water_axe.png b/src/main/resources/assets/knightquest/textures/item/water_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..893816eb75107e11c3a90577cee021e85f4ecf1d GIT binary patch literal 345 zcmV-f0jBPx$6G=otR5*>bld(zzK@f(&O;T7%I2UZUu-FHZbg0uaAsYcU%nGK=ecBmn?hmb4#9^CAYI@$k+pt{1Us zyTkF|j%m9?o~Fv_UN%Mt~45dMF00000NkvXXu0mjfn+1>{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/water_sword.png b/src/main/resources/assets/knightquest/textures/item/water_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a6cdb2ccd710c53810ef8ed148ccfb32461998 GIT binary patch literal 276 zcmV+v0qg#WP)Px#&PhZ;R5*>D(LV~pFcb#xuhzk_*mr;q8FGMt9;SmsW)IK<6ug7bttTnCIEzro zE>v*rP$rV#QY-+M2@jFNf7bKHpQq2+pLnUv;5DDI0G`|V-g&)Ma~r1bcE zFt+i7v8W8Y2_}L2fRql$qB3mH7K+OJ#mmo&VRHj1%_Mi|ix{i&iSAmWJ0ByTmO)C7 zab@0w4GaL*S;nF=em(!fq%>2KvYp3N|6f?<4O5c7ZNY2uHnxks%SN4r0YonB9(TW0 aIrRb&q?Lu~NQx2w0000QV`=o6f0{Mpb7Gj%e~72|RFs af#JYA;cjOxl}|vs89ZJ6T-G@yGywn_-8{Jf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/witch_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/witch_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..89697652ee5156e6a3ee2b24360d008500001dbf GIT binary patch literal 289 zcmV++0p9+JP)Px#+et)0R5*>*lD!TAK@>*MtQ8F*Boy1|G@Gqd-oPVJNq7K{qS#KO*hHb0eF=?P zB--7O_^D*YRR|eI1f4IL;!Eb7xsw_A`>3Zb-!gg;-*IU-Vs=sPC7G`rC{E%BPU-OY zbR?*qiMBQXvrQU+dMN>*QaBkB`}ve;YqQ>`SS1#nun)kfIiQ+812A2df%v}P5a@8$ z>!Fn5Fds5%4q$Iy%hF5B&OE>XB0|>d(Fyyk63aAb5#MoT5p;#?YZz-0bj5evTQ>#o nU|pgM-p}+we)&kRxPQ(CN5x#6xI^!V00000NkvXXu0mjf45xW9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/witch_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/witch_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cced8f4a5cf5b3c115dd6d669a3d9fe5e1d11542 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|_ISEDhFJ6_ zCrD%*=y3jHzwy<~4Vh&@hG_}Oj~x#BX&sB;J(kA63uRL%6KkY?Cz0f)LG~vfg zZ1T316;TNZ4NJIztT}B7%>N|==60W3F2}&|+Dmg&FZb04Kz}fJy85}Sb4q9e049%P A1poj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/witch_main_icon.png b/src/main/resources/assets/knightquest/textures/item/witch_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f712a6fec1309bf4b25e672f5d8e4f4d3f1791df GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|W_Y?dhFJ6_ zCrGf~I8d*l<~4^iHgMw(z2>buv^KT<=i%Y`zxHUTWY^Ks#76}On$B{H@yPIq2^{5- zD-7bX7PCG4GNwe_00cBP{Yfu)^5?XG*1zt9MrKnEPW-Ijto%HF4O_yF1Im6~jX>b& z7~kd?bbbfz<#w=viQ&7x%ug1Xl}mtbWbkzL Kb6Mw<&;$UCKu`4m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/wither_boots_icon.png b/src/main/resources/assets/knightquest/textures/item/wither_boots_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6a73e5d59b096f55e955eedfc03009abb3527841 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|QaxQ9Lo9le z6C_xhh5x9#_Ho8KZdu5x=e*(6Lg@nuYc!5dh`!am?n8ZErhfCrMIvo0dtPjl$jmkX zfjPUYm?Pz;TP)*NFFVdQ&MBb@07c9>y#N3J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/wither_helmet_icon.png b/src/main/resources/assets/knightquest/textures/item/wither_helmet_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..87e7c273a500a2c9d449de095ad95329891b1271 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Hh8)?hFJ6_ zCrEs15bVBDAM|B`^oRY`pQ_savYQ`fm3dqHu*SVQzU|T-2a#Hx7su?YO8Orj{hD0x z?~AbYgPfE?i3FtwF-;7I8+LzRKPiR5O=835&4(>-X?5{{K=}JR?cIO>{1kSTZ)1#8 z^ei~H(pFkh0tn8;{CSvk``VeqnFs2Xb9r~`uHWGDat literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/wither_leggings_icon.png b/src/main/resources/assets/knightquest/textures/item/wither_leggings_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9238dd1613d30ddf5cd745a2654280db96bed3 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|_IkQFhFJ6_ zCoB*!cqH)Oe@#^m+aGa3fwUiA-fDL#$cvjFp3R?c_{Bi5Or`EXled#^C~xckM=yid zywWIR^kc63`=e`WFW-hLM}L<_$4S$t9#mL4rx6Gq9@^vA_PmFQ=eI(mhXBaPf9qA0 zzs_eAn)|ZIw<(PdBc0g1!D1 z7}$WI%|E{G(bLDK2QJ>5e(=mudG+}c4kZ!+JPa<^Ewipo7Cj8~2!p4qpUXO@geCyH C+-ENU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/item/wither_main_icon.png b/src/main/resources/assets/knightquest/textures/item/wither_main_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..88fbe638f9f53574df7ede17d80a8f47e35a77e6 GIT binary patch literal 384 zcmV-`0e}99P)Px$I!Q!9R5*>*k}*pIK@f$%fR!K|-UW^%EaYtVIIAnMy@vWf9+{Nx7Pz%_NoB@7iT8`g{@3(aDC4HL0yxNj!zN7BTeVb7762c z0E_^59>@9{TEN-aW_WuAKp047iv)oC;U%tLLzIg=B~wVIgn=Z@@s#;gj%6#yvQ@X& zS79J^ZDMlxWB}z@w(=?^U3-<1DPRg|3wns}@eL2F6d5&`e_4`IgX!ZPht-JPdOI7U zGM0d9wmPcW>ZmOL@!DF?=zkA!IT@|_>Gt{v;Q{DP3$rVa3$|0000zopr0K)Y@!TPx$9Z5t%R5*>blf6pAP#A`vHid;v*;bJntaA6PO3r|rpnlF5BRstY(-CgR7F#y}nGNIq1 zKMm5c*xFp;_~2CWX%pN(OXk}K(y<6?Ee2BtBw))Tm$kMwuD-Px$C`m*?R5*?8kugidP!xr~w6S(^aL`duL=c>+21F$wh*|2Qi<3G^{zNBNr_BBX zmkf3&Vvwkm>foSlN+~UM%AivT4ZP=+Xi`x+xpj)tLqzZ6zX#;Tn@B+Zo=`EU}Q*j-%37zZ8J({88`W;*!mNE@mUL(-u7*04fLuM?mbqMBZtU(1@!ICPjOHR!=1YJAaJ0X` z$=LzbvI7uvPzWjR%_U~x^9nJdD+~rfLRZ>ZE@oeUs5kYM5%fRC2mb~}q`$Xs{(Syk{jm>!KIgB|TM#Q@00e(Z zds+?Nl}}1Lkj^N^7UyT%7RqfcvBcu5ZXF_m@+jFY#eMUtP)Px$3`s;mR5*?8kv~hrP!z>~DMoBagbX4HlJX!+7qteZq+7vH(6NI!_w#fX>F!`A zaTP%;T{>Ar@DIVIm_;!b6Nj|V*ns!}df>s~o^#K=ybBBDkxt({|5Gc?irt`t-)aD) zP1mDct4njcR;THD0IA<<&<#2>O$N{lhD>w~0LxJEgw5{3K91wy2^-5$0hs6-ysHP)?g+$+tpv5`2eMVbM-U9OmNd>`p4&7oSxzDZ4jG@ k)Tdshup0kA;{rK+1ElI!e4IMkkN^Mx07*qoM6N<$f*SCZfB*mh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/appleset_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/appleset_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..973a268a68dc0b74ad96c1990a300c838b6325d4 GIT binary patch literal 1182 zcmV;P1Y!G$P)Px(SV=@dRA_ir0bvwGVmH*t4neRrjvRs@5+bHC6rvo;^sxHt znbpd>8?D_q^#k$6?4Q5$|GfG8|Fppd+R_3mZSSH`tO(N!>_E25J#QdUXHhp#qrR`k+y2Dn_4s*UQJdEeR-}P#(*xM<4W{Y4O zfI_ii>^2W##bM4r)gF1iV6V~MssTF&yy<8;0H+K%;S8|N0hIhG8JeH)t4+V}`)q7z8;cvck{7rwTt~JynZjebO833V<@R9TTwSRO6o;)+;OkK(9rTkc- zSTW|2o#oX{VSfI}GvOT+XgA>B^SUtm;sXvAP5(Rn9hgas8e>*P5RXVGAUMd|G&@hv z$dODc$(pf`D8IK;7IILuUuKh2G2!{0+v~*b^1G8 zJ3+9rLy_lM(CP0$v_FVQC}7n0JSOHB+p<~-0Fc#6P_+$9=k{x3jC6Ph2^XbH01k2o z1u`wmED{RfqI5|Qz)WJ)NP;}|-J+SDNGKreBu__LoSCv$r7@!nS2b&9#lyXNu1btT z)ixUK)B|fihQ=nVYe4jakJvk1=a`+G`s^z~I-O@Hn*}qIO0u*pvrH<2zMuF+kWTA_JGa*zjlB_w4@TL*`C!A244eb>i4T%6Sypyv#$+(6^BCO+HS^#j$M!qT$r$PXWHkfgaVu|hK) zX}FK1P^84ey#RphPx%SxH1eRA_d9jvv@R7j24_qaJh17&WM8X$oJmO6v7HM{7dU z3NXyurLm~BGH6HddK|V2727Es3pc>Nl4oDZpXkK(hMLTsB5c)wqjH*!8%UNt_Wth! zwij0|d$RG|aMn2X3Xmhij_RF8oC9vnT(d0U*yJd;@81C6)$$67Otxvzo%yQ(ynOS4 zID7oqDFbjW=(F|EPW4VA0jMPnpX{d3>(LD_uK<|lif1D7 zX;2q^tPt|c#2Dt{y@w<>(f~xSUtsh3BNCY`YDsIU2bk8Tfj=)ek;#&B$hd)&Th9~n z%k+8m8(gtcW$w}#puY$s&enI-l16Slk8-dQ)RG2RFH34kBaz8c-AJ?c;)y=??gQ2i z%(v6mW3&yulUV)&vB^;Yvj#M7g?6;ND-6uv>`31Yeggvr+Eg`?Qr7?g002ovPDHLk FV1ieAH}U`g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/bamboo_blue_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/bamboo_blue_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3ec836cd26107024f45e80d1d20ef07e2e6140 GIT binary patch literal 1429 zcmV;G1#0?Px)Pf0{URA_)?Fav3Q8~Mge z0DJem#Z&?SSl(5TPu^lGfuqW)xDkB*AjH&Uq~{e=2N4=Qv=5D{-8>?pd4f=8t01cj zGdQ1OfZ>HR2t3)rqph%^>3PKfptu1-YZ9Y%X(9yCfYpT=0EiePJ+Bx<3Lvy5L0aEd z{IHms3|*Rt-zKLM>HsZ(uyHBTJJ}r#xOQ<0hF5F=fWX8!-uu=QGY^o~w~;RU7E_a% z6U5Zy!(0B0&|j`6EBAYa{j^YKs~|)QDDHLnHkjYB#2mQb%$y?pfxQXR2%w)E%QK4>%N=8)O`I%3YvA$nZ~(d#l4JacXiq0XA^uOqYlb?lqU zdHR$t?DG(7&4_|0>>3gig?%1IYws*Fdb+=yr^-c{t%9wNdw}Cq*tbI9(1m%SY4Pwcex9V_v8nqgl>ZijrV4_x&XNP zRIbT(00?hIxje2=wbqP~^@(0G+h2Dip)YIL-DV1?@uGpJPibq-2$9qAj{i)c`!HU9 zqVd141)e(~(FPh{qHg{22$7-+G> zJs76c_Af-w7!i?C04}^L95D9cMnUkmyBbokF#os_rX@v z=_r8DAB4{zM5m*G(aioQB)4svIVLfu4NA5A?|+B1ciMb^03yd zDwoSHl~@TqXlNMIA71NCj7$L9LD7xQ&8BKv!n76|J8hKKj=rXv_ zc_t0Q7I&<`zg4bldUz9jOE4*Ho6#gumYW z3;<9x)TVeg+kY5Rz0J~IRPx%K1oDDRA_|WVFH&g z&9QJL4Z!C2-H{je8#Juc(%)xO zGgPs$NKhM59>5}jm0s$Tt74BsJtZ;KU^&?tsn5@P`y0Z__1f|@RXi{cJYQ7AOe2H) zlc)?Gwh5+@VMW9cR*q77o(=POs3PyTjKF%>C|#hKZ^P&QKEHzg6enZIim=%*k69Bb zrTip`y91t^V!l0aQZe6#EdyE!gktd^<5fg?@{&_W*g;vOoa|6(O#_a9uZh&aEFcd- zx|W<*#XcKZz>nYfQBPLRiITBzfJK5z%c-Bl_(`EmgQuaK?DUMUw5F9gJ!mY7Hvo(w z20W|$?$#PjN{d-)jV1uAcXHIl5e3t^V6wjc^eaG5wzQZ9pkT%WPx)T1iAfRA_RTRf2JHi_^^;#U5^a_m$ZzEM^Ls zgw;%8D&PmS1*htJm0{`tRSAmSHX<1-UPYKXU@R~Vf$4PS%&5(TsRMQwZ%@hq zi&JC3O!)DJ8Mhh8%CrHQhA9K|!!Ox^r}fF}Zq#PNlmR;RRV5hr82esjSoJtRJ3fRG ziL$$RJFpz*%RQ9rGFpblmP5!P5-9f6(9$iOgRV7{=#`AJ_^QpCu_qqGh(!=8p(ZZ>$S?~)1i2LLFjE*3I?zq)?00NnrflnU_HCvBG4 zSQRiGpRV830Y&Ez0SJ%Y`Y}g%I%eFO9N=oN0!Y|FeNKRxrh%mAgsZ(u*q&~@zVpfY zSDgsWG!4+>kCH1dt$EQ#NZk%P2i@e#ON9CZg!%*I%1d-C<{))Dkh&dd$F634$6`*( ze$W_@_9;4lNCi|^dzBiao%p*B&wmRpsZe!Eg$WBwCC@be_qD)l2V~lSOv8HO)&W&d z6zV+L^!TI9G!0nv5VJA_8Rf3_Dm7JzS}n>-id2A+iAR=Xaw*T5kU&|SZhrOsly+V{ z!81#>vo4NT!I=P@32PlI2=kH1Nl}ME8N^hLLURCzB+Mss?fW9MMY~CExMZt3NV+QM$ayuuk-2nMn?tBq&z33`$`Di`!a4^aKMLj;~^MQ z=YrBwmFElM+RcdFXtl%51~2t7nK8XJgE3o82W!iNh+sg=gNWGG#;x-y8PLeQXlM04 z5q&PHP#p_Q({%PW7e1Sy=F^V>@O^Wg3tx{g77gK&3e}nLV+%l5_zA>5i%axZ1_sZxFC@U#a zv)=QF>TR_8bAkgtYM%Fr-2O_rT`3~0go@-aXU zS7ED-g6d*1`O13SSgnQn14z#o#5?rxHhF9ZJHP*1$is6=LU>$nY)B&HX$#Uh=%%mL zMqjIq&OtYxHuGPR7WRgjJho#aOiGD0e*($iKjo&8c@{p>4#>vgEpW=6_GI4q_CYE< uzk_FPx%Hc3Q5RA_DUm=DCu_A$LyEOf$&2DaC=|hi5U?QR1LPupGVwzQ z^`Zx%79u@qUL+`$#v}%GvsTesh=+C7>}E5GHQ7*{A1w3spJASvd7haCjYgx*U?hZ7-hW+l`Q*)OSx0a7 zEUcp+t^qHnmoR%4haW$=>aSnD;;R?&2*8kjb$Jnhw}&5Q8WYBzfJu=4E}}8ao`sPR zLk5k~0~iV6T6Brov!*dUB@3#?kVs8b=jDB~OQBeD%5pbVtmJOFzMxnT@d$&TL}lo> zMG)}_wY?n*#S*K_i)6R9$4;cveCL~=HOdo^Os`K=C!#UeH7AdBZEuI{);8_xu2Mfw z!hXI7{)P^=bpQjfj=Cdte#WZ^a_1%g9AQV@A|a8YZ?yp1zuVQ_k+*={1nF9`pV_m{ z#x3B*Yy6};EBgeAG6tLmBOy*@{Jfa@0!Tt4LOx@An9M(V+yrp6n;S_0@|m!&zEVHo?wxb9jRB=%p)cS1nYHtF zn$H1HuT<^y;0y5QUtsXxpxo&2%6bD0>=dZf^H WE$Qo12T3OY0000Px)BuPX;RA_1^gd($L0 z5^Eg#h08tn_dDnO&hPxr{hjms>CnL9X`3)J;bJmjR<-+@^EB;FVY;xOr9!90P)}$Y z_n^xwRO)XTxnJ`b^@Kr-VKQNsS6hivQSpC-=IVUtY^xXnzs=sQd5n5OGXg?ZW5ozK zvSy~e8tCh7K)vzCZ-SZ;Acg*9!mN6feQS-U<39`1TS>nR-3BSoN8&aH@<}c^oWM$+ z7yKJ(A_cerRFfC{8(Bo15l*CM={39QYhREYB+N{xWqr+gS%>Muf@XxI#z$4}V!9R> zq{-i0Z{kyT8$Zk!*gL;SG;X607firp!Xpbrvkl^V*h}E*624{&k+=;&)X~z$&G`b6 zIP@VpCYo&^Mh+;5O5%DBVj+<50Jk-bocimL>Rn9N0s}yd9A->qnLhq@PNsc7S!B9W z9S|c&pW^!^%L=QV8 z#R0X3z5=gxq4dJo>}V7=I~rFxwOo6>@y4G8-a4S(2Gkq!SpdYsU}nNa%gBA5lwyig zkh1+jmscp4qN+vfHn#xq_oJk)RJ&t?o%CD=i3ZTwUHmZ`tvK!n{(vB4Qv5l2ry`&J zVdru7ji=c+p5|faaXGa-KY3WDm59V`JU@9@ri)=;XU4v6b%|WAT??^832wAnxzTDR zb|}GcV}Z-Ygr?kOqsXfTLw|5=xpam8;1~hx5@8^IW|V*x!bJiB>k{!ZqcUCG56dg{ zD7mUlTFGK$p5}Sq_pT~KBxW9CUuPyX>}4P?>gtVqRb_M~RC`~k@9uFkkWVs@Pl^S_ za-KII+g`HhiDnxxAKNa|n>-$s;f@V<0#A%w@$3?mPvD7B4q*wBY;)5Vbat2OX>QsA zh-GZA*-fw6&8hHyqS=P3im__>^w$QH@&MNcld^~NL(?U_9k4EuADWhFeR^K*+w5o* z5;Kp9k)!>bUpAusoSzsu5;Koc)&fddXH$#nkGBxgd%q)5+YI9h02*#pdO z*||riZdbJZif5Nl4d0qLpwxL>d0H#w0D!a4^nCNqzjAweF0(2XA#^@l;NF29 zgoeF@hP~W7u!Hki?Udwe&U5zJtF6t}WVDdgNPcLVzV-$B+84+VO%qbwGL^#Cot-r8 sPVvcSQ*7PYxfW)<{*eCLw|Is45BVaKFrSn$LjV8(07*qoM6N<$f)VPbZU6uP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/bamboo_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/bamboo_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..af61c61052cebb02b707c5837467e9ed4995a1a3 GIT binary patch literal 661 zcmV;G0&4wPx%Pf0{URA_# z=Dl4|C=?2XLZMJ76bgkx@xO6K95BbnTfz6-uoaqLdHL$lnyB?6J0EM22JP+rh}7S0 z^f-akpuyPiB>=WQed$=S=;%N?^@pbQhS&hqwq0u5ZZB*(5fVEArv+WSv!-U@nz{D- zqbK)6chZ`@*OoV&GR}S@q)@X87*3fTYSMAiVFOIf%Q5fXuL024cdi96Ix+)*y&0Wz zj!Wzb=mh`152RBVPT33KfkScf0Ir$iVj$=ME?$6>CNcp1=CpKd*IAELy5A@=F<)f! zaRKmlGcJo*QwyQ@#>R5YiteD9nnm#OkvZSV9C*jNxw^>2e38+S8T7fOSVO*lE=l`I z6L|v8U(QR%L<7YV=jRY(brF4T>CkTeOC?cvg}dh?b6%Wt0UE`ll}ntDqL(}GbLTR=Y6Po}f3^H|hEqNrRX{{^zSEtJORh=K^#HhL4*tUVlR`^Malbj; zc7E4ckF4pkxn6t&Ko@erv*$lsCA&_3a)^>$2jI@lD^#jYvKjAy`Td7aKLE64^OHjW zWHY){zEW*+_K~%Yf||KuU{nTI{?1`-{kBi-UN%400000NkvXXu0mjfq`fzT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/bat_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/bat_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a78ff2150367e169684b87ab5dce198bcb80618 GIT binary patch literal 718 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 S_A&_o0000Px%;Ymb6RA_9O=C6zaiK zk^BioN>9a8!CU_T2^4y%cu;z&jY674>d&arR&leopm>-b!p7`o_D4)SNaq8A^m+8*eM^Z~eVgq7oBfx9M=5RQul?inf* zkbuwhp)zs2xKlS--`SI%zk1_%-k{+K*v~E68V_9j%a3l~W1)_A06^*F9Gk^Lb&ZFe z!KayJXs4A_qnTv@KxXZS>pe3wQz)IByYAygz`^c@?SZ9iUa|{ugMr~Eo@BL1B!pl* ziC{cwaxn3h>oZUwv}6{=C)VtBET&LGBZ=`)I$U`Jxy7=2$c!8cYothJ2L6+qPJKq z(haSw*A+o3le)BGdI?%t$9QVmBsYej(Z>nLyQe=dGcWtDWD<-;x^bu-)ybS-dWqX% zj274^UT1|X8-*_eFZJHPeSN7Y_4=;Rv;!*DTd#hXNT|{(vw73LU_6O~-3?H{v>&)= zsYZ*f7Gaw~tCd_y4WMT?5$b5i$M0Vy0C;hCn3Yb>q51xDYXD%b14jM>&A&am(X{d| ldW+i)ct!9s`mK6e%|A_TAex13poIVc002ovPDHLkV1m;EbJPF; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/bow_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/bow_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bc704701284a824f0181669f2f4b95443a6809 GIT binary patch literal 700 zcmV;t0z>_YP)Px%c1c7*RA_QTHYco0huUIY=vyFHcAB8Ym4CZZ6kO%!Zm(bC!qMvAP5beGxPn51-*2+nufdGimv z_vXEs9gs*Q5{X12kw_#GiA3_h;V>JzckNNdak#tBFhBDlZCN97Vt-Tx_*gC(?0qh8 zL+e{jM7cM3rhmNtt=TzcV=a&sSX5t zd@8`|k6#9R*N*J~)>g8ahALpQgkq-%feNs=PyoQ=S14z)7OhrYu2=+7zw_%V0C|ed za8bwhGvNE)E&z@n8|C(`8w?F67#dEnxKPmN%(w<32EAr$1-2)^<5%cc4q5DH&t0ji z*MdJidQ`X7OPHN(xdleXl6t9o{0aak<8h`_DJCZKJbyL?Kwu*QBV$Qb)B=PK2APRw%JIRna>EFrg(<&E)lD#hhX=M5S$m{9pArA$^Yb5XA)V)p41 zJ6x-aEiK?0h>&x2>f=BlXwhiB4Ultn8hYHEETC!|HG_`v!I)|`UWgw7;C|{=)kWg` zGS&*Hhq(gUiDP^)rk2*$0r0w=07MlZ0O>;I3aT|P?!1QB-`cfSi(2~hi`l0B2RO9H zi(Po#PNIsB0~fE6o67^0L+<_E>!b@sJ(*@bz~TOV0KA?50#p+G@b$~){|IS23zgkY zgnI#)dh^LLC+fAa_*g2ft&=Vk`8}5>bMIzlVe%>&A^2)~5p(4=6U!}-2>0p^h~KsN i+go9G{LH5G?cfjczU?<>B5KP30000Px&C`m*?RA_>MW`;1>{`y~c9U!y>d3E*2q|R}$wqq3&8IgINGc zDyX}yg^?;c5zGRl-@is0z~t0?js1TBvjCG*^M(rGI02GWz}AOU(}HUS&b2#$c7v$^ zYJNry&!{nW8khwL_yxm;XLKw&5iWYpr#2JFB;#1Tbq~NF!=1k9~0mK(uD}6+7^FZ3jdA7&uNq zYBK=fIqD`_?6itr^6|dcJkvuOSpJJB3f}`V8b(eE_{rRWetOnV%KFS`qdT+G? zoCFu3$gu*HGyzip^b z0qyP)C}C|gj3*SkwxQ8)oey8ja~ZS|q=Kt{uEs`6VEJ$|m~#NB z;B#Km*(9l;O5X}P*$mRbBzB!*H^gxAL- zlZ;y$s``8TzH2m90ij4tcQsN#H6MVEuT8#G6xB5r21mz{NyeGHh8IAa z3Px#07*qoM6N<$ Ef)c!mw*UYD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..43090a524d908c3742ef2818f2cf5782a8c8b862 GIT binary patch literal 767 zcmVPx%xk*GpRA_Y9W)DWeMmu{g1b&yW} z4Fweh(y2?(4&6E^vO_Qgn>#46!*X-(2UFRM#5shGC_Wv&I;PgP{BD)-echhV^XB36 zc|Oncd_JI~qobpvqobpvqobpvqobpd;V!!v?y`$g*Z&mp{g&vlDx$}#h>&wibG!>$ z1N?35wj_g14b*=9LCm+MIo`QTK)E@030U>Du=r({Ok*`hTf63X|2zT3W=6<4B^nJ4 zqS4SGLe43%@vf89ewx&N8i14jkaJ3y+gpXXy|ttnQIl_sPE3kUla-DRGs-nH<9BRT zWjpB^$?x-+Z;O%p-*R@>jR+s!Tq@`<#<2t>*F5ZOM`2*>%o~<3Uj$%!=7j+8EX}Ly z*-TmV`D}bL1HT`Hs^48O#<2vnT<@dPWaakA2o{UX%yiK`oTAB44Z!eWjBwPiuI~oV zq+eJ$$Y~c=4lvpjK=s9ZTSfiF&|Ko96O&?RJIdZ>5T(}vz|i10?!`GkttwEHyR#jo zxy?kt>!SXuh2}O>QT^(&yP|DaQ(RIUC7U53$vNA-ILFK9PXU;H^%j7S3$LlFQ#D3O zM$Tr~D^Xub%JK>Xq*`Lx1fbsFqX&-(230#8^%IWz=^uT--sWLxW)lRY+LHB^L~{a? zYaWzr2BRdCT=Q`6;S&Pur>Ac?>PP8y5b(M%N-|0|QYXznlj%^@Mu2~zuM3|H!? zs*`iQ4XCe59w)UxLH&O}1NsKW2uJ;-ysq3Ua`ca|Skwasg9!rb5#sU4DJ@V?zq(xb z8Pkg91bCL_kF`MlKjP>k^=$UNh{q#%mgW)Z1V%}wKKvQa(QOydSDLa_K+Nkx>300` xA8~iQpJ31osJ$KVx{$gZ^c_|}A$_GQ;3ph;ceV1=XE*==002ovPDHLkV1l5Icn|;p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/conquistador_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d4657075b240e4dd5b04291aa7fc507c287d5dd GIT binary patch literal 552 zcmV+@0@wYCP)Px$;z>k7RA_^=whgi15@8a)27kqsvYV9jLosY1vUSMIpz;r&+ zu>;!UekVJ?YlW98WtJ*sUOv0$xdYsBztg62q2{4Cl?#!|BwG@?#f9* zOpIjJlbH;a1DmzgDo{V^f#wbH;9;6OLt)-7egWW`t`RZ%I&O%@yV>Ccx1PRWd#C=r zySLMPee?6RRz zD5VS&%XTR4AM#_T%EsdBdcw?eHe7@E%6DtDy(ai?3j#!pK8~GJ03MAFHCMvj8FxPx%vPnciRA_OE+!i!N-68z z_WJ^j;X6Rm-Yn8u|NERMr6|y_?(HON832!58WwwXin^Y2IH{$dd7K8fAO*4;E3`L@ zj6b?hb2bJzBjHAT_({7`M_tbWpndu6tJa*24c`G1GdWZ%CktI_3`9~FS?#)@!1 z`#CFF%h39KM7vVI^7}(i0o6>SnP~(!+j&3Z0W>pBvvU=Oj#91BtkluWG=McW^az+) zTecP^4Ba7<##uT4Ca(ZYKVKDoa*0x{dA=hI-JvgaZiNFR_8kH&hbYw=hg;iLjPtE22umsl{()Kiw;94$O+Z9ySIgr_!k%? z|Gfj^xu=VcBACdG(VUH0z1EHF#j=vRi_>+HHKQAYt{HKF#@EX#ntGu3RPGnmOp`Tx z8|FrH)rV#uhnO%3Jq5JR!6rF31yAl!-ab&|nA=GEoPNdzLA>~W*9x)I!)kMH{SYk2_jJJD(VSP+oV+n_Y&-Lqf3eX*qg7_a9=qI5_YP)Px%c1c7*RA_p|nl6iUBuJ7bFKku!UZF>A^thq2NV& z6-9ay@lgB=N-u&35prlRxfHc$FRLXLBGqKANFtIzwHA~p>tWq>f5c=w z74^0LxC!|YnZcMr_|X?Xl$?PMq5EBboSbO41MS9F1^kOU7ZjcZRQ9Tl(%syvw$y>K zp_mTvC?3>44?+ibrc!*V0@ByFQ!S1)xZ& z6)su?{tuW*jsTEQdbzxKk4YuZq>^X5&~44RS(=SF^rr1N2s{C@biiQWdyhSxu3v0s z@Pij`TDE2h3z8$Zz>{0kR;kO<0RZvoMYN3-s)YrfsR;nm(jUED3(zxuiTvXQ06y&v z8~SvJOy5RV$Ir)vPji=zk|7 zuMPvpjo_GrxB22kQLM~~Oj*K4Cz5SpJz>2Bk~)CB+@K7CPl zk$c`<0nKn%Ks)J}pGfKD{Tcw#a3_GZo2q6UL5=3^J8xp|Z}V7dL?iu;wY8Ss13Jvd zOHf3^ohb1bXRhDj^-d9hb7#kRvw9a*D_O~O>jBP7rvZ3X_y`yYe)RHr>n}p)&VsSq z=JAuw?Rw_ydUI@lES2|bs9K4iJ4Lo0+&30pyUms@_O2ZIbu0r|8B(J i-U|IwR}ZCc2fqLxTk3sP6Ena70000Px%uSrBfRA_6D*Y6t zr{4PsdX$2fdI`xX9tt5TR+px(n~*~{V?C&c=^@$4W;5B1W?L%E?-bs7_RYNSJo5*T zNF)-8L?V$$Boc{4BAJlFYL2ZeE--I=WpRNOR&zt~yYl+&dzRbWo;Z)gR9K1r6{X?< zk|{m3d=IVxVe{Y`kl)%x%QQmE7ung{XU$p(3ek|?+64fd8dZG$^ilEqaA$9yrS&X6 zyn8dGTb|KyhKr$?24TI7y#HE%462$?MS^SW?kOGJHNXyP8|_ZkWnk}Lq;t?a2RRvY1D3P%xCi5 zK&=D-D7PEfoLd^HcN|qJ9)MAc>+PHS&rcy@*SVRpI}{`q1&Kw$sKxCTghDhld&RkN z7oXO%JeQgvD7PCzePhJxmfMYiF-9#gYT>wA_q8r<93HaAsU>M-soRfsmQ`lm*fYZcSrZt&^>z|I&TxuFn^pZI^9P#QpgUjqQt1O^;XDIWmEVf{jGK00000NkvXXu0mjf(hg&p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/deepslate_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/deepslate_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbba3b02f57b83d3ef865aa15155da39cf27b18 GIT binary patch literal 668 zcmV;N0%QG&P)Px%R!KxbRA_ptpgl@LxV0)Mz%q)}D-Bsz@1Fp;a|i<_AO z_-6o2M}Cpfm+?V7${CQc(&F{bu8_8Cx2QLobnO<`&W&+#dG+AQSZT4he<1vEYP?+g zDu$W!iW6r2`C_lYJP}f4n15Iilz0J%z5RngzbG4f0fIUo^zlW+t9j(JjA+$AZv7jD zd=}vjQ0=haq26fD4Up~9`u7ZJ>y0L-M~48M9vueyss3u*BEQT>LD&fTZPbX*^Ix~V zNEQ{f=(P9yuUlUvtB6|0Kkoh~YL$}c^+y!)SqwABR(_k^x90RVZQ@R3+CLqOZlIjw_`0p z!b~OE$rijB;EqRLN4jt8TGtQPnn8QFH6p?i*^5YcyEO}0Pw^w>mMfx zfDfIo-uf<opCw~A;Nj9H>qJ&%k0000Px)QAtEWRA_HOF`Ir=tU?L zN}zP{)I;}BXu%2v*=sL**cJ*)(Oou|6^c!IaY5M-vs+D!CSz91PG&3B-NWl)@}4u3 z$;{Y9i>1Fy!u!7W&HKLh{e2uP5Sy7J8`%^}g{)@1-Q&X*UkLNFH>^Z(Rt$FWB=?MD zG9o5M`x_?HVZ~siJOIPB^N0&p3~EK&JwCL1e1^2s#zK6R0D#{wV0Qj4X_Q<`51^nf zPjS{BFfrQC(GZx4ebBHFu=IfcI&2%DRLEi@o2r=;P8+8c0+t5Q$Gko#oE2#1Kl2c{ z;tLrns?Q1M6^^mVX;La=@q9Z20C2l_06<4DYD>Y`%p5kdDeR^b005~h0{~jP{nSXT zk07!L0N{8*-ACBI&7T*3J(+eo81)ejs=WN?QDsR{K>FtM zP$@{|v_i=nk^v2n!PQ8nk%1wi4l(LM^S5rB(pQp8HN9zKw4bBNQ=LN$`+(MNKUR`U zrb-(e8ghEAYTfLnjcAd9A+nWT)6i&meQ{94<6HpuwljFXonanG!#5lXkVmO?LnAE2 zSBc**Ad?ZX5ML!U3~V<-XMy3q2oVnd!WMu>sdWyibq)RTH~=8Aya*zTpx+6H0)*oQLy`78-HJ3;CHx(DbJmpb-4g3+3jsJf);OZeta zkyFBBy=pH2>`QSD^h*gH!6-U{QMg?^+%6u;y?jkY(=R2AO-_?1xo2b{zDmNO z0I9`a@A>q&AeCkC%}(&mP7qmS?q&s!7g&$322~zVnindI8o`J^U%B1+TeorZ=4XtS z+{-f>Rf@9lgj1exdg!8 z6iA1aa4105_H$U<2U7?*em>i(Oo)^wIS;Uw)y6Z8)v2lLtgE9SvdAvTYwKj%y;f*Q zD}43!o?{Pi9-vgnYM#uf5`420?xRZx`rL?TpK4^Zdwlrr+i#G`h|B||vJ8$FnBu46 z0Vk4Z0I4iPf{ff@W#JHTLwPY$hmzOR2B|C~cPJuvs0<{uLQwt>-+z~_QA7vF;q~?+ zpWkG^c5&yS^Kv*8 zAnYb9(-?JCI_c5jg~p_wU%iJyo%oEBpxN`6`kPjK4aos?&UU-BFTV6yjoxqxiek0+ l)i8eNvp>FCDgHky_!}4~1G0Qp7-awe002ovPDHLkV1j6@j}`y` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/dragon_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/dragon_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8df4ac29f97cfef9f050e8a06bb7127bfdedf8b2 GIT binary patch literal 686 zcmV;f0#W^mP)Px%Xh}ptRA_RAdN#DfPB@gR!gDHkOK z1o2Q1O6Vy^OGFB_Jq6KIjqORHLM4d7Br>c?MVo2#`$XESU#r}0#2mVYVltuwiE36-(W`)(C!lI zB+|8$XN@hK=sf_y;UmKUd|OQe;NALVGP*u?3V^54_jR2%Dgi}tGaqd{89neu_MJci z$mI(FtgmUN&h?cf0J-u-$lbpmfRA6kwls(yShJPg&A@de`Selba^u5X27rSbrHO8A zZUb=Ug82?VFw_r#e8|aCWQKTI9;cKf=i(sVI}dsO;*DYBT%2Y$oF$hp)anlp;si3< zD@K8rcc*azv*B!;!>vVHdaW8O>+0)aV{;patNhzqUBlJagZ6F(*x4ysSzm8gK9+L% z0?X+vzf&r)@I=Ya%>c1<)>6L`y{+qalA5=`(D4(-82~$FU`3<1!ob+&mh`*9A0z4L U6?r}fy#N3J07*qoM6N<$f@<17{Qv*} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/enderman_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/enderman_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c19c4da51fcfd17504d7e502e323646bd0744c1b GIT binary patch literal 1540 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 X)wNOWqz4`n00000NkvXXu0mjfA4xvv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..12642e3ad32fe4e2dc0647999f8c5ae896ec9796 GIT binary patch literal 757 zcmVPx%uSrBfRA_6D*Y6t zr{4PsdX$2fdI`xX9tt5TR+px(n~*~{V?C&c=^@$4W;5B1W?L%E?-bs7_RYNSJo5*T zNF)-8L?V$$Boc{4BAJlFYL2ZeE--I=WpRNOR&zt~yYl+&dzRbWo;Z)gR9K1r6{X?< zk|{m3d=IVxVe{Y`kl)%x%QQmE7ung{XU$p(3ek|?+64fd8dZG$^ilEqaA$9yrS&X6 zyn8dGTb|KyhKr$?24TI7y#HE%462$?MS^SW?kOGJHNXyP8|_ZkWnk}Lq;t?a2RRvY1D3P%xCi5 zK&=D-D7PEfoLd^HcN|qJ9)MAc>+PHS&rcy@*SVRpI}{`q1&Kw$sKxCTghDhld&RkN z7oXO%JeQgvD7PCzePhJxmfMYiF-9#gYT>wA_q8r<93HaAsU>M-soRfsmQ`lm*fYZcSrZt&^>z|I&TxuFn^pZI^9P#QpgUjqQt1O^;XDIWmEVf{jGK00000NkvXXu0mjf(hg&p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/hollow_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbba3b02f57b83d3ef865aa15155da39cf27b18 GIT binary patch literal 668 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 Bf_(r0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/husk_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/husk_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6015abc6fec5412becc511cf67098585d1f011c8 GIT binary patch literal 745 zcmVPx%qe(wQDWdJw2mE;Tn~B(g9*{d#d6op*p*Q7&w_!89cE|RH#^U$nG2soZOA+HmrB_YFCI z(EQ?pWBi>)$woBuGY&x6L2uT9tqZ+-{c;YUwR`N}>krs#vdVy5PX1p*vDR!`Ta)>G zq9%}5kKe}o1%3PdXM(@wVj%$Ceb|miMr9IBf00000NkvXXu0mjfmCRzL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/nether_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/nether_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5087cc9aa5a4821d985a75d1438319d2ebea7d GIT binary patch literal 1425 zcmV;C1#bF@P)Px)OG!jQRA_oom`v@It&q(m zi#>Jh0&BQ!9+;SZB4__#w1*zPd?*+#-b ziCKAVDUiZ=X#ZkSFZ8? z^(#-$Un^CX9b{!yA9N`OPLTz$$v)Q^?a7eheuWh0dRha=B*9*cfB*UwM4~-^+>Y6) zwDwpIfV#sb`@E?A!@b(k`={{y zx%nc{o>x*zlT>s@%SbKe=8NbaH$D!S$?qgNz)6mM2cR>lTC0dC!%low8Fu945mHLC zO^#SE`o0VN-*~o>@YJAr#i?_^ zpmFLPFgIUxyqKL7!|!fPYD>`>Z9OrqH5Wpf*E6=BnAWTp6)O^>oxQsg4fLGhlp6%y zuAjR}?)q8b7kzpTpsfdYhtp2PksEF10v8xqR)^$etA$qAJB+r*WnYG)>4^S-cv|VpBwi zikKWAhi+896f`G37=3t79sy;awrDYMtG3(04|)P!scsF4%ggf~b@Jk+cw-Jq%2yHumwh$sCwaAwerc5u1cn}zf1A@jN6>~?8^L$??o0k_O0=n{BkTfRA fUNinzoDly31p`;B&(YqF00000NkvXXu0mjf*$J}1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/nether_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/nether_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2eea4d1f5b7527ced07b0997b0543d071a0321bc GIT binary patch literal 712 zcmV;(0yq7MP)Px%f=NU{RA_d_M?}_ul_~ zFaPg7-n$0^fj}S-2m}IwKp+qZ{x{l;4Lx1ml|VR3KC?_99Od}tZ(aYJ&*`c$X5(+> zwix#A12DIJgsI&kO59p({rXumezWN?HfYV~Gs{GKf_&X60TA@~Z38Oi6B{ceH0|TP z15DYNZw2kf2Cex(I9hkWS}WX0Jh!PzfN=+ayz)*~Um0(O-S%$@Jzd?E!5hOBZF%eN zs9HDEYx~X0R4`HjbiY(EVyUlHx}E^5$rY1Udb=b@v5;zBiiH|7Z#I9^abpK)lOV-H zj`dFFZ#He?y#rN~Xs@rt#)|G*N(Cd8%V&21_*gi~q`$Z7;LK;1xgNjG;>>HcH1<2y z|Lbe9ZfdQdv9w!pGkvT5+2Yic(`|3mx7wdAjhL!O@Am)ixOa6(o#csc6M!@Q@|WND zRr&6JR6eO2bU%I#fT@}Hta-eyo&l~W0H9Rf10Y#E2EYSk*P8veBp8vhmoRE4o2_0UrR_e3^yWoUYIB z>tyiUX)cUSvbHYwUAlOlPtPBdmWpb!je3Co&?(?B!D*?;%MbIe-U1y9vpIEThww1Z z4$3u0ww)n76c)b$hdZTkpjYbJ$5N@hM_MYfzn)|1#WOk1=tGt?=FRk4l)5olZcz0a uobLOho&nSNNoMVXSiKWY#7FAVw}QX?Z#6_BE0x{=0000Px%cu7P-RA_l`&;P)dK zyjk1K%M_mEX6cdgC>`)~(8as|m2Zv+Iq!t=M%imW}|8SkQ7A#X|@xo7t%B9HYS$?7(hrL zxXbM9iuHG0a$NEvvjZHL28tRA1Hf3YldOQ@^#K4bg`pEn7E+Inq`4wbGXGM(G+qd= kqp5SPrO``*x05&j0Ov0R)}uu~?EnA(07*qoM6N<$g8Mm1y#N3J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/path_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/path_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bc704701284a824f0181669f2f4b95443a6809 GIT binary patch literal 700 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 Z;4g6_HOL<5z0v>x002ovPDHLkV1gb#W(EKN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e053645d97fa6309b595362f23f8c97c0cdea283 GIT binary patch literal 705 zcmV;y0zUnTP)Px%dr3q=RA_^y8fbg581T>-LN$cOk}PTr+ps;vP2=wDnz+#-oevgvXWn}=@9n(z1|$-R zL?V$$Boc{4B9Z)WD9(ZTnY1Z3 zsTjy!D2TEjPDif_%&6qDT^ff6SVnyk=D0TzD|eVX7l6H*N-{HtqNPx@RA76d`I)q3 zoOA)uVk!V@X2LU9pXVMAj&iGQxCKoA1)Vhpz+T^p7E^^a$S(!#{V7_Cje3LCYT36& z2v0yE+VfNpMcz2+4xI4QwdaQA;cwuF5sd+?R?Espz2W=!M|B>qkpjug++YzA#m#=blf&8JOR0^I47YW{SV=q=X@^PWqskyHNL)Z=4)5cQcN!{GrhPx zk>WNgp*1rBcDk8%o_cQ-VD960WoK5kie`fC@bRU&rQH^vpXoxqrQMciZvQI+-J+mh z)rY%?9@nTH{-oJDzGVBMp0Ki+N3_}o&aR`!HP>Iaj5@8hG4@S#TyEqZ@LqS<2+`Ou z!)b? zQwh4kD+nBb66fr9fAv4q2hfR7i1yfY$l2}DB@dK3kS78cj@xp#LEr!koVj@42O#Z| nD|V*X>K=LP0$cvg=SKJgjl%Q4k`U?l00000NkvXXu0mjf2$)kQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/pirate_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..63f337eddd8e54709446e56e990f5075fbf59e4c GIT binary patch literal 673 zcmV;S0$%-zP)Px%TS-JgRA_)O*T=S?~?4yKgoN4 z-kX_#LZMJ76bgkxp-?CkivJDGJ8*3Ds3Sk?Bg0Me`7d96Yg(=MuCuqc0obg4+jV`v z8R|qNg7+r%C-jkFpHZ>#F-LsP-^77I2QX+ls(?;^`F|0g0p1?ntOXlDY<$dtoi-B) z)7$Mi-O^D7?3MWW%f!I}sFVr-gpDX!Ysse-i6@e2Wc{c0)gVIi(epjv#F=vdT)Z&D z{KE%KOieQ}HBF^daOb=vlIbSB80!Z;Hy~_8IT=0c8^3bxPD{N=K0Pz(jNdQ# z^kfgnT1%Kl2pUN(TNbx(U2oFJ$vAeI?E0!(=CWQGvGVFgFG6cePg)?6Orz-$_t`XK zK8@&Y08NiH^|;q8pk*5c!H_tHWR4s^4Z!!$A6hQ*&U-7M9o`BUB$|9h6=(10VI6?l z4;%1bh2?o+hK$_b;#k{_-SqF?t^|4y(7bpbma3RQZX?gL$M*oZ zdh>o$@~!j$mBy=Mm)-9V8s8~k8X>pz<@ftxGIeABk@bn+xe4Y2P<)N=00000NkvXX Hu0mjfQusRi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/polar_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/polar_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcf6a16097ff0883b427c744e6110e4b11642ed GIT binary patch literal 1038 zcmV+p1o8WcP)Px&$Vo&&RA_l>T z^X8kk@6CKWGcPrPfj}@MuB|M?;qybO-Q4=da$#Z-)R3525;NHx1R*E0+wB~@ZVr** zUS0mpEP`6{4xb;J3n@L%XCjl`P26th_U+RH<^-rEzqYchI{+30AxBqR3MExkgN9eY z{M%QU2XJO!w9IY<8eRcs21XSXV7GG+gd7%iEZ-O#s+C=RF>)EMRH!9*?!` zo-p7B~Q`=0DKCJ6%1n+c~7>5&%%_OfoK0 zz~t?VvPAFRp8^0pdN2t9AY!#j@zec>otN>;mc^$F^}2P`h6_AO>&52r-{vdu7_ zct_O$?7jwfZk(^aAPNLSqNVMKsI?s#8?T68I<9nl)qxuYBa*0Od>|N-jjwn9hJ!T; zdi}>9PKzUB7HAApQ6O@6(Qr+qAFAyETrGQHLrHQ7KacUz9(DEv2t z`1ckrTiemT`VqsfZXDj&VaDONI5qKf{iePj-rN}$0l?XN902fn=?ehhTx>@1d20Nj zu7GH5Z3X}ozyG3RWe#y->)5Vi0c9@QSF0)+jEP)Px%HAzH4RA_%bE$Gw+)9~%_sm| zUU?L_pzl9_1m+($$tX@=esuxZvojqjsoplY`(Vvso12~P7vW!G$EX)DY9f6BQFs1- zB)L#3nrcQtZyWtjRL$qm>kZU=jvK2F9X(lD)=Y8!@v}F$<4>J9>S+NrqoC$<%*`4e ze=(n4Z#eQFKXWD4Ghtv0jAt{Eg8lr)vl(t(J>4Hasa)ICqN4u(FbF&Yf&>D5ZMFlG z*IwRn6e3L6RtmQnSb#8LVYuT*AuK9McaJ+*EPG5B7Rw3I?!GsGC0MUFJh6XU*f`ks ze}l0UVAw4bC$SVD?C|u%7QU5dM)KU@V`gDu41j8@1Hk#2BLLic{uTiDyn7smEi7zj z{mza!Nlfo6m}w;iK-cI2aPpwF15e*u3wF=D$0BJZMPXu$$sZ!5{da V)JtPafOr4^002ovPDHLkV1iQw7|{R# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/sea_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/sea_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..189577118e8e3e91c0e5791c23f596831f8484e8 GIT binary patch literal 796 zcmV+%1LOROP)Px%)=5M`RA_Y1#c_~RZiUmE zUyrO<&r^B;_3z&hwm&-}Jz-LhO2|MsZ@3W$fK<^KK1eDF$Oa02PQH?m&CxeYiyr zccACXzTQKb0A^4Crgwn(-@;ay!02B${f)W$4C%x?NGE!pCPx%kx4{BRA_L_g8y!q!SZt_nm(Hzfhf>hZU$Bd;Anf90J6Uj!!Tte3 z6hyoTf>#fNVHM_icobH>6m)adQ6{ak%j^!FKOzi!8LS!)X|gnJ+H^Gb;QN8{lK1)X z=KDNv-ZUT(2m}IwKp+qZ1OkEJf1}MhA$fgjU?5B`ogy$0=FpE{W%gIuWJOHX_}zY_ z&;$TV<|$<7(eu_q+5TBGf3xveC(Pn==@en9moGb80Q7ct*G;I4SC(f{mS>H5X=sXE zdcKLb-W=Mk6K3&&fpEhKYjt=(`P`tAbhy#RKLkB&`NUEEqEyZB&CHpB;G^1j5|HKD1v zu>;IS2*zZ`{?&@>w*EG0XsTinDKtTGq=)Q{zKT~;sj~oh;&~3P->o<}bLkZ4BUf2k zcwvlIyHo#v{aS38S{<~G^*Ub7zt#Hc;#8E=ZEy8&wZ6LSM^q#JZr{J>+L?>SBFR&a zD30_{yzoskE*`-X&olV(W?9hn$XNiMExaewdBD{(!1V$EY!!Ba(tq|0c)0_>_TvYb z?cH4+0IaTmH4@l~GK+Ci1UrA_&1+W+&~|%z+}Hs#FW&*+AD#o?dm;+J^p$gEK_>%U z0DQ_7Sd7bMw(hPD29Nb{eEJ@lHO&?}(Z}bR`y@B=Mlr4a0H^zp0(%8cZsd9X;jOE0 z0ncJwHagobMfjsEP#n>2h=ew`xwH!G?S##ezkY50SlTM=lHADidrfBL$wMvAP002ov JPDHLkV1mD?T{8dx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/shield_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/shield_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ac0dce77c8069bafb076d793296ae46f017dcb GIT binary patch literal 1012 zcmVPx&u1Q2eRA_leY51}BKL!o*K3L*iaN+Cq02&=SlDS;@WRG|kiGCjoE&csPJKQ^SHelDBL zzJ2@Nn>TOXtN|Lx;Sfn39AYnd%#AzkW>`Dg;CTL8ONBv8pqd!91X2fw05T5ex>w6+ z24F9Ftj;!zC@X4_x@sFxZEgclZ3C)}W(}alPgL+kg|XJq41l$xO<3?mg|QYf(tUnm zeH#Gawpjoa?w}kFaREvwX#haL>!QySnmts8X3ljVk+V-Y*@zGTIQxEtY#qZR9^8A_ z3;?+Q#9wl+VWiGqTwZYwB$PA)*FvK0jvd=e9;?q$JqzpG-17+~&Ao#LIu~*{L>A|k z;Ix~$cd7Qh{|vXyf`pQW91f9ufy{@IHJbizG}R;Eb*W=oYu#x#a}KgPvz@2+s3W;p zUD+zwiDG245!Qf!*M*^(`Jxo91t;+?8ZX(9e26lJ4QM$S0ie-TuPSUb)t9VHq=#k? zn+1)gdbn*CIPGSfY(&Uzbd%FFG&66A$tesvtQeY^Hvm9n2k>|Il8ehLMCG^v0HSgn z{_b89lT!eIwcsRS^>j)70D#@-rm%>2N&T4s1iUV_2(qbPEV=YJ?PhK*vrCE^N0$Vh z=_#q_hS8CouflacCG{XG$8YMn4s7-^R3|yQ34^q6{D!cfS#-f$V9M`e{dTOoC}R%~2vgiC;SP^BI+j5_kXA@-p{MdgLusUT-u%h-e`>ddSh;JMcV~U`uWy z_~sKnet0RAO(<#1`g}yO_haiz6wT+q@$ALhyz-T%?C8>>cyW1!L5Ec+!#d)&SrC&` z>VZg0K3D&*7iDjQF*${OQv+<$xcYy1#Dj_HQA|va0?0VcI%|{0v2SWXOirotEZOpv zM7In8z!^=QqCGq-Q;dAgWI&U543VQ>!Wjj4XPdlZc{3nezLHcdx^g%~fWI@URn6HC ipaAlIEWPCx{rCd`&p`LYa^uJV0000Px%B}qg=x$P;_w>M4Uv# zNu=QFQYcg?=%`!CS|P+#If6aUMiCPODU|CXwB;OX;=4ay?&w|G;`>ea{d@P_``&%; zJ&;Hw5{X12kw_#GiA3_hp*R(Tr_WlVoF5#u*^5Tm6(cgYP_%N1tfx&gbylC;@J*<- zz2!T8)Tlw6zW!Fp0RQxE;Z!oycCT`rMjI+JXR7C^~pqM14?_hw@439c1z zYw{Z7V}TY1fUBu_eP9rO=Q~SA;1mu;AAq^GjJdWP*`U*zB$aBbBUh>|vBIAIL3DB8 zDs{8E799LYsfM)7cH}-sky4g<>s;$YqUIbvpCtx_O*qV}86ZNB8kLWd# zoCCu4kf?jkVNh>gx$3Imd|?uRrPcSIL85&>#^ic|3eecu1t2xh4}kXNr_HIG-AT!4 z0?E$SR^8b9ql?BrN|c$*RH%Qr8>xYQrp~9ibmtMD^i2RRXD{&i#be5~dS^17{s6g) z=YYQxT&~r5S$P-#L8x6>IH>k)eguFwAHTV5qJLW!FH4P`UCOmO`}!v9i%$;%Z$DsN z_;@dWk+$rdtT=F;17`Chodm>ZKmK)BI8*Sx`W~md#cv-m&&(+;=zahI002ovPDHLk FV1jJYCLI6( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2771347d258004b5d7a32265e98c18fd10c18dd4 GIT binary patch literal 1229 zcmV;;1Ty=HP)Px(heo7LiIrW!T6X0xoWqIPg~O$h3u5oYw((*%Nr#lza_vmemtw z1zWk@aLgv3ioT=TJNZnvQ5rW>nX^I*xGDCdPXRd zizZf7Sy$b=)Lv-^pxN(b?WZ6;m%bnna56kH20-Yy5fYv^0XXGuXYJN~g3(`7hO1JS zM%$$#d+8~lIG?%Ci=x2NlYbFKfj>sSqp7I{kR1nzO#DnD7A3Jb#nRgsX~L0aBbr!A z3qrPMTjLw+Sry_NlP~C2;TSoe=#by+`g$CIlN}#&>ziv_`TPcl4_ETnogZmFeUaq_ zdF2Vy_rc!|ODP-4?G1HR)m0tM`fTg5I#<@oJ&7(9`rw zA6tYUzSWFG@cP?zsjS%6rdQ^;C07l|wK}v^+utZi&xlH!Lnk{@?c$yHFB=BIh>t$` zN{UR}<7wRZg;m;)7|J)3Pjd$V%w#he%O8MBo5Rp(zA>|`#-c?9AfF%E*z-Q1uc1u>7+ii}DMVf@z5RpIh0abQ z(*gkfy&sg;dB6mlMahfhLT4v|fZX5&0#5pS&DneXF|^kPPg4oNSb_3l`DJtzkW)ZO z12b3$hHgtr9t{lLmM(X9Fg!ArH@6gBf8((gQNZo?8qP}@YxaBTey=^JA68LJMNt$5hDUO#r=#@c zT0+S(&f9jGJ?E1=cjT?Cuc1wPv}0@|pZ?5jSnc=#BGX<(QDFRT5YBe#?ByCW!m30U zVEk^78CPK+K-$1*IboFuCCdm+*_l1(d;Z!t2#XZ}3>Kgt7I$fNZxI$N2t6EEb(i9c ze6I@!EeOszLELPAp_qQ$|wfb7T<^Re01AVG2pEE$-oX=$64n&m3M3kP_O%w64nRDyl_^oLw9YGz=hBB-c@S>XDb(c@@h4S#uVJms#ZL00000NkvXXu0mjfE7MIP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/shinobi_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a31c2c54b1aadc7e585db2c4465e3052c9b8fd00 GIT binary patch literal 783 zcmV+q1MvKbP)Px%$w@>(RA_QZ9X>tW$RX`{Z zIjOW43z;gr)*CLz*^YoYZ%33g0Dh#l0q}ao6M#N{5P-z)`nmQ5M+Hb8xo*Oyt#Ev3 z-J8WKau3Bq`p*m8c6?~1KY%Fd421L=Kd0xnldgJ`l1FA#jXDO6s!=45>}by%Y!Dlp zw(iZ{Y(z*OthzcyS6T9>7l7Y)rDM8)>nh}t@%mSd5worW{k&ud^T?QbT zIpXQ_xtc{Kk8Bk@VT`l;E7>#=Q+?*RQwZ67kz_i@+QuBix9>8)Fw54~HvrZ*z5uYg zG{;al1VAb)S;47nsb)c430ei1#b3nEwu+$oL;#Wp3ad-y-86qqG*!XS6;z*yU-eoF zs7E@tjVS4a^g*lmR(G_MJ8xnspg$U;AK3f)o(GSf0Py13WBQ{p0FvK71I-lx<-U=q zGv~zVpQqOR+li%s3=j#A5DAYkeB(L*llLA1<)hH50!;q4fKC-`=QkKb4bPi%7VH23 N002ovPDHLkV1hI&WVZkS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/silver_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/silver_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7203e6eab1b66e9a222fb56eb68123bf2168bcdf GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQjEnx?oJHr&dIz4a+Z6#IEG|2 zzCFK?>rjG3>%+|tS!ak$i`m#ewb5};gW|K;!;jWE`NVacm}DT(Tz0t2AWc{&?oj@O z{dp21?e8c1S+MW(X9Ai71P%3*Stfcmow)Jm+`HoN+Vp4%WlE1abOfs2$Y|@fSn~N1D1+&_wzrLIE jdGV%_i#M1V80=qjvK#3cD>T+vf-LfM^>bP0l+XkK7e!)K literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/silver_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/silver_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..03cde30e772e0644ce0099246f0c0196f4dbe1e7 GIT binary patch literal 835 zcmV-J1HAl+P)Px%{YgYYRA_Pv0qS?HPQ*b@Z-R5>TXF8?2pQn3%=X(yn z-|zm;?;J2NFfcGMFfcGMFfcGMF!kTa76d(U(Op00*+{DQ_GbsA%1@0k^h~%$;^%r%9;-HuC5HHZpRhoKU1( zBV{TI7BbEGOt=Q(&f~$7qoI|hX##36>BgxZ0a36p_4SADT;X0DuBqv?_5|G{kZI0G zu!y<~B6d-*Xtuz@ycV!1SdeUvxOI}vp{S!6H&_o%IIqPDt;2haPtaP?XW z?r$F5CRivJ1JK&q8aL15Ll zCidYY3KlN5-=?Chg!1z6?J+jyWpvy{Pgh%9^ArUOVs-`aySio<`~U>zM$_H|Q@RG% zBlZ?~a_1J3Rp#!C9ss&KI<=tm^sx45NmhA{KAo6a4xb1C_)9A(byU&V(7>t2Ljb($ z9i+Ff52rGW>>SY+oohG(z@xs8yiq=Hi=*kn1mK-p=BGyiptldLbR)t0JPM0*%hT3;^NMhj2+pY>D)0FrYQcWZJF96eGa;s#5kDD| zDrD^@ufT!NqflSh48XIeH#J+vq>6WLnVAv4RtfJ%`~=is{Hsq0J3X~}j8~Sz<46Ns zt5;ZAO^O=K*VU&JtqJB8I4E^gQD4_gMOg^|r_Wr$?RJF)Q9a;a;upi56pngNB0vBD N002ovPDHLkV1kbVgWUiC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/silverfish_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/silverfish_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6c027a1fe2f34f165c283fdc5d6d9f5fc03d9e1d GIT binary patch literal 646 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/skulk_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/skulk_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3106bf58a3c4b25a859c5b22b663a22d16d163f8 GIT binary patch literal 886 zcmV-+1Bv{JP)Px&FiAu~RA_+Icu)?6XpM>zK>48pMbxMiMcj7lVePWpEu{jjG4AKm&YSPNo%eR$ z+W{XRA0HndA0HndA0HndpZ^Ud(@<8kGvyrXC9WakQ!}15PB!h^pGtlDin_PXWlxU0 z&1*x8bJIEfZ!|I=(fq;^0HKP&s@in$3w`}Ad&Q{}B%h3|VT*-D6zxgh7K`?%KOwIZ zkk6ZUQC_x|z5EqqX3YaA<>iQo&O+}4Wjtf9qN6>vYCZp0^4ipu51S$-sYC);?m=l= zp?kubNt`!(dY}OU0SE+0efw$s zFA@UaXYV7I(dZjobzx@GoHnEPF(RUq7#JooFpP-ksCC<2TIVT9zMMcrbl1Fkpdrr? z)`wjJ&VXcFGxN9ZWUamV+xHahc#9`#u$)NIREu_`(GJQSi(&LWc4?ibKAHUd*E~~z_2J?fJ6j2?< zoSG|26I{3Rbk{EFY_(5-BBfo&B3Oocq><#yNs{koQMQIXJwTBXQMDN}zKEy}qc+!( zd^<~WX!74lfXk^P0pNb4F5T~B2(Ac{ZzkCH>#v7bXZZ$iFm6ga7~l M07*qoM6N<$f^0dYDgXcg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/spider_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/spider_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..70139c3cfc3bd96ed2697c734247c08a7695fbfd GIT binary patch literal 1013 zcmVPx&uSrBfRA_{ag=R2W;%)&it(y)8Q<{nf0-=yfB2ashtq^3v5vK{V$?4GI4t*KacR5L?(~0OJ zx%F={?|q;A-S^)2-FyF2Xk%q{Qy9ix`!E2yK7(QGQK^<(=i{*?t1HWj>*R={whwqc zAV8&B;^l5W(4gKY9SO)kzTegO)qa%^qcP07g%%FA%$aqI>A}YrI2{RCICs%=i_1A@ z63n_4V2Ht@$eRE4-fce5EOYPfx1J7}>`mKN*Jtc;!`QQXghbb8xN-fegX%L1 zHN%%fp=MC18CZ=YGJ%Hneoz5Ei+#)|v5)w(`ho|IXPyq9Ms(ZuzrYy4>-ZVIds5_e z{7g@Wer%5es-IV1H>7X-(b%k8SdAm5-{H4UIN^lj$$T;)rnE`XK0c*Qiuq)sV|>`0 zoCJp*z_9t>CqM;Qno9|Q_3fgvG?xmR!H0b{?$fqAINxvf%J znbIbO9*wY7DhH}3C@ZU*;)6%u1MqN6StSrdI*1#t{HoxOuMkBYXdmy9+c|X=yGc`h3a6gn+yT-iefg>=7k@(whdT6xUOOOj?G|n& zu)S;|mO!tCd}mQqk48EarDT3rCT>=9+2!$rb(ZV6LaEL_e zf@_1yZLBGY)CJp4mYwWBl7({@G3yq_ehsT}WS4+hw_5s>JiE9d=lmpLWIkG~tZoWu zuDB$(v8G(Vaa+iSyO_=b%?9k}HNBY5`g;qE0^PnKRjMVs3HGaA`LQ3F1a!l>jpg5d jj>lW2vN8`nuitL~)@T{vAQKY600000NkvXXu0mjf{d)6Y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/spider_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/spider_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..75797ec3d9a999ffa43f259602746766340bf31c GIT binary patch literal 658 zcmV;D0&V??P)Px%Oi4sRRA_;KGuwxa)3M%ianKqeCrt=&;eLQ-`2Sr_LRt zV~0+ix&-|L3sHv-TT&oNv9Uy0t+mQZjuIiL;JC6(2iL(FXLT%HcjjV4D;rX8j|_U1H_S8KEBIJ zKI5Ql9D5O6(g2bTCu!87A9yYh>FJ9j>qo}zmNjS}nKUY?a(1kq(6a+N#oNVfYE}i> z(XY-d82Xb9+bR4LWAlLSg3QGoCTw}Y-*T7>@6fXY(x@aG&b~o|#*Y$`mC2-lhx-Jq zk$T*0%*WoD8SU54}jTeC(5gqK^OA52+z+DyM2!@n_B=}KD9vh z@qMDXB1+9#58yr-1R%V(z|mZhRM~i^7&THUQz7JY;rDug_S-(6xCXQrqSNmv)KO|J zN|_4Vdpn_1O!s9;skKPx%cS%G+RA_DGFV*7_gcsVpJMw9cnXFYoRC)r;0R?Nu~s9D*9?5-Nq5y2My$MWoRpRND@Aa8Pi#4#_>5JbiiMYfI_ z=8|gwJk)Lh@FDlLYz>oszvyVKr+?y^!z|Bs0bEs;00cu}0gz55^6}#%_76`?_msx= z4^Nm&uHo~z0gA>}up*T00z|T_j$kM(f+NEKG&QvV5Q|Qe$*vl{hO4R)rxsu+1axsmhA!rLt!DC{*}50558_h=G}6U2u>})$9NP9f=Q0o z-?Ld;O=*54Ypsq*cGY1e*Ytf@As7magXFwEcWMFpHBFyCe=((xzkS)E{rIRT7ckAg zbN4>MkzuYiUp1|D>+^T9u(ZP9Ku=M;+`fvT&Mw1Gg)|#!KIPVbv|iVXm3X~*)9bxA z0OYSUr~wX=^EkBtUa!lb{KQOL#G=z2BAG6JK|)01RGmRvw_= j#B?fAcAr9__`mrHtM~PA6G3Mp00000NkvXXu0mjfFM~&Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/squire_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/squire_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..866f9e66f5792869fd05c3e06028e188566b91ba GIT binary patch literal 540 zcmV+%0^|LOP)Px$)=5M`RA_gXsL8@b#f3~`~*ceaTGs+ zi{RilaFL2#gt|m)5iC{v2c&VRAap4fiG!qGlj}91Jt}&?<#KtSOWrp;_mTqy0)apv z5C{YUfj}S-{5K@?ji5iElk;d$Zi`<&sg^aY^-ih1zcHWRZ(Mdn<%WiGL*t#xK(O@z z{xWVmBH0__oyWkCg8qOWo{ggNkOOU0GwHTHNz?O$cTaG!il-Gv(;4?kjoq=EhC4xj zKv$Mm^iHEwJu5~VoxZ={NU3DP@)CJ|3;z%Gck#hmn@e&gO)Sh6@^GrkA_IJvl?E+XT3?+{l9@Wu@QTD=JX2>Cn! zfcxjyHW4fCv>>MrsAbYT>$mqGz`|)kzs&(sETZ((X>+wQR|oL!0a7fY=!Uh;R<}DR z3Hdxw#z!%=y@!0E2mqLwp1|YLKGagxvc}K@z}(~rfS)aW-Fny zT%}bk3*(?9dqdFbO{k?RJ_|);j}N{DTRX@S#nbd8#+>$n`;DastVP4E1juU^oz4ow e@pVV~LGT3!m$KmED@K+80000Px&E=fc|RA_Lq6^R8wP$OQgda0+l2al3NFi1gS zPPHcuLJx|F^it?y-IEs^^;8hQE)`-B5)YD)V4x}H1ADNS?IF&%yV-nD6GXZ{2u$X^ zoq7A-f8Hd3j*gCwj*gCwj*gCwj*ia%hN0dIuB>fKmF)AglaJc-GX7J_WC{R)XR83KwYe_q7)fO|f?j;xJ^;%yNUTp|;qVUt z;K#{#MJ4-sIBDzK0Wz5am0|Sq3IM=4?BFu10DyVbM(->;MW6k!B=;wfIRdeLc<)9o zUp(_>6GQFCrxDE;BJVRa-~`JuaCE$?*dwR{3b%I(!xhJFReQ_Yf@YU9hxwp|yJmJnsg}G75h+oWl;5Wx(_9vOWak zM$iiYU|O0mJvjoiiNV=L)X>+%NoErRq^=bYm`x0(CPt{w$4{cd-tp$O=0;>bS|$*A z66ErZp6=1&WRo$v|Js)w%_NZIO-+nceR%+QvB^78xV=N+_70o8lU6u5ZquxGE?+=! z+(yT0+Ij~86pxDhBe!Yc^UYv!aSn@%bMX0Q==}cj7?_qOFfC2kUmim)UqCKjfUCdL zpw$Pg)@Hc+I}OCIY63h$gl^ywBJ`a3LkY#1BbZGL{GkLLt4W`qpsjZhV!%a%6$37` z^$sF^eo`?QK@cGbN=1z>?9u{_F6_c=V(7lE{?3x~P3Gi&l`vkVu9b`2OaAO4s@Xi` z^Y>%L^(GB3A$=Htd+7+4_AUT`d+7*bplCxZT{S2U0gRtZh@7 z6U2ZE*<=jaWDH`!rSR|T;iOuB7kGpSRRB?FEtRcV0ks72FHEgpfg5;B$6Ma=U7MiQ zwdD%^l|xBWE=M^9t7%vQmWN-$BkTbvO1B#7vrm5SH=2eez#mG`9^elpAeOlv3F_*v zu6}M*XbS3<0C_`Q_2Mt($V>LTTD6w|0000< KMNUMnLSTZNj+v_f literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/strawhat_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/strawhat_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e79e0c77a23f43d3bd51a1e9e5a5c4b0a9d03ecf GIT binary patch literal 682 zcmV;b0#*HqP)Px%WJyFpRA_>7!O&8C~pbT@@ftT-Pm^Xtv*yf^dS z%z#89kw_#Gi9{liNFS=$qlke+e*5AnU5ARGTq$od4$G01& zmB5wD9;UBe0$_LV+rR@G63CSn&!<(qv!(&~+_FzImsu$6rSfXg+}23T2~1K>#} zJJgt9xdR44^Y`V@EUA2xc+|~Sb})H>c+^cidaF-PWJtR)HGnVd71mXYHPbFQg}vvedn^#MsDC)HRHODL9xs1|Eo*RqN+c4EsZU_>7%V+p0RvertC zQgMxOy9bO%-2&y$F18y$!x#2;m9G|Srf0gSZ4`F^5WEIY%Xa2hJ6EYQ@1G)9sRQuv z?lnr~7Quk(VOsv#i!T6O*?IpI0KtG$C|@eKSh{^~xHrN3_hN1Bt{<4bpr*m=0F+A~ z)pYjPx%8A(JzRA_Q51%s$OP0u5IY9r#@O28q7Ag;qKGST*KE3QrBEnBe?m8f zQgG9sP>@2wu0`lZ5LZQ9I91d|P;2TYkr+jgm_RJ)Vwf;rPG)c>sdyh4n0wB9F6Vxo zxdQ@$Kp+qZ1OkCTAP@-d8!@{<>3vW)x6?|>;$J(|95I&ovAMdOP+fiHq6UXco(YvM z&OG}M8_AF8PqhF*sx#@k-__4_P)1%mOmaeP92uhq$>Z~siyEcPg-C0HV+Zu6ULke% z`|rVC)LaJWN3Ud-E#}JkuKyfvfnEbD$NCcz@$Lc3fRxNK@$Lany&qc?ICeno>Ll0> z@W8&R|09mCK)I-KT|M;-YUaO7NNz=@w7GC&Kz4D$qIWBzo;0fwEhe0MK+qZza?QC7 z(#-Rhjum_}^#XuztG`@>%>I=KlWPSMK;g0mK(Z$ez~1i@i>R63PVGwf8^!dxdfKps zp%0VT5 z(O-m&l?8pZGwC4!e(W4Od}h7THvcRYE^BDHJb(9(*#7!i4}ANcZPVc0^k$5_YP)Px%c1c7*RA_}xI3eZE~1Et30@ZT zA9NR4ff7L%-E|XoS@r|EiiN~zO;VHCCYWNI;M{bli_;EgJICV=ow=g-b9J8Q`M&RY z-}5~0bIt*QKp+qZ1OkCTAP@)y{~L}FqY5c z*o-ciF6hVls_Fc8BUK~%mP-Q=^aQG&_~+}-Www8y!@{!m4`;m>P;aWL04tgQ*N|EV zd*w=}+vnl#jr)X$yB#y@t7WmHx6jD{-ndLYle2t7Z_hEE&+YT5N2b(+`~w~2GdaG$ z`cTuJpsN7K$p$ukGNDj)S+8trMjNa~?~Zhq3*)-H)C4EM*2)H3D;u^=T4-^WZO9$z zq|mZ^yD^HH>Fq>U0j^|`ZJ#|=r_1VJi1hI0BfiWjWqG1qDMz#Ne{=mA0EvY1YP@ps ze2te_Tcq%Cx21Hq2M?F&jhg6#@I6AI0R2;=fb!51i8PV;wLN>peq+l)v)V)K?m2&g zbm{b2T?Q`?odMv<%a4YGwDEWB=;CA3<7~f`)#K7XHHwtk*Du_vaRQ{X1=87q>Ws}V z6PsUF?Y-iaxROOC`zBO-vTp)cvS_N;J|HRMFxA_Mq}^EQ`o*UuL$Oi(cov{RF_wx1 z8eR1Gn*n$}{T@)7>zJdN=vwOc90vLnobnz4AeLGN2SnFWJhf?~yCDGt8eOU*oh>lZ z)dnaVt&C~)C0qNml+G52E~eO-TVVF_9cAFvTg)z|O!Znywl+DnLiZgo($%IeKznV* iZvP4ghb~ys*MncTj`H;pLsa_!0000Px%Pf0{URA_v%bWp}4`n_$6nF(UT4js|oxKeKHEmd*!AD zmA5vV=I=C;6Vdwb5&-dIQOAkr_KJpaCJ=K`*1_TJbpgG`(Ft&~^G6LS9UfNA#sq$@ zAFq&F|KM5N+BEnU;^$R>rClE~it9hT5(rsr3H=wI^6kz*V2b zh`-`Efw`$QnxGT?Y%pxFFYP)mp)I@sJ5`09s{7rvBjl?ZCNvui6Y^D?>YdoSf#n30 zD_+3)39v)W&NHJu158b}owFNA*B(7%VXq5d;O|X zb*%3so*QSzT)o4si1zm}b}Gi%=_h=YYt8jsVu;V#r{oI7`eK^(02fY2fPV{|D-?P8 z?oIbELfXzkZMRd&K>!xsf3x`XdTp%#SSoGrlPeUd$az*?Jg)`beaMP#@{RO*w6S@y vx`E{$kV+2L3(!9|!|q$*#P}^&`d;t{QF__G8&5Y?00000NkvXXu0mjf&~`DS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/tunic_sea_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/tunic_sea_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9185736aa13d1b68476cb7ad42cbd1f625488b22 GIT binary patch literal 680 zcmV;Z0$2TsP)Px%Vo5|nRA_efZ*;N(yT2f@-=)M!vCQkynHNTgg$%7tJXH4Y{5{`GQ4n>6D4O!t1j?|b*& z`~B|s?twrc5C{YUfj}S-2n2%v4VT^!^amR1c03r>_?OqxhCXUSiP45P5;gVJ@;QFL zePcNxxl*zm|Df^M5#@dq0f-(A+a9?3?5U>h8=r76t?uDI>k_zxl+>jE zv?drbVBq3aj`)MN2hbNavjy7Ghi7Irc4ckF_8j(u8=zh;Q7@O;X>HRV3~3e=o|&aT z7_!vcv2_AN25ifljxxXseN=l9&-|Tfs?{n0KA#VOSS*GlNi6*QZs;&Ic>_gJ*xDLK zmSt|=v_98+9ZxcubW~(gsgy=o22 zQ(Tk7*9;MyN?Zb9VdJD9fbZMaa|u8ar6zhBP{hXa`FVHr)T-Rx(>kEGpG16KSz3_ z(ArGB9^icJIPiCa(;EezynogC3}{9ccB4HO9|Yj}hpz^oTHkD|FH1$GPI{xjuhn%j zk00)KymgO^YVl@zHO;nuvpRv{KVU3A*qVU)*^0gH3da)WH^5%HTl@irwe#~nF2bt- O0000Px%mPtfGRA_1}vY zb`noxo`$zF80_G{yKaaw7$|tD9b!~wU2CQ7g56dc2C{CAhqu%uFU^u|T^+vPrFr@O z@AbX+{oj`aU@#aA27|$1Fc=I5gYm!NGTsQBI<08iu|QN8U&y4WK3c|xIYr>TrZF*7 z!_?df%L$b$YnJ05HXb{o-0uDovE_rK8;wXg9VT;3V_M4bRvx zXYl401m26d;DvBoaxGNWbW!nnPyv9nSc90UIsU_YH@B#J0`F}c8MOvYjw%o{HH^>7 zEv*TZ0|xs$5e(Qr8OEY!wm>`j#iV{JY0>%S?gvkD-i7szDgeOW<-^-t1U~NMZdjr^ zJecMI0QsM*D3pGg7Ljn!jm2aKt|hhski|*mdQ-=QgKpD%`*E04Jc%0$as>_m5RE7h z_&nkQd5pb$MR#~Ik^!I|0R>ZY%?CGT^FoR0i)3Tmb;gy!l|-NgJQfeKs7Sy&d30eyziWK}BHQIvKdMpXyc*SFjO*ZICfeMt{-Ui6&{<3i#QzAlrDU%J?XZ^_3< zWs8l?H0lB1^7%6W{%&w8Tg0>U`_?-^%`8B&JrwH(0KEA4gNkYOYFqoURFZ2*WsBHZ zUcu7z1nD^P5KEfHo9VTvZR2LO0;&iO#kw04&|X{7>|4PWk O00005y|QZZ>Ih+xA6h*<{U6n_IoEd|z4C_BTPo zjRmL~2o5YG$c7{T%VHOv-CdZ#jQF{M1;G N@t&@JF6*2UngE7$S^NM1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/veteran_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/veteran_layer_2.png new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/knightquest/textures/models/armor/warlord_layer_1.png b/src/main/resources/assets/knightquest/textures/models/armor/warlord_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d1cada44dab344173abe9a42269edfefa52c15 GIT binary patch literal 900 zcmV-~1AF|5P)Px&K1oDDRA_|ojt~Hi(`3RPS1}& z0Q{Pn(p9pq+9Q29Hlgf8(97}Lr{@4vwy*0ZQtV&4tdcTbNg|z`eOQ?)IU{-)1E8qT z4##BlQIzJxir*IJWoRYi8KEj5c66#5D{9La?r?Lkxt8Rhyo?sD+(YvbLi3TNF>Yl^r0;{tVYHoCY=Jh$HHoxJ$=BP zg&CYR^^EjFQ_r}XgtMleorRgSFCq;E^@jIv0Xc@EfTo^tc}{@HHl15bN&8!|X~$(; zfQ`tuKFEc`-12J5!$WJITV56X4zI2Z(wO%B|f52cA75 z5S##H>1IQb|0VzCj&^IabdQDA|8M2cypQBe0onsGG#|N;;Hugmns-UsvG?WM;K65P)Px%lSxEDRA_ZQ5462mBe&NtyLNu5->xIHi`j_Ly!^*EkX+2T!c^p-7Gk@ zot&JkLlJbAQs~mzfD|fHLI%@Fe$) z?ETmWp!s?eVMi;GU@`9RPc3L-^4-%RHOAwq1D3w+XcnA|v=dJqoC*P@znrk66@b~q zM*tcduNDAC2m1kdxtOSFPOyM1{30k~dpbPCQwKzXc4iZm*#r1oHs;5|8XGBp%-Y7` zh5V`n!w~QU+`4_)m7L+C&*SUtreQiP*J&mCY~+-9BkFnb3YPLLuQIiu+imZCtg+X- z`FWjIJOQ^VJ`^1`-H7Z;P7N)y98*n9?*V7U=dx)MWhgpa@yXUxxPoC0I1gT@^<3gF zi>hw`$p7J5Q@&vcS^1#`aGcPx%xJg7oRA_vG)x$ve$){=Bj2xW9UaGxjoOKipN-; zuhw@KE=&Z}qC60-Xa_#$UCsL^1Sk(gSy)}G$n}S#Bc>Y>E<_4AA#)yJVRcQhMuiMF z6}l;IfoetY>f*P$*1s?*(5R|!MWOyLTo-#|UHmXENyjd0KLI=)_dNo{;f#IRQ7XsM zxex%iIttS9(`Z+U$7_GuX_M}KgC;40#=c6*C`gOVgxtA$Ie@ z<8dn~qg+K$JHAJNa9$@&I%g6K*@eg!0!%JV6NyhL00$e-&6oF{f#jCU76Rxfq>Mx6 zIT9~hsPdh6+WfBpBU&FiVR}_}&I^PH)#hZ13hNx!+~4;I5YEfU76K$@hi%RSMB-D* z_L~Rh^5YLu5qeb;L(A<4Fxz z=a4mHyV6mu&lDmw6HW0B@RR>u09E9yV6?qNXS9UAu_evb^?1JtN6*qsQK>tpt@~T? zx@M?wQm`78qdH;qQ;sDkx;bl=_8QMppjS1If1>SV>!!~O)Z|1rNlRzPP!Ei6NhfqX zx&uJ}$1n5)^K+Xv8}abyjFtend4G)Gi%-cEgEeghyZIpJQKA|iXDc%a6CgI!1Hkq8 wZ2;cCUL-cuV|&^Ct$m9YEn2i_(V}7e0n6+VoyBQfc>n+a07*qoM6N<$f}H+bumAu6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/witch_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/witch_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fc2902213212043c5f7bc0e43ef66bf2c4a7475e GIT binary patch literal 740 zcmVPx%o=HSORA_jxrAF*IlmyafYHB@)=G8l{l#=!!(f66|z4v{0 zzx&?%{oXr}NF)-8L?V$$Boc{4^1sorv!nIMal_mWw)!mNbD!e2IcCCLJw__0liWyK zbpG}>!>6cw&Oc}xs}ZGgI;ouQbS#HLRR;XaxT+EP6xHcC4h@?DnXOGrj?Qgu?)#=b zMI}kv)>n>jSC0X(oJm>wMeT9AW>mET_Ji8u24JAO&j8rY6#(!kP3YPDu5+5*eoJ2^ zeLbmr4G=*`BOx9=zC$?RB^>aUjM#}VY*_1M^2uGo0WUxDzb#`VlGda-ugyLp+3*g~!0?MYLuHwdcj52BF}uikB-xQbu+duEHlk$!@G=gF>p zrSpV`7xSwCD6U4fa|MR3UE)n5jpAyw=rbQSXgk`%%wmF{zYG$Y^jNJiR-!H`Fg3e~ zNBQfe_}XT|0dMKrqckx!yI5)uj`Z8~<F>E8G|PSZTamp)wm$O(CnKkF72^dJbq12a$Rqc7fAF_j#X4 z0&wn(pN~(+h_9z@d%Jnp5UI1W_6;Z+{QT`}=MO^W{Z`NB(SjWS#FjtX#>{%r7C%Zp zMMcl%iLa+AB$6ymJ}geWJ<5{l<;&^K>|A+HV%r9_U`Htc^K~V5JLVpX+}fA^F!%!< Wz5SQw*Xrf~0000Px(zez+vRA_3nE*BLZ~d%D1z>#F)22_@Un5UL~G1SOM2+^5NCYfn9pWi zKl(pSW}bQ8c|PX(m{_QSnb~=v>pK7>wHN?ymk$7^vzt#pdavUCd_Hff_Kov|wHkpG z9!>-=wRTyd6fiS8FP87!#qIL35}so-mN;cOr?VTl8iGqS8GpE4K9X9D>|svLNw=56 z8^?0(GDCU5_uqZN#_F=A*XI%Ed7!5axxJq|lqN&uRQF!CsFTV4}waW^N%=5*R@iD$yTU6t8Jjy_5ik0vj zfZA)Z-QZD5gV)~%F!2XYt)C~X(lR3V5bv{g`usQ9&~}Ocovn+JX>aZ!7TXPz)unO) z>=cx65nzRr!>y8IN!!LB9K}Ixc|NJdaCrMU06vQ>U~6dx3PRH5!pL7DdziysBmc98 zDGR*T;iS*s$wqRE1NTkVBMUtK>qxEpUUp$`wGsPW10a>zM^9z&2S<4!xy9`_2HDVd zSIe**?AEf zn-rn3$tTjYRDBP)XwdZ?5{6o&QIsr&|4+Dd3UE5R@dSpe#-dtb1(@gw2!K2H*DMn~ z0deR4T1|muq9-8gtr$zi0X>yrFT1baA~s_QOS`>IIJ-I+fB$pUg*u(x==zR&xG9Iw z*rbrH`s~bfMOiE}v-9Ga3Fo{vz_GY@b>fTdIVk9D=R=A0w@$f$0*0# z_z^g<9+-2mt)-b;2>#9OXc=yP?lq3yDyZ3E>kYNQ3K(w}u<(=c;+g;W>VYBPDjN_b9rOFAA^U19Dh zU)BSR^tD*K5uAw!*jk$L1cuf93yn>R#M&acqx{wP0Kg=?gj9lr^nmPP4o_g%))!8m&twLw zlm+A-sTiPYbeFwCOYhRI3=+eA-5 v9MpLJ3;oY6oOl?ZybNluQ_ebwUV8ismGsY~PPp<%00000NkvXXu0mjfNlAC8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/wither_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/wither_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c5b2d2a6797c0ed5b1fb0bd9fa5d18b6087ba1 GIT binary patch literal 688 zcmV;h0#E&kP)Px%YDq*vRA_`fRj?SU@}&WZk|t_maAizbxG}C=xiE3#PjG2m z@)O*cxbO!UH<}QPZZsxULJC1pN&q{k#g^$%JFTWJpyPZ|X0RVI-e=W&?t9PNb9?T| zxgZb-1OkCTAP@)y0)gOvqs3~796nMuj$@Gl)BM!OxNVJfeK_cMoKsW{CBId5L&ajD zs{dLexe+ZFWB>*NQP+;wzJ522PaN&?u&u^%pxGN}Hm)+j%Rm3GAzAM{Kse~9{ZNF& z>`cp4cEdC`dNx)D$Zw`mRL%1T!|fe*ThOmxnby`o8Md#CqH3hG8+EM-whX8Q?-pxO za|+Onet2luWY2G=UGL#h9AQ-5Ng+z@y1`JWnp#oc`2)&>HBl*>=OLzLrP;a;}7;YJ`J+Jzzlp zt*9DuphPs}10eBfeNV^5!j>LXu~5DL-;cglNafxjJ;2PXWxcU^JNd*W>^aj(8R(C8 z($yaVps)KNv0TZdi-vq$7(B+%oqNnLECDbwe3Hcn_lYM{$h+tPMo;wse-1dFO!4@= zxe=>1()wJ6Xvjz91*fPQ7ssyy+Xqpxx2&qjxf1Jh8CG^Op%RSou_Wh8#FHt0Ei5tp zaANx_x9>7-2;NC=q%yW1Ry{EF0iC_4896?v*8qSopOa)(KU8(H+gqV){DvoeGx!bs WwdDA-YU88;0000Px&IY~r8RA_#y!z35*}KF%IKA)2~^{F3=Y^WjdoL&{n4i>QS`SDcBROm>+@NZWVFya)x7<5@fFbP5uiPP@v)J zv;ULU8&maHz;3fhM+|fTFWG=e_Q6wl@D!i!#t4`cJ57h?#%9b{eAT!g^(PeoWyPA? z+@~K9(L)&8GDi<}q0LNfdHzyu;+s@m03%=)N5(U4P^hn?O?de1baU|&G;(c7sM$Ps z?#*p#U3jLSQ`p?*$3AK-c8ra!M}td0o>zLhKNbLEsXvr2TL&xt3fsk!NFS002ovPDHLkV1ko8sr>)| literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/models/armor/zombie_layer_2.png b/src/main/resources/assets/knightquest/textures/models/armor/zombie_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e0797674c01ebe107cf53b4839575b03a54c199b GIT binary patch literal 679 zcmV;Y0$BZtP)Px%VM#u`8rIAq7C<;QbrJH~|(Txkyh4mk} zQ|eBCfp(#|a3cr`LN=nJ1Qkt;611evM_nYLizr5Dp=ewT6J|1#WZHbR#rtfAd(J!e z-gD=iGh7e|1OkCTAP@)y0)asAzcJ8g7#SL_smIeJlE(jHC82vq&4nW;<@cSZwT|j5 z0Aj0|mK&;6DlO;lHdZsD!bS-IY0ztW;#hi7Gmef3h=p-vxh8%{2pE| z9|d40kR+Wg^Z4su!xA_wonrss0ge6F#t%}3cz=38C+Pq0Wxz)|TV^I8_la~?Zi+D3h=5^ZY3woV4 zF3!oR``~%9ZfoW@LaBGeO4Usg z`67QZIa2p-$%4z*NU4H1(yQrf4^R)x)}p#6K=ZqTYwnz(eK*}L{sF$h4scCvfiD06 N002ovPDHLkV1kukJNy6u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/ghosty1.png b/src/main/resources/assets/knightquest/textures/particle/ghosty1.png new file mode 100644 index 0000000000000000000000000000000000000000..910e4ff9b670e81a7421734039b4467a1c75bc38 GIT binary patch literal 1935 zcmcIkeQeZZ81FH`aeO$zz!b?!XWUSFZLhtLRw|6Ux!uBTx9x-tHSBHs-mUJgEp4~E zEtn0Jk12tGA%c-iV${qj{~;k$2O@|ccJQzr?vqXQ1CT)rZC~%oR{Wp;(QgOAv3VTZLCM zJRe+&Vb#0#>>O)29(!Qx*rM7K2iBDS^rKPL97~-)wmtI9D|p*TX!nPa&>m@?cCi1C zvK`vuXMcEMT24ciKSX-gkONy0NmV4WE}^8ZRBV5FNe3oxI-ft$4Sgq_Sgl5nQs({q@+n;Tg<5 zXWklmzU;n%;l}TMWlbxGU%$R6<~IMr8os)=v26XoMN6#M&L5p^u6M0o{9M<-y4`cX zYafrFejm1B?o|!uFc%0Z;$alX9DhC8w1LnVwtPj_0CE?! zaS0|>O(e!g#|T_iL}INkN=J{RRfOxW7j7?=CHWL_awJc%#Q3Wy*LZGdOfDa{hH zA~DG;ptZA25%?s;?h=VyLEEA+Jfxct_j&xJ%y2&% zvcM3AmTanqt?C-?Fak;MwnYLd&83hwinN-Qw+R_WWr0C49@tZ&B5HcaKbu+H(sY0P*1s2?kvc{{|s+yu_tfh{k`~esSHWUdj?d3??Pttsx z;RTu&yuQb2FIwcFQPc+tu));8x}qj}rvi;eg@|U^K$Br4ED}hRM^zOe!LmL&==G5d z?}H>Ka{)3aF)|4O!}30sO~{IWQWrWO*5z);KIeR{Z53Tc97Tr&Sz>ra4*E$B`el;l zxCALBB$`xE1PCO^u{>K~Ycf^z<$%4TXPs_F>?n(R)k3A~&3_-Qa6^8T zQt`>A6M*dWx=6@Qk)cB5x7FLYH#MC(+Ds=zq<1NP4rb{II|EEulSEGcXLC_^5^sT? zyGx&1;r~bJd0XX9pd}$1oD|_CLpdWRR}|{s^_qNl%Qz~)(TsDJ#o>w`isKn-h}uNM zcZv1sWi+@Si-c?9rTgTM?aT9yUu}BtW`E+wmq(YCrEd&vLf8IHn>P)*+{Eu^%3akd V_dM>i1u19VM`|0x2Um5x_&3a^f+hd} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/ghosty2.png b/src/main/resources/assets/knightquest/textures/particle/ghosty2.png new file mode 100644 index 0000000000000000000000000000000000000000..906f7bae1aac112a9ae97574bb5369f045e1e1fd GIT binary patch literal 1935 zcmcIkZEVzZ81FH`ZM-JhngD}mOfUBAjrZ%qrVm2i|n&_9=xurIW~$Q4zJ?#h3aH23eeVuRcH;x zaqKb#soA}6*J#t}(8JqCE9%D%uPgrLXT5q&C^2zrN8rV`(8v+rp3eimebI;1qy2xB z?NlpYy7bDN>V{Kwzm@bAjSau%dws#&w=Z8ic$s_ryyJuDf=#{fm zOJWD+3^X73sQXA4QdYhBoAS%k#RHSUk*lsVH~Q(SkDH2?wvSYRC*Came)PidJnFu4 zhlVzlJuoobe9>LjvT}I;jfzmI@i)@+-Sxh*jRRArP_=_Qxxm=ySY7#Y=fH+Ni+*aG z4xjxLv|YIRRNa%i?jPKFo;gvqZF|$=i67Q18J{j{r>YX($`k93efIVB{+q&slQTda zYA9a0Tv*apmp<(5f1&)@y}w4k)gN6nE%t`x5wCvSG5>h|mmA*r{gK*5{m98PEq~3d zT`>-wEYTa=Oaz&~*ghS|d+(Pc$lP%y9I+z7)x4x7oucipGo92S8bNATq;*m11Qr?v zaYYrd>5)+kRb&BM?+%hd-3L09#$E%g?QITAy`2&#V=JCRYtuX=NCHbl)5(Nt@@WCf z@bYkNza}s=1F<>FogOv1E6lF2bU-pi+VXH<#CaWXE{of6i1LOK`}T<@uY`$ zd(qs1!QBiw#<%*P&+P@D1gyidbesuYFeTyfq-AYpeU!J$UI4jF^*z5oRL@> zXGNDA=S0SZd%YwJb;g*e9Lwl}@qSI}vhB0uvu!JD667d2#Cs^20bY{90S9E9hVeKn zGc*odEEi+BsLXn~JX?#Qz&}S!+{$XJl5JI@s!fCgQ!lPafz@sG8%d(tH zW}#cM#K$xvDZ)Ncl42YXx*EsOf7ST3gk}Ua8G6px-3-}b7LAGtOV^Y8Kh}cHxm7|z zGfl^flHKb9CfP*>GM0O-+|IpO>CDomIshcSOYyTXQ;S(C(ExRE==43Ci@1|`Q|!Kn z^jQ`Df0UlHRq7DcIDmtb!0coQd&FdmLj1R0nQym@qdXkWID1(buJEBSo`DLf4LE!! zzW8u29NbR_{B_~tLFv+0J4 U&{RCK$)5Lt`ey&pRqe0-1Nfta00000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/ghosty3.png b/src/main/resources/assets/knightquest/textures/particle/ghosty3.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c6b2a81af2d50fcecafca3f57e8ec6d511d8b8 GIT binary patch literal 1935 zcmcIkeQeZZ81FH`F+QAP1O&2L3=E~$uj}<%IAPq)?G|p_#yK|Bz4WM@JL!H6suB=1R@)2R*;pP zEC&`5MCH!iJBI3x#~$81G^hH+!KTvhzcUv$#8MZJZHqj+m24ge?fNhh+MRevKa{&s zzFnX9+_x`ISXgtc>X*qIOHTB^9C~Hy#MiF;w*QJe_pImb#HIb48a7>P9_ajP=b@iY zU!IxVGohz`&%2!i9Yp!U4WG`sGE&-eDLQ!7ck*VAuXwMnWd8cWIq0!1WnT`R@1Mlo zcjm1FFO)yf(_jCMSiWj`{~I^w#LBE&MBV4tHGx5~`Kt@69^Y~Q-tA|FqZOO`>SkO#*D&+cNXdGxA|=f`+I0AXPp;?w3O;!0 z8qyEclrCQ!oY_*9J?PCnGi%A~KPNsjXHOpi-EnnLGLLws9I5_j?W?~&vUGZm7(Th` z&ugofox)B|HfvjKf|xSHJw3#m`(_cu#8X@wK`dRCH34i# z4w*o$njWM^28Sq8Q-jnRG0H~G5NgwEyDhZ3yFL!P+o7yd%bp^aW))13Mh+me>6C6O z*&sE_tKhZ!nxV*1h|?aV@&#><#>kLiAyV}EX~_8kq$GPezmFCCi%Fj4WQGkeoItaj z!ul0aA`1tFqgiTFX$(JIh=remRGZ_N3d3YF8E;1L8dfWVn+0?54A0XTLEBxr1G2Pk z&mUt5BO6+p>1c*dx{M%UbT~l@E6t~nHjA{nU9bro#$giF9ZFSTGe9_nIA6YBW<7GAM=87-nN(Trrf{W;ll3 zX51x@;^$&ErV_Fca11MM7^$&B#l~1j9%oHfuF-VW$k>ZqMTHG03>*}sc$W9kteo=#yw!O7gT{QU$*p5LHnIqq^|^umL+<``rEcwp9&?If@P`2`DGkfGE;}paNQw zd?FnX0Hk@p$R)W%z%TmqSz@+TmWKZvkh-1KRi$D^5%Pc+lSvwPC!_`7Q)$4#B%ScF zK2?xd3Hc<7RH2eItTe!VqNPDAVobf2BL7hnGE#;WHB{`m;C3@+$8l>l8<(!D@PDjE z8w#tGMvgX}0-)RLK?=G>Mk-Z!t=+-B@#)OdX4()Yy+`r$FxyBv8DOERR_yeDHWza@ z@iyqZxAgH9{(qESuoboey%piX$xv=Gj5}iTMPdG3uhDO}jiWI*o^kH7I9%~VaXcd( zQ(JiW{`mXWemuCJh=i-+rF-E%4o*7WYe=_p@Q*Ks&;0PtjRU>-*xkFgx6e~H_u~t* ZJ>};nFZp`Gv79^aBh~fcLo3$5^f$&bgb4ru literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/ghosty4.png b/src/main/resources/assets/knightquest/textures/particle/ghosty4.png new file mode 100644 index 0000000000000000000000000000000000000000..1c99567b4633a46ce59f3ff304ffa138239d28e7 GIT binary patch literal 1935 zcmcIkZ*0_L81I%@2ruwz3&Z-_hS{cn?9?&JXJPwQJT2Iow_#6R=?j`TGKPJ3@(4Q{Hw`xV{@3h zzI^Ava}{@wjJ191t7u;}_U5%^(Q@ks*80WO%@rF*F4@8A?ZWW|*2a=GRnPW~Y}mc% zeD_rB%m=Xh+?7WfAKp24-;T51W7VVES{GmVx?{=dsnQ;%I_a-Ew(iJ>pIjZj9=zw` zG}I3?m#tbET+-c`Ip`UFs`BwSeu;l>E?qPQhGNQu-#l6}|7g?48(#VCf%-+m*zr^C ze@(A#IE|c~XSQ_P7&d>gdzN5tyN8lJ%GGa@2LK?mTOR8qIa zOpwU(ifHY=rU*O>ar%NpuAp5~6b~5|#C;x~lo>97`vnifbF`OViL*2#P;`J|yd=$t zG%x!6c>W+zG)qy%&hV4@Sm-H8Bpk;SDJq>#d(vKyVf9j|Sr7+Hu`G!Yq&=uRAVcbQ zO@Sc{ZQ0UHM>BNXWdw1f-w6^(X)cA7S)|qNyiLe3Dg#W4@z8Ec1)wC|8JbEJ(YDhx zfTHB}-jdjk4VsYZgtpOd$*^ev>P}4|m?9VVn*CNXo2epGFbPu#W+P!tF_f7w9K%i+ zx5=aUxtNV9hAapi!-^S3vQVgKfdyw#)_C1|O;?Pxy~0(L-vGnFfkA?$S&pQ6k``i& zAfm#t++#E=(sT|gp*~Q617-#`6ipqR2~?8Ah;BPTmtiCvB#VaqhA>T+u^uJVPB(TWI*c za7bE?2KS?paAT}&pPWo4mB7^>uiu#3K3uu?7O4ML;C(3?K ToUi}Wo%fNZw(#NAJum$Y1+9Ra literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/ghosty5.png b/src/main/resources/assets/knightquest/textures/particle/ghosty5.png new file mode 100644 index 0000000000000000000000000000000000000000..13e08a4cd4d052ceeb934cab19291d6aa8b4a5e3 GIT binary patch literal 1935 zcmcIkZ*0_L81It(-9K=5`A=ZsUXvHSqTBd$+o~wzS>u zwqQ2@fe3+sA%c-0K}{yQ_yv(HW)KC@5uzv|7$U|melTIt!54|nx4S^!@ECgKu765U;Q%sOGP)ZK_;9aM2D`ZPHB3G85b{l)>gz(1$}D@5UYe5$K?XaJ&SlcN zE$2eaB(F@??rV;rCm~K(h{+eUJr<|KhJ|UrH^3s^S4RgWFCXv$F|dRd055T%j^jlZ z@G=O<{vcgA7!u7=lX6?+sX{FB6k<9Z$CNoPo6UN&qSvre9BCH9A#j4g5(I1a>JH4Y zx?NLbh+rF8n(1hUPP>dyF}j@)LzL!I$e1Ns-7eTf4C8XpT0?C@LU90J;k+m1QiV7QW1Ufjx2te?$Aix4C z!AmkJoKJWh2r>Y9XpHoM3LQ8#u%T+n-l;%iF*&N+4%88jMnVh`<<&G*Rulz+pu)2l z1{F4le2}e^lsXowSO_2q1W_qvVhr;IU8g1p=(!j}VK1 z53vveKMR2`DDr+@5XEGXZIz{wKL@67WOY@kgi%fUagxW775yq={VL&6KtN%AsvrVI zl#-GnGPH{1q+w+s=@TsjQ13gW>r=$(|7rNPVbGwBbw{gOT8t(1e_ilA}ZE3sR zZ9z8``A`A@L)?r6iIHSZ`45pSI*5Wq3@S(n#suR({z1Z`Kw?C}x4RFC;bZ^Ur0v`G z_x_&W^Lw5?+oLUwv&$bZCkSG8xGB_z@1^cpHXUEr)*K!qh!Rl?2BY<=p&+uYaV1&9 zNmA_+f~eWOch^|+7tu$yj?Hg4abRuPFF%`$TcfG-$9IIEdxLBr3GVqg9NeostRL$C zvtp;d@cEx!nzFd@c>QlPHkF-uPwZrSY5+9iGlj z{pP*>FIGG_Fx>K^uVVFz;kR$hkCt1vh~}@aZ>rcZaM2D_?U0VmvNn{gTKGcO!1_IN ze&`sFo&FGYoV`+A|KzR*hIXFu9w! zt|EPZW7&#jfq5PE*#n;bXDgq2>$38d`PiIs&=*rjMe|6>%p(n-tbhIYN9*SF6UR=j z{`=~h<)^TdGt8zAn;>S+b{yvdw}b&C!01gnjq?yXH5XR zkV7gcsp$b~d~}Q=H8nu3^F`Q*8AP30Q=f&_^tHrbUl){AYWdS-T~@{fY2*Mhn@;Jr zoDEPDyfR+9uNjJ*fH++NDp%0m;G8s?C>oKe(gPR3&@C?t>7(v^;x&yMb zZZ9e@gpds_&2%(FCtXIM7~M{Q!b)=~q|G9&Zs%>nhA~-SGMtBXQz`%>k$Xea=_1;8 z8hUV)yxuz!+p%5~F>S~;x-EzrdXVlcDg;wuaj)5Jr6w{}A%jvVjbSzx#uY=EorYuB zoyJ}AD1I(xW6D7b0mranhLI{1Dq3J6d7L#_vrf}hBV#Xd73DXe5O7d{;#ppxSwGE6 zF;0>>LH0^ZSzcz@95jOaKm`t%9N18`MDJvvk%%1DZ3pNOg+l=fi}GliDk}*I3AG}m zB|f3hNE8&hRuK>lAn=JQl%T@;CUoKbAp>^1_PP6WZL1m(a}*ttRX+ke>tkurFR`@X z6*wBGejg1I91wWL=NCk=z_!}b@Sg)xx3jvcR96*`6kdb^UCWDJ+6%ENz^W4MMI!V; z&dZBDN0BO&6NZ%rxKFe+NFv76lN9-{nxK&~tcamv&%JIpV|JWHlV;=6_2&PNHE3gg zmD0$Grjr45dp$rwx5!AP@~^c!xi=}DIoeDo!ld^oehy|E2`2+ARG-97-?zD#yNS0! z&wZp%s__4#^t`RG6X;2V2PZ?h$uRDS$rXk9Z@nhI-8PO2a6IGOWpTLThvIlfI;OVp z@cs5?^~-p0FAaz4V`W3IE^}o;sd#Slt<Es{cyHy#YiNVv=&t;ucLK6VcoGQ-% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin10.png b/src/main/resources/assets/knightquest/textures/particle/gremlin10.png new file mode 100644 index 0000000000000000000000000000000000000000..94efb09b09f832b45b1b9ea8662c279fa14c2a2f GIT binary patch literal 356 zcmV-q0h|7bP)U9(^F(NHlWS~N|69Iwxw_I zg%tb_4*mZ?xSI3bmLi(^{j!hyZMegV1}A5m*<%NDx_oCEO3~ zT<-Bu53j~L5h8gr3P*!;Ad@2+((QCDutIow8_c} z;Zbd7j?w@X!cmWwX!H5^PCTN{eKPFYp6nN>@%D(9*n(f^0=NJ!fGhyIej$Rq*bwtb z%&(r=5Z4A^^YtD>Z?Oe6AT*COfVWZ|fk^(2H~OE21c5+64y|M;1gt$vX%?ac#P7Ed zE&>D)v(SUd9U3p|?9-~}i%bNb=*biDz_`L0Ff6Sji@0000r4|En zi8S%SSo(joG5i2j4wI6M3!tj#ps#zG$V7XqtGYThjQ9~3KqmTe@njkkS+lyNjxcfj z+TSw*;;3ss0KlH_*DFUC6;Gz8AgK^uJaN||#13)-(S_o4=4QSzyC7JN-p2o=Ty2lV z7p+6CYD!}erEGcii^+dq%|sZf=$)%rt=Irrrx|QpUgFOH0000}MR zJTD<02tNIqc1+G8EW@b@~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin13.png b/src/main/resources/assets/knightquest/textures/particle/gremlin13.png new file mode 100644 index 0000000000000000000000000000000000000000..76ea3372ffee46359a54828f35ba1637ac25ed21 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6ujW+ z;usRq`gXb_UyA~d>*~VywmT0NFzjvoK1aAjOnHe{Yg2;wrKz1C{y+9k;$9Hrd@kuv zlt|~f?uhbJMt^mb0(Ysi3fI1DEqk0eS+$Mr-|sN(rX42k%rA~|oq9XHZr7@3M+MIP zS!c*SscA)Jkyt~c#LAu3)8e+xSu`t0Xze2Y8b8gRjYs>h1~30!r^5P`#ma&G1%vE? z>)HQV-5ahtoff&ku*=SnVL@;5>b928T;f^VQqno5F59BkawMkKz>{lQPuiDd_odD* hGBCV2DbQziop;m8Bg`5#xO&Lc2qljOMxTGZimCZmQkg zny-;%Q@lK@rEKq?eJncPqB!NhU1>OcZ`KDX<;X*`b;261Xqik-{a&y3m(`|${R4yC zgNxhh52`aH%N^j?Wy)w@aIW>r$%rk|8Tx8puJ-Jkb19U8^I?zR6zMewfKFoYboFyt I=akR{07ouPfdBvi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin15.png b/src/main/resources/assets/knightquest/textures/particle/gremlin15.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae6a87aa279fb764ff70ef6af587853ddbdb814 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6g=YT z;usRq`gXdbP=f-8>p||4c>W8uwv1~_x>h&}W<9*W^hAA>l#+(4>SQx928Qjjp@o}! zs~zL4ckV0;vweJ|FYxh1o9%6%7X&_@H)jR!mnM&(4>`r5ep)lv#P4ytqkh#bKbdn0 zV@Rcrt@wA3_%r*uyq0Za65Kp}&yiSxm8=^W#11fJFidp+^fX_hlBM|Jw#QFJU9K`e ze;(qwr+24||NB)Qr}W=3@pmkr^Iz-qQbw@}3%gJ92zmdKI;Vst08epifB*mh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin16.png b/src/main/resources/assets/knightquest/textures/particle/gremlin16.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae6a87aa279fb764ff70ef6af587853ddbdb814 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6g=YT z;usRq`gXdbP=f-8>p||4c>W8uwv1~_x>h&}W<9*W^hAA>l#+(4>SQx928Qjjp@o}! zs~zL4ckV0;vweJ|FYxh1o9%6%7X&_@H)jR!mnM&(4>`r5ep)lv#P4ytqkh#bKbdn0 zV@Rcrt@wA3_%r*uyq0Za65Kp}&yiSxm8=^W#11fJFidp+^fX_hlBM|Jw#QFJU9K`e ze;(qwr+24||NB)Qr}W=3@pmkr^Iz-qQbw@}3%gJ92zmdKI;Vst08epifB*mh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin17.png b/src/main/resources/assets/knightquest/textures/particle/gremlin17.png new file mode 100644 index 0000000000000000000000000000000000000000..aa238286d8b85399842e21704593334c2e0f30b6 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6nyOI z;usRq`gZz3!4?G`SNk*f-d^T2V@+VctuFe$(2$S^ZMUniwuP&++bZ9UcZ3k4rs=j5`lEe!0RO!+me9aZ+6RO~KGeiPoM& zCO?}VaIAYh>+ouosDs;uwjc0U4cjr(LG9t^gZ2K^zB!WnzHyhQ8gQM>+TX07`r+x7 zZ5LU0If%bt+I&D|!yl<4mg{;avv*$?d)W4%&MV=owVm9K&59c*Sv0-B-{i(_WMA>T z^H}cB&w6Un6R)_0z45SHe&y5MI?K>}&(*JgikquE={8wsYYX%)gQu&X%Q~loCIDLa BeUShF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin18.png b/src/main/resources/assets/knightquest/textures/particle/gremlin18.png new file mode 100644 index 0000000000000000000000000000000000000000..b39c384070bc9b8709d24c099904507d70f84e0f GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6rAqq z;usRq`gZz3-UA9e%*@;+@oX>l`3S_V)e3NRIPy=$e#w>eS?q;E$(g!YZ$$+?ug~?V z)lOLb;+%P~;)=Fwi_{-PS1o_&y(_L@^FH;OQw|5}BRwk4pUEhQpIP{O`4+LIfBvm! z{Ks*~L4t!h(V^wHL@)aW#$O!w7U`*Y2-_x0G=2}t%38GcX`I@&uL2i)Qj={>L9AA^leg($IA02%!N%Gz1+5bV>(c&82M|N zukH=4U7yZ|bgT+Add2r+(!IPN`my>uBJT^^r5Ze#ucNjnT`s2}zWvcR|EWD%KmV>} z{L693L4t!hk>P@!+vCO@2fL>2OSm~NyPTJBd$4!PtXV19JEwQ1+PaxcZVxUl`r7r} ZTuQ6s>5_NwFS-B# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin20.png b/src/main/resources/assets/knightquest/textures/particle/gremlin20.png new file mode 100644 index 0000000000000000000000000000000000000000..a6caee595248569d66ddc5dac6bc106ea16a8228 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6rAMg z;usRq`gXb@-vI?4X5RBp9slN8ZC&Lc$~LjW(`?C=^jVEN8g#M^wuv*GYIXX$wjuK3 z-27!u3#G0ls6U9VTK>>`S6o5VePO#)mjm^Y6Fn;)Uf1xicj(owoR63{2t_Gdh%M4zVPiT!HYg}elMTA5;SCxM%_Dim$&tfkW+R&BdTklqGg+QhJX(M0k=PdYpTpbnQITV#BaGYG&`f^&ZZ$wqQ7O=1g3G z+o>16y>_=G8j7A=u{pcsT2yQbbNc7Rm4SysZ)qy8^|)QsZ(1h%k@L?>!`25c6@PFr m&S)@-du?Cyk@xJGGiCY@?XG&?(C7r(&fw|l=d#Wzp$PyE3P_3o literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin4.png b/src/main/resources/assets/knightquest/textures/particle/gremlin4.png new file mode 100644 index 0000000000000000000000000000000000000000..de80bcff3433171f072b6143bf490f7942603526 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6m0Qy zaSVxQO-_(tU7R4&(=?G!;^f6I_T3Nd!wxT-m?w8q>cO<<3q5_5&I_t&9@`M}O`@eP z$90=>M_9+@A_;}df<8yA7}h^Mk@OntJSxZP?>Nq>lJq(_%elF{r5}E+* C&_~t) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin5.png b/src/main/resources/assets/knightquest/textures/particle/gremlin5.png new file mode 100644 index 0000000000000000000000000000000000000000..2ff650da1d371bb79eddbb42d93603202cd73998 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6kPA= z;usRq`gYoB-UbB$my32eM<&@s^sswx668K8+;aZirep=f!so9HJ|9RqXgT@i`&k!Q z>x$!eY&QCAwbZ^RdAYH9h0m%_(*=B;b^N=hcbnbMX1&xTU?280#*lqc!;I2S2g?_! zj3*YmZxxT^a0u&rW2dnuGsodSH`_@D9tSp#WYf6?QKE-A*g7t+7F1aETE)eW@k8Bj xqg4uC0$zL9CvzlSX>MU%$aGMB=E;;QhE-dv6ddgTc>{v(ThIUi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin6.png b/src/main/resources/assets/knightquest/textures/particle/gremlin6.png new file mode 100644 index 0000000000000000000000000000000000000000..be22974e6a9247cf0c702baf7cf4cd17ebe8d86b GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4G5)fv*mnL5U6g=bU z;usRq`gYnz!Da&Te*u>AOXdPUO$g*of?^~DO5+j_VNtXufm dQ;e(CZ1#TlQp+>K{6K#(c)I$ztaD0e0st3YZ{+|0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/gremlin7.png b/src/main/resources/assets/knightquest/textures/particle/gremlin7.png new file mode 100644 index 0000000000000000000000000000000000000000..041eb27fe6c233767370346049a661832ba3f644 GIT binary patch literal 336 zcmV-W0k8gvP)|6 i7k;+v19+B zRz)hlK|cP^N#q3J-=nD!ryhw)I`et&RmKCCG~uOZKte(4kyv9Dj~JpjXja`WoblQT z2%rpNzEoAS#sP>05$}QAeC%x97Sm4OE)v2BMI@@<}Ec=#-s7S+w@DGsU!&UPG!5DZ9OwPOx2OR#nlf|yoi z?!-ASr3&O1*K!2`&_5kT^h1nvMt0Vl=@ zsHy}WqvZc*$0!E4dYF>UWI-y?QLphs-6^3O^Chb0frwmtC2XIN zJ@Ahs8G``ohtlOLGv*>dfB?$J^2ivFpJdg0U;1OBF)jjNAbX-G3^Lb=FFo|0MZ>n5 Qi2wiq07*qoM6N<$f}CWK)&Kwi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset1.png b/src/main/resources/assets/knightquest/textures/particle/starset1.png new file mode 100644 index 0000000000000000000000000000000000000000..9721cf6b315057f31f8d1408d32e3324759151fc GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=BeG%-Ex}lN~7N;_2cT65;;#ydf9RsMd$>!N>dfZr>2)y13M^ zJ?bC-k@jva28Ib&mxoElO-ugMr`uQYBwF>C`Ag=gujkk5Ff%mBWHR4fE*P7p;T;Y% OkHOQ`&t;ucLK6TqfizeE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset10.png b/src/main/resources/assets/knightquest/textures/particle/starset10.png new file mode 100644 index 0000000000000000000000000000000000000000..327f471803159ee67da4b339910cf471660d4c7b GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?ST)1L$bnOmyd>wpwfNswRge}<>q4ZMIn&H|6fVg?2wFlOvg+Q|+S ztnzem46*QkJJC_-hyn-8*Z=eRn3a@z1%F3%@DsdfaFVdQ&MBb@07LCp!2kdN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset11.png b/src/main/resources/assets/knightquest/textures/particle/starset11.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c9b7b7babd3afadb275fbd34eac3a94b996b41 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$1AIbU)1L%4y#sO>vZ4eFffRE|kYDis{|whp@dDK{a29w(7BesifiYu` z(oS}uV5g^xV~BrOhC(9~}F4MRMcZPf<^*PBv~hclHNsfm)5k ziSsQ}Ki1^wOq422$S9E67~{0ftvo|G+2Y#_Yt}**yZn0FrfrXTFJ0r@dN24B+ed~A SXUl<(V(@hJb6Mw<&;$UrS7mbm literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset12.png b/src/main/resources/assets/knightquest/textures/particle/starset12.png new file mode 100644 index 0000000000000000000000000000000000000000..488c0aa2e010156ae6c9bf5bac980037dc6e0732 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?ST)1L$bnOmyd>wpwfNswRge}<>q4ZMIn&H|6fVg?2wFlOvg+Q|+S z%=2_{46*QkJDHKM!GMGL_<#Gi91)FEHnLY33RYd!G1QanXl1ntFj#J(^M1m-TM6H* zFM1grQFpB^=xtx~{C7Zd`0?0>4}AZ(o<6iPu}p6Z@Bcf0wH0Q&6>OO(k|`4G-zEF= k%WF;RGMj)$J_3~tZ6}$RcCFa49cVLyr>mdKI;Vst0Q${T5dZ)H literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset13.png b/src/main/resources/assets/knightquest/textures/particle/starset13.png new file mode 100644 index 0000000000000000000000000000000000000000..0e852a2fac5f8d5ec1518be8c1692e7a35a2f018 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?ST)1L$bnOmyd>wpwfNswRge}<>q4ZMIn&H|6fVg?2wFlOvg+Q|+S ztoL+r46*QkJJC_-0MM$Z|L3o3^jN6$n0Z$7skHWPXB*{~jAQe2Y>w!;OjFxk+-q^M zc(tIDOzQp(oLt*<9$twy-m#KLi$kW{Aw%p%*S6&c%V)-KSaCt(*0)1v%gwbfEU=M0 z<*UJaIBF`}Let_O8h&Euy=Kg5Ix4W=DXhcg3FGo#%$A8-pV@#;VeoYIb6Mw<&;$S% CfLcfZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset14.png b/src/main/resources/assets/knightquest/textures/particle/starset14.png new file mode 100644 index 0000000000000000000000000000000000000000..0e852a2fac5f8d5ec1518be8c1692e7a35a2f018 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?ST)1L$bnOmyd>wpwfNswRge}<>q4ZMIn&H|6fVg?2wFlOvg+Q|+S ztoL+r46*QkJJC_-0MM$Z|L3o3^jN6$n0Z$7skHWPXB*{~jAQe2Y>w!;OjFxk+-q^M zc(tIDOzQp(oLt*<9$twy-m#KLi$kW{Aw%p%*S6&c%V)-KSaCt(*0)1v%gwbfEU=M0 z<*UJaIBF`}Let_O8h&Euy=Kg5Ix4W=DXhcg3FGo#%$A8-pV@#;VeoYIb6Mw<&;$S% CfLcfZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset15.png b/src/main/resources/assets/knightquest/textures/particle/starset15.png new file mode 100644 index 0000000000000000000000000000000000000000..83d04a570e720d6738e2be3f8c07f8df9881259b GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$1AIbU)1L%4y#sO>vZ4eFffRE|kYDis{|whp@dDK{a29w(7BesifiYu` z(oS}uV4tUpV~B1lyp{nzj(}MOK?FoHqCLzL-I?MdfEtB?u!04xbBG=>}PyZp-AmPWdA!1>-?Cqz1 ze-5}OxKEI;zxK0Sp8w1&h4KWyjMi0K9&a>%)Yv25URVEBrA+7Ozm`i9le$($z2@cI X#CCS_%6SKXE@SX?^>bP0l+XkKYHVf3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset16.png b/src/main/resources/assets/knightquest/textures/particle/starset16.png new file mode 100644 index 0000000000000000000000000000000000000000..df5d70ea77aaf442ae12578b2a869d9d5c40adf6 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?ST)1L$bnOmyd>wpwfNswRge}<>q4ZMIn&H|6fVg?2wFlOvg+Q|+S zEb?@546*QkJCTv^0MM$Z|L5OpIHbVzt0C5C(cW1S+fPI?y6Epa^K$z}*9~4`AGb96 zq&?Mr8d&}0+f;{ba%CS@`M17n^QybrwSU1Kkz;JHcNTm!uiSEA8}H=1wyNUc<|d(` prW0n~l$!0KFJ@+0Dj;}~IrSv-RCdvQyMVScc)I$ztaD0e0szOeR_y=) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset17.png b/src/main/resources/assets/knightquest/textures/particle/starset17.png new file mode 100644 index 0000000000000000000000000000000000000000..b50bccd9cbadd4bcd03837cf37381a7fbf6337a4 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCils0(?STWgh}r4E(d*o&qVRk|4j}{|ryJ8+ZYEoCO|{#S9EWV9eN~w38hu zSmf#A7-Hf7b|NF+0iab+|IfeIa7cmaS3|7PqP?>uwx5V(bkW~;=H>Q{t{c3>K5l9B zNqegMG_d-~x2X=> pO()E}DK*7Xc}zk|4j}{|ryJ8+ZYEoCO|{#S9EWV9eN~w38hu zSmf#A7-Hf7b|NF+0iab+|IfeIa7cmaS3|7PqP?>uwx5V(bkW~;=H>Q{t{c3>K5l9B zNqegMG_d-~x2X=> pO()E}DK*uwx5V(bkW~;=H>Q{t{c3>K5l9B zNqegMG_d-~x2X=> pO()E}DK*!lvI6;>1s;*b3=BeG%-Ex}lN~7N>gnPb65;;#q9Yg3D3^-|7nk3d7Q1l57Zz8= zKkQ1Ir5qU<0-~g6*$LkNl=QlKp8Uk8f~7?*N7p@n%{@uHUYnia0beHLC~y~j@+Inv?I=ph%&n#six v<#=PFf@%O8&w|f}2Uaj~EZE7Urp6$7f&HxXsV8@VrZITB`njxgN@xNAQr$bw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset4.png b/src/main/resources/assets/knightquest/textures/particle/starset4.png new file mode 100644 index 0000000000000000000000000000000000000000..1b540205ba9146440a799d559938f22579149d77 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$1AIbUo8B=nJp*zWwjWE?15(T-L4Lvi|1(@a#S2u+z**oCS(wp6NDIM#jv*HQS0_619Z=w4(fwavk{X%n>1$zju61e8lC6iO-U+iMaxa-VnO#Ix z`I+3RjlzBIM<#V>u6f)jp=8k5A0YmsEA*9&TZ^uX?>~WE)8E)_-n-)8s>A@xe>&zn tjvW6qqm=3J#hqLM4AB9zgvB}1^ye9|i=N*Z{t0M1gQu&X%Q~loCIA}>R7(H= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset7.png b/src/main/resources/assets/knightquest/textures/particle/starset7.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f64a020486125d6e965a042f60bde6edfe518c GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$1AIbUo8B=nJp*zWwjWE?15(T-L4Lvi|1(@a#S2u+z**oCSoX_jv*HQPcI(iYcSwozHst?{T4>AmA5C&{gTArcR^f_&-zKSfrO5Y?PBK* zA`fnJ2L?7@nI~4U`TR{ESG$YHTefI?coTd?;QrHwISey?+kMpE!0}!>$L|VbljjEp z2d+t9%cm#Y5Z;7z!m0-NT`Lp08S-kpZZSS}Tas%8}Y#CEZtFZ2h{2@IaDelF{r5}E)^238dS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/starset9.png b/src/main/resources/assets/knightquest/textures/particle/starset9.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2ff2c771ac7e5b4596da61bce246c5cd5121df GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikh0(?STo8B=nJ!43J5)2gB#j_WFM==UWfyxo_t_Pzj$}>2Y_9qThA@?GOL1-{?@r zC|0yi;+W-;hcQWwZbP0l+XkK Df?rW$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/knightquest/textures/particle/yellow4.png b/src/main/resources/assets/knightquest/textures/particle/yellow4.png new file mode 100644 index 0000000000000000000000000000000000000000..c14c7f337241bd3a20fc7f3dde767ea46f66863e GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ww^AIAr*1S2@v->OcNN26by&Kh_Jlg*A%@Hq)$ literal 0 HcmV?d00001 diff --git a/src/main/resources/data/knightquest/advancements/knightquest.json b/src/main/resources/data/knightquest/advancements/knightquest.json new file mode 100644 index 00000000..839a9626 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/knightquest.json @@ -0,0 +1,29 @@ +{ + "display": { + "icon": { + "item": "knightquest:paladin_sword" + }, + "title": "Knight Quest", + "description": { + "translate": "achievement.knightquest.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "background": "knightquest:textures/block/advancement_tab_background.png" + }, + "criteria": { + "requirement": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "knightquest:small_essence" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/apple_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_boots.json new file mode 100644 index 00000000..9e678d52 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_boots.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:apple_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_golden_apple", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:apple_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/apple_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_chestplate.json new file mode 100644 index 00000000..0dc33134 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_chestplate.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:apple_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_golden_apple", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:apple_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/apple_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_helmet.json new file mode 100644 index 00000000..83b414d2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_helmet.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:apple_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_golden_apple", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:apple_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/apple_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_leggings.json new file mode 100644 index 00000000..9b8edcf6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/apple_leggings.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:apple_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_golden_apple", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:apple_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_boots.json new file mode 100644 index 00000000..ec2830d9 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_blue_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_dye", + "has_bamboo", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_blue_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_chestplate.json new file mode 100644 index 00000000..00eb08ed --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_blue_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_dye", + "has_bamboo", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_blue_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_helmet.json new file mode 100644 index 00000000..6e6c6723 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_blue_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_dye", + "has_bamboo", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_blue_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_leggings.json new file mode 100644 index 00000000..9c486d8a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_blue_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_blue_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_dye", + "has_bamboo", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_blue_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_boots.json new file mode 100644 index 00000000..ce50d568 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_bamboo", + "has_coal", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_chestplate.json new file mode 100644 index 00000000..faab069f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_bamboo", + "has_coal", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_boots.json new file mode 100644 index 00000000..bb9f604c --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_emerald": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:emerald" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:slime_ball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_green_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_slime_ball", + "has_bamboo", + "has_emerald", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_green_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_chestplate.json new file mode 100644 index 00000000..032f8d15 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_emerald": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:emerald" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:slime_ball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_green_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_slime_ball", + "has_bamboo", + "has_emerald", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_green_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_helmet.json new file mode 100644 index 00000000..01096537 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_emerald": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:emerald" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:slime_ball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_green_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_slime_ball", + "has_bamboo", + "has_emerald", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_green_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_leggings.json new file mode 100644 index 00000000..c0024c70 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_green_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_emerald": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:emerald" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_slime_ball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:slime_ball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_green_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_slime_ball", + "has_bamboo", + "has_emerald", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_green_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_helmet.json new file mode 100644 index 00000000..33b0c2e5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_bamboo", + "has_coal", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_leggings.json new file mode 100644 index 00000000..4b7e430b --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bamboo_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bamboo": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bamboo" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bamboo_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_bamboo", + "has_coal", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bamboo_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bat_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_boots.json new file mode 100644 index 00000000..2097faf4 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dripstone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dripstone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bat_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_dripstone_block", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bat_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bat_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_chestplate.json new file mode 100644 index 00000000..a9876c72 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dripstone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dripstone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bat_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_dripstone_block", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bat_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bat_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_helmet.json new file mode 100644 index 00000000..cd411b75 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dripstone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dripstone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bat_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_dripstone_block", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bat_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bat_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_leggings.json new file mode 100644 index 00000000..815413f3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bat_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dripstone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dripstone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bat_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_dripstone_block", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bat_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_boots.json new file mode 100644 index 00000000..a886de09 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blaze_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blaze_rod": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_rod" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:blaze_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blaze_rod", + "has_ratman_eye", + "has_blaze_powder", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:blaze_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_chestplate.json new file mode 100644 index 00000000..e33f0435 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blaze_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blaze_rod": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_rod" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:blaze_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blaze_rod", + "has_ratman_eye", + "has_blaze_powder", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:blaze_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_helmet.json new file mode 100644 index 00000000..6e73387c --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blaze_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blaze_rod": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_rod" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:blaze_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blaze_rod", + "has_ratman_eye", + "has_blaze_powder", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:blaze_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_leggings.json new file mode 100644 index 00000000..844d4f9b --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/blaze_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blaze_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blaze_rod": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blaze_rod" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:blaze_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blaze_rod", + "has_ratman_eye", + "has_blaze_powder", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:blaze_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bow_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_boots.json new file mode 100644 index 00000000..0dde5c3d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_arrow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:arrow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_crossbow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:crossbow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bow_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_water_bucket": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:water_bucket" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_arrow", + "has_water_bucket", + "has_crossbow", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bow_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bow_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_chestplate.json new file mode 100644 index 00000000..927ca5a5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_arrow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:arrow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_crossbow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:crossbow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bow_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_water_bucket": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:water_bucket" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_arrow", + "has_water_bucket", + "has_crossbow", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bow_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bow_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_helmet.json new file mode 100644 index 00000000..c15e8afc --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_arrow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:arrow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_crossbow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:crossbow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bow_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_water_bucket": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:water_bucket" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_arrow", + "has_water_bucket", + "has_crossbow", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bow_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/bow_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_leggings.json new file mode 100644 index 00000000..281a7802 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/bow_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_arrow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:arrow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_crossbow": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:crossbow" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bow_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_water_bucket": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:water_bucket" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_arrow", + "has_water_bucket", + "has_crossbow", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bow_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet.json new file mode 100644 index 00000000..00e8d8e5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_melon_slice": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:melon_slice" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:chainmail_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_axe", + "has_melon_slice", + "has_apple", + "has_filled_goblet", + "has_iron_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:chainmail_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet2.json b/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet2.json new file mode 100644 index 00000000..9ef6320f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/chainmail_helmet2.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:chainmail_helmet2" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wheat_seeds": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wheat_seeds" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_iron_axe", + "has_wheat_seeds", + "has_apple", + "has_filled_goblet", + "has_iron_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:chainmail_helmet2" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver.json b/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver.json new file mode 100644 index 00000000..21eb40c4 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cleaver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ink_sac", + "has_ratman_eye", + "has_diamond_axe", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cleaver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver_heavy_axe.json b/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver_heavy_axe.json new file mode 100644 index 00000000..794eed40 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/cleaver_heavy_axe.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cleaver_heavy_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ink_sac", + "has_ratman_eye", + "has_diamond_axe", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cleaver_heavy_axe" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador2_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador2_helmet.json new file mode 100644 index 00000000..6c413db2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador2_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glistering_melon_slice": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glistering_melon_slice" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_nugget": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_nugget" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador2_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_nugget", + "has_clock", + "has_glistering_melon_slice", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador2_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador3_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador3_helmet.json new file mode 100644 index 00000000..bd8d8787 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador3_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_ice": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_ice" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador3_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond", + "has_clock", + "has_blue_ice", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador3_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_boots.json new file mode 100644 index 00000000..d68dd1ed --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_dye", + "has_leather", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_chestplate.json new file mode 100644 index 00000000..f0fa2abf --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_dye", + "has_leather", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_helmet.json new file mode 100644 index 00000000..d81ee933 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_dye", + "has_leather", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_leggings.json new file mode 100644 index 00000000..61a02312 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/conquistador_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:conquistador_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_dye", + "has_leather", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:conquistador_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_boots.json new file mode 100644 index 00000000..2f99c3ba --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gunpowder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gunpowder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:creeper_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tnt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:tnt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_tnt", + "has_green_dye", + "has_gunpowder", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:creeper_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_chestplate.json new file mode 100644 index 00000000..3d83c53f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gunpowder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gunpowder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:creeper_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tnt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:tnt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_tnt", + "has_green_dye", + "has_gunpowder", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:creeper_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_helmet.json new file mode 100644 index 00000000..fef695b3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gunpowder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gunpowder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:creeper_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tnt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:tnt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_tnt", + "has_green_dye", + "has_gunpowder", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:creeper_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_leggings.json new file mode 100644 index 00000000..fbea7aa6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/creeper_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gunpowder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gunpowder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:creeper_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tnt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:tnt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_tnt", + "has_green_dye", + "has_gunpowder", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:creeper_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_boots.json new file mode 100644 index 00000000..78470653 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cobbled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cobbled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:deepslate_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cobbled_deepslate", + "has_chiseled_deepslate", + "has_deepslate_bricks", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:deepslate_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_chestplate.json new file mode 100644 index 00000000..1c986d7b --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cobbled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cobbled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:deepslate_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cobbled_deepslate", + "has_chiseled_deepslate", + "has_deepslate_bricks", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:deepslate_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_helmet.json new file mode 100644 index 00000000..8b00a415 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cobbled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cobbled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:deepslate_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cobbled_deepslate", + "has_chiseled_deepslate", + "has_deepslate_bricks", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:deepslate_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_leggings.json new file mode 100644 index 00000000..88ac31fc --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/deepslate_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cobbled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cobbled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_deepslate_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:deepslate_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cobbled_deepslate", + "has_chiseled_deepslate", + "has_deepslate_bricks", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:deepslate_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_boots.json new file mode 100644 index 00000000..8dcc5085 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_end_stone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:end_stone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shulker_shell": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shulker_shell" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dragon_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_eye", + "has_shulker_shell", + "has_end_stone_bricks", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dragon_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_chestplate.json new file mode 100644 index 00000000..634dc9f5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_end_stone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:end_stone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shulker_shell": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shulker_shell" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dragon_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_eye", + "has_shulker_shell", + "has_end_stone_bricks", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dragon_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_helmet.json new file mode 100644 index 00000000..fc7259e0 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_end_stone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:end_stone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shulker_shell": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shulker_shell" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dragon_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_eye", + "has_shulker_shell", + "has_end_stone_bricks", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dragon_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_leggings.json new file mode 100644 index 00000000..ec3735c6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/dragon_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_end_stone_bricks": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:end_stone_bricks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shulker_shell": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shulker_shell" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dragon_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_eye", + "has_shulker_shell", + "has_end_stone_bricks", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dragon_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_great_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_great_essence.json new file mode 100644 index 00000000..10cd93c1 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_great_essence.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_elytra": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:elytra" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shears": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shears" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:elytra_great_essence" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_elytra", + "has_shears", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:elytra_great_essence" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_to_small_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_to_small_essence.json new file mode 100644 index 00000000..2b9705a0 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/elytra_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:elytra" + } + ], + "result": { + "item": "knightquest:great_essence", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/empty_goblet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/empty_goblet.json new file mode 100644 index 00000000..52df87dd --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/empty_goblet.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "# #", + " # " + ], + "result": { + "count": 2, + "item": "knightquest:empty_goblet" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_boots.json new file mode 100644 index 00000000..a774f012 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:amethyst_shard" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_pearl": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_pearl" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_grass_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:grass_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:enderman_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_pearl", + "has_grass_block", + "has_amethyst_shard", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:enderman_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_chestplate.json new file mode 100644 index 00000000..b0d276c5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:amethyst_shard" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_pearl": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_pearl" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_grass_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:grass_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:enderman_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_pearl", + "has_grass_block", + "has_amethyst_shard", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:enderman_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_helmet.json new file mode 100644 index 00000000..f90d79af --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:amethyst_shard" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_pearl": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_pearl" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_grass_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:grass_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:enderman_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_pearl", + "has_grass_block", + "has_amethyst_shard", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:enderman_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_leggings.json new file mode 100644 index 00000000..3c3ac860 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/enderman_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_shard": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:amethyst_shard" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ender_pearl": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ender_pearl" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_grass_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:grass_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:enderman_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ender_pearl", + "has_grass_block", + "has_amethyst_shard", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:enderman_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_boots.json new file mode 100644 index 00000000..7f8208b1 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:evoker_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_totem_of_undying": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:totem_of_undying" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_totem_of_undying", + "has_dark_oak_log", + "has_lapis_lazuli", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:evoker_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_chestplate.json new file mode 100644 index 00000000..fd012569 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:evoker_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_totem_of_undying": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:totem_of_undying" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_totem_of_undying", + "has_dark_oak_log", + "has_lapis_lazuli", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:evoker_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_helmet.json new file mode 100644 index 00000000..4e2c7cf5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:evoker_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_totem_of_undying": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:totem_of_undying" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_totem_of_undying", + "has_dark_oak_log", + "has_lapis_lazuli", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:evoker_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_leggings.json new file mode 100644 index 00000000..7815d8de --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/evoker_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:evoker_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_totem_of_undying": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:totem_of_undying" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_totem_of_undying", + "has_dark_oak_log", + "has_lapis_lazuli", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:evoker_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/forze_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_boots.json new file mode 100644 index 00000000..04925743 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:forze_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_dye", + "has_spider_eye", + "has_deepslate_iron_ore", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:forze_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/forze_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_chestplate.json new file mode 100644 index 00000000..5b7d84c9 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:forze_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_dye", + "has_spider_eye", + "has_deepslate_iron_ore", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:forze_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/forze_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_helmet.json new file mode 100644 index 00000000..24828f02 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:forze_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_dye", + "has_spider_eye", + "has_deepslate_iron_ore", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:forze_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/forze_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_leggings.json new file mode 100644 index 00000000..936648eb --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/forze_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:forze_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lime_dye", + "has_spider_eye", + "has_deepslate_iron_ore", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:forze_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/great_chalice.json b/src/main/resources/data/knightquest/advancements/recipes/misc/great_chalice.json new file mode 100644 index 00000000..bf8ab4b9 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/great_chalice.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "item": "knightquest:great_chalice", + "count": 1 + }, + "show_notification": true +} diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/great_essence_to_small_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/great_essence_to_small_essence.json new file mode 100644 index 00000000..e2b362ef --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/great_essence_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "knightquest:great_essence" + } + ], + "result": { + "item": "knightquest:small_essence", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/heart_of_the_sea_to_small_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/heart_of_the_sea_to_small_essence.json new file mode 100644 index 00000000..cf44c2b7 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/heart_of_the_sea_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:heart_of_the_sea" + } + ], + "result": { + "item": "knightquest:small_essence", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_boots.json new file mode 100644 index 00000000..974b1709 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_mushroom": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_mushroom" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hollow_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_enchanted_golden_apple", + "has_magma_cream", + "has_red_mushroom", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hollow_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_chestplate.json new file mode 100644 index 00000000..421626d2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_mushroom": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_mushroom" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hollow_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_enchanted_golden_apple", + "has_magma_cream", + "has_red_mushroom", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hollow_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_helmet.json new file mode 100644 index 00000000..d22bee8f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_mushroom": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_mushroom" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hollow_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_enchanted_golden_apple", + "has_magma_cream", + "has_red_mushroom", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hollow_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_leggings.json new file mode 100644 index 00000000..d7973580 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/hollow_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_mushroom": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_mushroom" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hollow_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_enchanted_golden_apple", + "has_magma_cream", + "has_red_mushroom", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hollow_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/horn_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_boots.json new file mode 100644 index 00000000..85f31cf3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_goat_horn": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:goat_horn" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sand": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sand" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:horn_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_goat_horn", + "has_lapis_lazuli", + "has_sand", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:horn_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/horn_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_chestplate.json new file mode 100644 index 00000000..c02c5038 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_goat_horn": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:goat_horn" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sand": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sand" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:horn_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_goat_horn", + "has_lapis_lazuli", + "has_sand", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:horn_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/horn_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_helmet.json new file mode 100644 index 00000000..7e2606da --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_goat_horn": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:goat_horn" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sand": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sand" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:horn_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_goat_horn", + "has_lapis_lazuli", + "has_sand", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:horn_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/horn_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_leggings.json new file mode 100644 index 00000000..013f8827 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/horn_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_goat_horn": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:goat_horn" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sand": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sand" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:horn_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_goat_horn", + "has_lapis_lazuli", + "has_sand", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:horn_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_boots.json new file mode 100644 index 00000000..282acef9 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_lapis_lazuli", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_chestplate.json new file mode 100644 index 00000000..b1104f85 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_lapis_lazuli", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet.json new file mode 100644 index 00000000..a355f443 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_lapis_lazuli", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet2.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet2.json new file mode 100644 index 00000000..f94981d8 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet2.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_emerald": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:emerald" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_helmet2" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_emerald", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_helmet2" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet3.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet3.json new file mode 100644 index 00000000..e2f9cf5f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_helmet3.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_pufferfish": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:pufferfish" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_helmet3" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_pufferfish", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_helmet3" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/husk_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_leggings.json new file mode 100644 index 00000000..9ecfc6c7 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/husk_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lapis_lazuli": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lapis_lazuli" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sandstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sandstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:husk_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sandstone", + "has_lapis_lazuli", + "has_yellow_dye", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:husk_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh.json b/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh.json new file mode 100644 index 00000000..10b638a2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:khopesh" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_filled_goblet", + "has_netherite_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:khopesh" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh_claymore.json b/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh_claymore.json new file mode 100644 index 00000000..db0fd2c5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/khopesh_claymore.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:khopesh_claymore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_filled_goblet", + "has_netherite_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:khopesh_claymore" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/kukri.json b/src/main/resources/data/knightquest/advancements/recipes/misc/kukri.json new file mode 100644 index 00000000..d76fe109 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/kukri.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:kukri" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_ingot", + "has_dark_oak_log", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:kukri" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/kukri_dagger.json b/src/main/resources/data/knightquest/advancements/recipes/misc/kukri_dagger.json new file mode 100644 index 00000000..215dcd47 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/kukri_dagger.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_oak_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dark_oak_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:kukri_dagger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_ingot", + "has_dark_oak_log", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:kukri_dagger" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nail_glaive.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nail_glaive.json new file mode 100644 index 00000000..cff505ed --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nail_glaive.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nail_glaive" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_block", + "has_filled_goblet", + "has_netherite_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nail_glaive" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nail_sword.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nail_sword.json new file mode 100644 index 00000000..92749361 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nail_sword.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nail_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_block", + "has_filled_goblet", + "has_netherite_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nail_sword" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nether_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_boots.json new file mode 100644 index 00000000..14e692f5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_nether_wart": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:nether_wart" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nether_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_nether_wart", + "has_magma_cream", + "has_ratman_eye", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nether_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nether_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_chestplate.json new file mode 100644 index 00000000..42cf180f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_nether_wart": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:nether_wart" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nether_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_nether_wart", + "has_magma_cream", + "has_ratman_eye", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nether_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nether_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_helmet.json new file mode 100644 index 00000000..a9aeaffb --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_nether_wart": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:nether_wart" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nether_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_nether_wart", + "has_magma_cream", + "has_ratman_eye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nether_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nether_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_leggings.json new file mode 100644 index 00000000..3eeb70ce --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_magma_cream": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:magma_cream" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_nether_wart": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:nether_wart" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:nether_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_nether_wart", + "has_magma_cream", + "has_ratman_eye", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:nether_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/nether_star_to_small_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_star_to_small_essence.json new file mode 100644 index 00000000..8c9a434d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/nether_star_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_star" + } + ], + "result": { + "item": "knightquest:great_essence", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/paladin_sword.json b/src/main/resources/data/knightquest/advancements/recipes/misc/paladin_sword.json new file mode 100644 index 00000000..7d6cab00 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/paladin_sword.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ratman_eye": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:ratman_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:paladin_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_ratman_eye", + "has_filled_goblet", + "has_netherite_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:paladin_sword" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/path_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/path_boots.json new file mode 100644 index 00000000..e5aeda70 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/path_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coarse_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coarse_dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:path_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_dye", + "has_coarse_dirt", + "has_leather", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:path_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/path_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/path_chestplate.json new file mode 100644 index 00000000..f15dd071 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/path_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coarse_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coarse_dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:path_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_dye", + "has_coarse_dirt", + "has_leather", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:path_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/path_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/path_helmet.json new file mode 100644 index 00000000..6ad8de72 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/path_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coarse_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coarse_dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:path_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_dye", + "has_coarse_dirt", + "has_leather", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:path_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/path_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/path_leggings.json new file mode 100644 index 00000000..d4cfc4d5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/path_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_coarse_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:coarse_dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:path_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_black_dye", + "has_coarse_dirt", + "has_leather", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:path_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_boots.json new file mode 100644 index 00000000..0d2dbe7a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:phantom_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_lime_dye", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:phantom_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_chestplate.json new file mode 100644 index 00000000..fd861973 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:phantom_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_lime_dye", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:phantom_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_helmet.json new file mode 100644 index 00000000..06d11fb4 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:phantom_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_lime_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:phantom_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_leggings.json new file mode 100644 index 00000000..8e48ab07 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/phantom_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:lime_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:phantom_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_lime_dye", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:phantom_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate2_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate2_helmet.json new file mode 100644 index 00000000..e64b5285 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate2_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_carpet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_carpet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_carpet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_carpet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate2_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_carpet", + "has_red_candle", + "has_black_carpet", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate2_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate3_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate3_helmet.json new file mode 100644 index 00000000..65fa9e97 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate3_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glistering_melon_slice": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glistering_melon_slice" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate3_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_black_candle", + "has_glistering_melon_slice", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate3_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_boots.json new file mode 100644 index 00000000..bf3ee641 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_clock", + "has_bone", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_chestplate.json new file mode 100644 index 00000000..7eb376ae --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_clock", + "has_bone", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_helmet.json new file mode 100644 index 00000000..4ab2e321 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_clock", + "has_bone", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_leggings.json new file mode 100644 index 00000000..cc34d350 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/pirate_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_map": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:map" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:pirate_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_map", + "has_clock", + "has_bone", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:pirate_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/polar_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_boots.json new file mode 100644 index 00000000..c763cd27 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_snowball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:snowball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stripped_mangrove_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stripped_mangrove_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polar_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_snowball", + "has_iron_axe", + "has_stripped_mangrove_log", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polar_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/polar_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_chestplate.json new file mode 100644 index 00000000..fca27765 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_snowball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:snowball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stripped_mangrove_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stripped_mangrove_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polar_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_snowball", + "has_iron_axe", + "has_stripped_mangrove_log", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polar_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/polar_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_helmet.json new file mode 100644 index 00000000..89526642 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_snowball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:snowball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stripped_mangrove_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stripped_mangrove_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polar_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_snowball", + "has_iron_axe", + "has_stripped_mangrove_log", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polar_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/polar_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_leggings.json new file mode 100644 index 00000000..0d5ab8c8 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/polar_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_snowball": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:snowball" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stripped_mangrove_log": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stripped_mangrove_log" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polar_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_snowball", + "has_iron_axe", + "has_stripped_mangrove_log", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polar_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/sea_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_boots.json new file mode 100644 index 00000000..4723a60d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_heart_of_the_sea": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:heart_of_the_sea" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:sea_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_heart_of_the_sea", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:sea_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/sea_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_chestplate.json new file mode 100644 index 00000000..3b87bdc5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_heart_of_the_sea": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:heart_of_the_sea" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:sea_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_heart_of_the_sea", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:sea_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/sea_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_helmet.json new file mode 100644 index 00000000..fe45a24a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_heart_of_the_sea": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:heart_of_the_sea" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:sea_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_heart_of_the_sea", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:sea_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/sea_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_leggings.json new file mode 100644 index 00000000..3f9a8177 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/sea_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_heart_of_the_sea": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:heart_of_the_sea" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_phantom_membrane": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:phantom_membrane" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:sea_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_bed", + "has_phantom_membrane", + "has_heart_of_the_sea", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:sea_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shield_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_boots.json new file mode 100644 index 00000000..d88af9a3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:copper_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_orange_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:orange_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shield": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shield" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shield_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_dye", + "has_shield", + "has_copper_ingot", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shield_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shield_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_chestplate.json new file mode 100644 index 00000000..64cb11da --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:copper_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_orange_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:orange_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shield": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shield" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shield_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_dye", + "has_shield", + "has_copper_ingot", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shield_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shield_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_helmet.json new file mode 100644 index 00000000..37cb4244 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:copper_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_orange_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:orange_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shield": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shield" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shield_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_dye", + "has_shield", + "has_copper_ingot", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shield_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shield_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_leggings.json new file mode 100644 index 00000000..7d7d2c06 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shield_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:copper_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_orange_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:orange_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shield": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shield" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shield_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_orange_dye", + "has_shield", + "has_copper_ingot", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shield_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_boots.json new file mode 100644 index 00000000..fcc4c710 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cherry_wood": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cherry_wood" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shinobi_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond_sword", + "has_cherry_wood", + "has_red_banner", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shinobi_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_chestplate.json new file mode 100644 index 00000000..af94549b --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cherry_wood": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cherry_wood" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shinobi_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond_sword", + "has_cherry_wood", + "has_red_banner", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shinobi_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_helmet.json new file mode 100644 index 00000000..fdcca084 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cherry_wood": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cherry_wood" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shinobi_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond_sword", + "has_cherry_wood", + "has_red_banner", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shinobi_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_leggings.json new file mode 100644 index 00000000..546265a2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/shinobi_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cherry_wood": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cherry_wood" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:shinobi_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond_sword", + "has_cherry_wood", + "has_red_banner", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:shinobi_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silver_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_boots.json new file mode 100644 index 00000000..8ea3a828 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silver_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_feather", + "has_iron_block", + "has_black_dye", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silver_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silver_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_chestplate.json new file mode 100644 index 00000000..b008d3d0 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silver_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_feather", + "has_iron_block", + "has_black_dye", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silver_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silver_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_helmet.json new file mode 100644 index 00000000..78333259 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silver_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_feather", + "has_iron_block", + "has_black_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silver_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silver_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_leggings.json new file mode 100644 index 00000000..fd3421f8 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silver_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:black_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silver_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_feather", + "has_iron_block", + "has_black_dye", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silver_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_boots.json new file mode 100644 index 00000000..22d1f4b8 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_beacon": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:beacon" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silverfish_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_beacon", + "has_stone", + "has_chiseled_deepslate", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silverfish_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_chestplate.json new file mode 100644 index 00000000..54177b23 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_beacon": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:beacon" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silverfish_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_beacon", + "has_stone", + "has_chiseled_deepslate", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silverfish_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_helmet.json new file mode 100644 index 00000000..25a707b5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_beacon": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:beacon" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silverfish_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_beacon", + "has_stone", + "has_chiseled_deepslate", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silverfish_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_leggings.json new file mode 100644 index 00000000..4d17a701 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/silverfish_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_beacon": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:beacon" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_chiseled_deepslate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:chiseled_deepslate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_stone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:stone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:silverfish_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_beacon", + "has_stone", + "has_chiseled_deepslate", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:silverfish_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_boots.json new file mode 100644 index 00000000..ca87fd17 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skeleton_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_bone_block", + "has_bone", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skeleton_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_chestplate.json new file mode 100644 index 00000000..35af79e0 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skeleton_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_bone_block", + "has_bone", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skeleton_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_helmet.json new file mode 100644 index 00000000..c6e9ae4b --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skeleton_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_bone_block", + "has_bone", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skeleton_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_leggings.json new file mode 100644 index 00000000..f1cc41bb --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skeleton_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skeleton_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_bone_block", + "has_bone", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skeleton_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk2_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk2_helmet.json new file mode 100644 index 00000000..8b4e3883 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk2_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_glazed_terracotta": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_glazed_terracotta" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk2_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_green_glazed_terracotta", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk2_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk3_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk3_helmet.json new file mode 100644 index 00000000..76f8df4d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk3_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk3_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_bed": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_bed" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_yellow_bed", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk3_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk4_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk4_helmet.json new file mode 100644 index 00000000..5d0bcc63 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk4_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_ice": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_ice" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk4_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_blue_ice", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk4_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_boots.json new file mode 100644 index 00000000..2201258d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_white_concrete", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_chestplate.json new file mode 100644 index 00000000..5731bb0f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_white_concrete", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_helmet.json new file mode 100644 index 00000000..c807580c --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_white_concrete", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_leggings.json new file mode 100644 index 00000000..30d7659a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/skulk_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_candle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_candle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_sculk_sensor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:sculk_sensor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:skulk_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_concrete" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_sculk_sensor", + "has_green_candle", + "has_white_concrete", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:skulk_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/small_essence_to_great_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/small_essence_to_great_essence.json new file mode 100644 index 00000000..18f8e208 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/small_essence_to_great_essence.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "## ", + "## ", + " " + ], + "key": { + "#": { + "item": "knightquest:small_essence" + } + }, + "result": { + "item": "knightquest:great_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/spider_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_boots.json new file mode 100644 index 00000000..b322a753 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_piston": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:piston" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:spider_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_piston", + "has_spider_eye", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:spider_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/spider_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_chestplate.json new file mode 100644 index 00000000..210f3160 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_piston": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:piston" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:spider_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_piston", + "has_spider_eye", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:spider_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/spider_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_helmet.json new file mode 100644 index 00000000..93de1f5d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_piston": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:piston" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:spider_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_piston", + "has_spider_eye", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:spider_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/spider_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_leggings.json new file mode 100644 index 00000000..c123801e --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/spider_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone_meal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone_meal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_piston": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:piston" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_spider_eye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:spider_eye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:spider_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_piston", + "has_spider_eye", + "has_bone_meal", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:spider_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/squire_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_boots.json new file mode 100644 index 00000000..e05930e6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:squire_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_iron_ore", + "has_iron_horse_armor", + "has_red_banner", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:squire_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/squire_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_chestplate.json new file mode 100644 index 00000000..d1104e45 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:squire_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_iron_ore", + "has_iron_horse_armor", + "has_red_banner", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:squire_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/squire_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_helmet.json new file mode 100644 index 00000000..ef852e94 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:squire_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_iron_ore", + "has_iron_horse_armor", + "has_red_banner", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:squire_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/squire_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_leggings.json new file mode 100644 index 00000000..b31549ac --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/squire_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_iron_ore": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:deepslate_iron_ore" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_banner": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_banner" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:squire_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_deepslate_iron_ore", + "has_iron_horse_armor", + "has_red_banner", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:squire_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/steel_axe.json b/src/main/resources/data/knightquest/advancements/recipes/misc/steel_axe.json new file mode 100644 index 00000000..9732382a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/steel_axe.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_charcoal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:charcoal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_axe": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_axe" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:steel_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_charcoal", + "has_iron_axe", + "has_feather", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:steel_axe" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/steel_sword.json b/src/main/resources/data/knightquest/advancements/recipes/misc/steel_sword.json new file mode 100644 index 00000000..3aec57f2 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/steel_sword.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_charcoal": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:charcoal" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_feather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:feather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:steel_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_charcoal", + "has_feather", + "has_iron_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:steel_sword" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_boots.json new file mode 100644 index 00000000..3a651fd6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:strawhat_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_wool", + "has_clock", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:strawhat_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_chestplate.json new file mode 100644 index 00000000..560a9d9f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:strawhat_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_wool", + "has_clock", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:strawhat_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_helmet.json new file mode 100644 index 00000000..c7c02776 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:strawhat_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_wool", + "has_clock", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:strawhat_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_leggings.json new file mode 100644 index 00000000..cf8cd512 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/strawhat_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_ink_sac": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:ink_sac" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:strawhat_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:white_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_white_wool", + "has_clock", + "has_ink_sac", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:strawhat_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tengu_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tengu_helmet.json new file mode 100644 index 00000000..47b92bd4 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tengu_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_glazed_terracotta": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_glazed_terracotta" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_sand": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_sand" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_redstone_torch": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:redstone_torch" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tengu_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_glazed_terracotta", + "has_redstone_torch", + "has_red_sand", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tengu_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/totem_of_undying_to_small_essence.json b/src/main/resources/data/knightquest/advancements/recipes/misc/totem_of_undying_to_small_essence.json new file mode 100644 index 00000000..6dd047d3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/totem_of_undying_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + } + ], + "result": { + "item": "knightquest:great_essence", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_blue_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_blue_leggings.json new file mode 100644 index 00000000..8af4889e --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_blue_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:blue_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tunic_blue_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_blue_dye", + "has_leather", + "has_apple", + "has_filled_goblet", + "has_iron_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tunic_blue_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_green_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_green_leggings.json new file mode 100644 index 00000000..d5316f0f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_green_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tunic_green_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_green_dye", + "has_leather", + "has_apple", + "has_filled_goblet", + "has_iron_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tunic_green_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_red_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_red_leggings.json new file mode 100644 index 00000000..059ffcaf --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_red_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tunic_red_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_dye", + "has_leather", + "has_apple", + "has_filled_goblet", + "has_iron_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tunic_red_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_sea_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_sea_leggings.json new file mode 100644 index 00000000..e59b3218 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_sea_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cyan_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:cyan_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tunic_sea_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_cyan_dye", + "has_leather", + "has_apple", + "has_filled_goblet", + "has_iron_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tunic_sea_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_yellow_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_yellow_leggings.json new file mode 100644 index 00000000..c952cd32 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/tunic_yellow_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_leather": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:leather" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tunic_yellow_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:yellow_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_yellow_dye", + "has_leather", + "has_apple", + "has_filled_goblet", + "has_iron_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tunic_yellow_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana.json b/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana.json new file mode 100644 index 00000000..c52e505f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lizzy_scale": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:lizzy_scale" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:uchigatana" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond", + "has_lizzy_scale", + "has_diamond_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:uchigatana" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana_katana.json b/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana_katana.json new file mode 100644 index 00000000..d697ade1 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/uchigatana_katana.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_lizzy_scale": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:lizzy_scale" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:uchigatana_katana" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_diamond", + "has_lizzy_scale", + "has_diamond_sword", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:uchigatana_katana" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_boots.json new file mode 100644 index 00000000..dac47dd9 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:veteran_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_horse_armor", + "has_diamond_sword", + "has_enchanted_golden_apple", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:veteran_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_chestplate.json new file mode 100644 index 00000000..13359484 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:veteran_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_horse_armor", + "has_diamond_sword", + "has_enchanted_golden_apple", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:veteran_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_helmet.json new file mode 100644 index 00000000..d39c09b8 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:veteran_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_horse_armor", + "has_diamond_sword", + "has_enchanted_golden_apple", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:veteran_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_leggings.json new file mode 100644 index 00000000..aaccb37d --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/veteran_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_diamond_sword": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:diamond_sword" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_enchanted_golden_apple": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:enchanted_golden_apple" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_horse_armor": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_horse_armor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:veteran_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_horse_armor", + "has_diamond_sword", + "has_enchanted_golden_apple", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:veteran_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_boots.json new file mode 100644 index 00000000..df4a7ca6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:warlord_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_wool", + "has_clock", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:warlord_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_chestplate.json new file mode 100644 index 00000000..a5d18935 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:warlord_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_wool", + "has_clock", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:warlord_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_helmet.json new file mode 100644 index 00000000..aa48bafc --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:warlord_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_wool", + "has_clock", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:warlord_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_leggings.json new file mode 100644 index 00000000..89396d63 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/warlord_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clock": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:clock" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_gold_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:gold_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_wool": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_wool" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:warlord_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_red_wool", + "has_clock", + "has_gold_ingot", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:warlord_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/witch_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_boots.json new file mode 100644 index 00000000..f110484f --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_concrete_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_concrete_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:witch_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_poisonous_potato", + "has_glass_bottle", + "has_red_concrete_powder", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:witch_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/witch_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_chestplate.json new file mode 100644 index 00000000..3afff566 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_concrete_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_concrete_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:witch_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_poisonous_potato", + "has_glass_bottle", + "has_red_concrete_powder", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:witch_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/witch_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_helmet.json new file mode 100644 index 00000000..1be6920e --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_concrete_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_concrete_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:witch_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_poisonous_potato", + "has_glass_bottle", + "has_red_concrete_powder", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:witch_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/witch_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_leggings.json new file mode 100644 index 00000000..7bd526b3 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/witch_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_red_concrete_powder": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:red_concrete_powder" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:witch_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_poisonous_potato", + "has_glass_bottle", + "has_red_concrete_powder", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:witch_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/wither_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_boots.json new file mode 100644 index 00000000..fbd5ef57 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:wither_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wither_rose": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_rose" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_wither_skeleton_skull": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_skeleton_skull" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wither_skeleton_skull", + "has_wither_rose", + "has_bone", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:wither_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/wither_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_chestplate.json new file mode 100644 index 00000000..79296bc6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:wither_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wither_rose": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_rose" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_wither_skeleton_skull": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_skeleton_skull" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wither_skeleton_skull", + "has_wither_rose", + "has_bone", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:wither_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/wither_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_helmet.json new file mode 100644 index 00000000..75ca9afd --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:wither_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wither_rose": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_rose" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_wither_skeleton_skull": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_skeleton_skull" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wither_skeleton_skull", + "has_wither_rose", + "has_bone", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:wither_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/wither_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_leggings.json new file mode 100644 index 00000000..96953d73 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/wither_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:bone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:wither_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wither_rose": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_rose" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_wither_skeleton_skull": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:wither_skeleton_skull" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_wither_skeleton_skull", + "has_wither_rose", + "has_bone", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:wither_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_boots.json b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_boots.json new file mode 100644 index 00000000..339c2cd6 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_boots.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_boots": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_boots" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_rotten_flesh": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:rotten_flesh" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:zombie_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_rotten_flesh", + "has_poisonous_potato", + "has_green_dye", + "has_filled_goblet", + "has_netherite_boots", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:zombie_boots" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_chestplate.json b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_chestplate.json new file mode 100644 index 00000000..ee47383a --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_chestplate.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_chestplate": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_chestplate" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_rotten_flesh": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:rotten_flesh" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:zombie_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_rotten_flesh", + "has_poisonous_potato", + "has_green_dye", + "has_filled_goblet", + "has_netherite_chestplate", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:zombie_chestplate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet.json b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet.json new file mode 100644 index 00000000..daac6c10 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_rotten_flesh": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:rotten_flesh" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:zombie_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_rotten_flesh", + "has_poisonous_potato", + "has_green_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:zombie_helmet" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet2.json b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet2.json new file mode 100644 index 00000000..394513c5 --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_helmet2.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_mossy_stone_brick_wall": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:mossy_stone_brick_wall" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_helmet": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_helmet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_rotten_flesh": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:rotten_flesh" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:zombie_helmet2" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_rotten_flesh", + "has_mossy_stone_brick_wall", + "has_green_dye", + "has_filled_goblet", + "has_netherite_helmet", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:zombie_helmet2" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_leggings.json b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_leggings.json new file mode 100644 index 00000000..1fe491df --- /dev/null +++ b/src/main/resources/data/knightquest/advancements/recipes/misc/zombie_leggings.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_filled_goblet": { + "conditions": { + "items": [ + { + "items": [ + "knightquest:filled_goblet" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_green_dye": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:green_dye" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_leggings": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:netherite_leggings" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_poisonous_potato": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:poisonous_potato" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_rotten_flesh": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:rotten_flesh" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:zombie_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_rotten_flesh", + "has_poisonous_potato", + "has_green_dye", + "has_filled_goblet", + "has_netherite_leggings", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "minecraft:zombie_leggings" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/capabilities/weapons/khopesh_claymore.json b/src/main/resources/data/knightquest/capabilities/weapons/khopesh_claymore.json new file mode 100644 index 00000000..06d29dd2 --- /dev/null +++ b/src/main/resources/data/knightquest/capabilities/weapons/khopesh_claymore.json @@ -0,0 +1,16 @@ +{ + "attributes": + { + "common": + { + "impact":2.0, + "max_strikes":2 + } + }, + "type":"epicfight:tachi", + "collider": { + "number": 3, + "center": [0.0, 0.0, -0.2], + "size": [0.38, 0.65, 1.5] + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/capabilities/weapons/paladin_sword.json b/src/main/resources/data/knightquest/capabilities/weapons/paladin_sword.json new file mode 100644 index 00000000..98a00651 --- /dev/null +++ b/src/main/resources/data/knightquest/capabilities/weapons/paladin_sword.json @@ -0,0 +1,11 @@ +{ + "type": "epicfight:greatsword", + "attributes": { + "common": { + "armor_negation": 5.0, + "impact": 1.1, + "max_strikes": 1, + "damage_bonus":15 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/capabilities/weapons/uchigatana_katana.json b/src/main/resources/data/knightquest/capabilities/weapons/uchigatana_katana.json new file mode 100644 index 00000000..cfc8a11c --- /dev/null +++ b/src/main/resources/data/knightquest/capabilities/weapons/uchigatana_katana.json @@ -0,0 +1,9 @@ +{ + "attributes": { + "common": { + "impact": 0.8, + "max_strikes": 1 + } + }, + "type": "epicfight:uchigatana" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_bad_patch.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_bad_patch.json new file mode 100644 index 00000000..4b492267 --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_bad_patch.json @@ -0,0 +1,13 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:jungle", + "minecraft:nether_wastes" + ], + "spawners": { + "type": "knightquest:bad_patch", + "weight": 30, + "minCount": 1, + "maxCount": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldbomb.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldbomb.json new file mode 100644 index 00000000..3926b835 --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldbomb.json @@ -0,0 +1,18 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:forest", + "minecraft:taiga", + "minecraft:snowy_beach", + "minecraft:snowy_plains", + "minecraft:snowy_slopes", + "minecraft:snowy_taiga" + + ], + "spawners": { + "type": "knightquest:eldbomb", + "weight": 50, + "minCount": 1, + "maxCount": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldknight.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldknight.json new file mode 100644 index 00000000..fb5da59d --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_eldknight.json @@ -0,0 +1,16 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:snowy_beach", + "minecraft:snowy_plains", + "minecraft:snowy_slopes", + "minecraft:snowy_taiga" + + ], + "spawners": { + "type": "knightquest:eldknight", + "weight": 40, + "minCount": 1, + "maxCount": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ghosty.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ghosty.json new file mode 100644 index 00000000..ea2785ce --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ghosty.json @@ -0,0 +1,15 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:forest", + "minecraft:taiga", + "minecraft:lush_caves", + "minecraft:badlands" + ], + "spawners": { + "type": "knightquest:ghosty", + "weight": 25, + "minCount": 1, + "maxCount": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_gremlin.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_gremlin.json new file mode 100644 index 00000000..7f205c6d --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_gremlin.json @@ -0,0 +1,14 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:soul_sand_valley", + "minecraft:nether_wastes", + "minecraft:crimson_forest" + ], + "spawners": { + "type": "knightquest:gremlin", + "weight": 60, + "minCount": 1, + "maxCount": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_lizzy.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_lizzy.json new file mode 100644 index 00000000..7f17cbaa --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_lizzy.json @@ -0,0 +1,16 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:forest", + "minecraft:taiga", + "minecraft:desert", + "minecraft:lush_caves", + "minecraft:flower_forest" + ], + "spawners": { + "type": "knightquest:lizzy", + "weight": 5, + "minCount": 1, + "maxCount": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ratman.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ratman.json new file mode 100644 index 00000000..38b05e3c --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_ratman.json @@ -0,0 +1,15 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:desert", + "minecraft:dripstone_caves", + "minecraft:lush_caves", + "minecraft:jungle" + ], + "spawners": { + "type": "knightquest:ratman", + "weight": 80, + "minCount": 1, + "maxCount": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_samhain.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_samhain.json new file mode 100644 index 00000000..e2f064cd --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_samhain.json @@ -0,0 +1,13 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:flower_forest" + + ], + "spawners": { + "type": "knightquest:samhain", + "weight": 20, + "minCount": 1, + "maxCount": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/forge/biome_modifier/spawn_swampman.json b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_swampman.json new file mode 100644 index 00000000..0071766a --- /dev/null +++ b/src/main/resources/data/knightquest/forge/biome_modifier/spawn_swampman.json @@ -0,0 +1,15 @@ +{ + "type": "forge:add_spawns", + "biomes": [ + "minecraft:warm_ocean", + "minecraft:frozen_ocean", + "minecraft:deep_ocean", + "minecraft:lukewarm_ocean" + ], + "spawners": { + "type": "knightquest:swampman", + "weight": 20, + "minCount": 1, + "maxCount": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/blocks/great_chalice.json b/src/main/resources/data/knightquest/loot_tables/blocks/great_chalice.json new file mode 100644 index 00000000..ebd7beaf --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/blocks/great_chalice.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "knightquest:great_chalice" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/bad_patch.json b/src/main/resources/data/knightquest/loot_tables/entities/bad_patch.json new file mode 100644 index 00000000..5aaaa7a6 --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/bad_patch.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/bad_patch" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/eldbomb.json b/src/main/resources/data/knightquest/loot_tables/entities/eldbomb.json new file mode 100644 index 00000000..96e44237 --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/eldbomb.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/eldbomb" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/eldknight.json b/src/main/resources/data/knightquest/loot_tables/entities/eldknight.json new file mode 100644 index 00000000..dc62fd8e --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/eldknight.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/eldknight" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/gremlin.json b/src/main/resources/data/knightquest/loot_tables/entities/gremlin.json new file mode 100644 index 00000000..e647464e --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/gremlin.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/gremlin" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/lizzy.json b/src/main/resources/data/knightquest/loot_tables/entities/lizzy.json new file mode 100644 index 00000000..51f09e2a --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/lizzy.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/lizzy" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/ratman.json b/src/main/resources/data/knightquest/loot_tables/entities/ratman.json new file mode 100644 index 00000000..ce53d16f --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/ratman.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/ratman" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/samhain.json b/src/main/resources/data/knightquest/loot_tables/entities/samhain.json new file mode 100644 index 00000000..6cbc7b1d --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/samhain.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/samhain" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/loot_tables/entities/swampman.json b/src/main/resources/data/knightquest/loot_tables/entities/swampman.json new file mode 100644 index 00000000..5e04a40e --- /dev/null +++ b/src/main/resources/data/knightquest/loot_tables/entities/swampman.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "random_sequence": "knightquest:entities/swampman" +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/apple_boots.json b/src/main/resources/data/knightquest/recipes/apple_boots.json new file mode 100644 index 00000000..2d0dd572 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/apple_boots.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:apple_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/apple_chestplate.json b/src/main/resources/data/knightquest/recipes/apple_chestplate.json new file mode 100644 index 00000000..750f85c4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/apple_chestplate.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:apple_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/apple_helmet.json b/src/main/resources/data/knightquest/recipes/apple_helmet.json new file mode 100644 index 00000000..807d729b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/apple_helmet.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:apple_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/apple_leggings.json b/src/main/resources/data/knightquest/recipes/apple_leggings.json new file mode 100644 index 00000000..3b0670c0 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/apple_leggings.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:apple_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_blue_boots.json b/src/main/resources/data/knightquest/recipes/bamboo_blue_boots.json new file mode 100644 index 00000000..9ec39ee9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_blue_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:bamboo_blue_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_blue_chestplate.json b/src/main/resources/data/knightquest/recipes/bamboo_blue_chestplate.json new file mode 100644 index 00000000..4b4d08a9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_blue_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:bamboo_blue_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_blue_helmet.json b/src/main/resources/data/knightquest/recipes/bamboo_blue_helmet.json new file mode 100644 index 00000000..59324b96 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_blue_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:bamboo_blue_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_blue_leggings.json b/src/main/resources/data/knightquest/recipes/bamboo_blue_leggings.json new file mode 100644 index 00000000..06384b1a --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_blue_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:bamboo_blue_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_boots.json b/src/main/resources/data/knightquest/recipes/bamboo_boots.json new file mode 100644 index 00000000..77220b0d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:coal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:bamboo_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_chestplate.json b/src/main/resources/data/knightquest/recipes/bamboo_chestplate.json new file mode 100644 index 00000000..9e331b4e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:coal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:bamboo_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_green_boots.json b/src/main/resources/data/knightquest/recipes/bamboo_green_boots.json new file mode 100644 index 00000000..cc1c3116 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_green_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:slime_ball" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:emerald" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:bamboo_green_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_green_chestplate.json b/src/main/resources/data/knightquest/recipes/bamboo_green_chestplate.json new file mode 100644 index 00000000..f3fd1e39 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_green_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:slime_ball" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:emerald" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:bamboo_green_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_green_helmet.json b/src/main/resources/data/knightquest/recipes/bamboo_green_helmet.json new file mode 100644 index 00000000..e04a7584 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_green_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:slime_ball" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:emerald" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:bamboo_green_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_green_leggings.json b/src/main/resources/data/knightquest/recipes/bamboo_green_leggings.json new file mode 100644 index 00000000..50a09931 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_green_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:slime_ball" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:emerald" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:bamboo_green_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_helmet.json b/src/main/resources/data/knightquest/recipes/bamboo_helmet.json new file mode 100644 index 00000000..f01d1c2e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:coal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:bamboo_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bamboo_leggings.json b/src/main/resources/data/knightquest/recipes/bamboo_leggings.json new file mode 100644 index 00000000..c8d0f977 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bamboo_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:bamboo" + }, + { + "item": "minecraft:coal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:bamboo_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bat_boots.json b/src/main/resources/data/knightquest/recipes/bat_boots.json new file mode 100644 index 00000000..f2a73509 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bat_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:dripstone_block" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:bat_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bat_chestplate.json b/src/main/resources/data/knightquest/recipes/bat_chestplate.json new file mode 100644 index 00000000..1b771df9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bat_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:dripstone_block" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:bat_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bat_helmet.json b/src/main/resources/data/knightquest/recipes/bat_helmet.json new file mode 100644 index 00000000..1b6d3b18 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bat_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:dripstone_block" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:bat_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bat_leggings.json b/src/main/resources/data/knightquest/recipes/bat_leggings.json new file mode 100644 index 00000000..8a791b9c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bat_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:dripstone_block" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:bat_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/blaze_boots.json b/src/main/resources/data/knightquest/recipes/blaze_boots.json new file mode 100644 index 00000000..ae323125 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/blaze_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blaze_rod" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "minecraft:blaze_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:blaze_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/blaze_chestplate.json b/src/main/resources/data/knightquest/recipes/blaze_chestplate.json new file mode 100644 index 00000000..713e149b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/blaze_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blaze_rod" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "minecraft:blaze_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:blaze_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/blaze_helmet.json b/src/main/resources/data/knightquest/recipes/blaze_helmet.json new file mode 100644 index 00000000..7985ff38 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/blaze_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blaze_rod" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "minecraft:blaze_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:blaze_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/blaze_leggings.json b/src/main/resources/data/knightquest/recipes/blaze_leggings.json new file mode 100644 index 00000000..db6dbd51 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/blaze_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blaze_rod" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "minecraft:blaze_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:blaze_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bow_boots.json b/src/main/resources/data/knightquest/recipes/bow_boots.json new file mode 100644 index 00000000..5237e642 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bow_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:arrow" + }, + { + "item": "minecraft:water_bucket" + }, + { + "item": "minecraft:crossbow" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:bow_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bow_chestplate.json b/src/main/resources/data/knightquest/recipes/bow_chestplate.json new file mode 100644 index 00000000..c542b3c2 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bow_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:arrow" + }, + { + "item": "minecraft:water_bucket" + }, + { + "item": "minecraft:crossbow" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:bow_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bow_helmet.json b/src/main/resources/data/knightquest/recipes/bow_helmet.json new file mode 100644 index 00000000..5109f1cf --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bow_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:arrow" + }, + { + "item": "minecraft:water_bucket" + }, + { + "item": "minecraft:crossbow" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:bow_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/bow_leggings.json b/src/main/resources/data/knightquest/recipes/bow_leggings.json new file mode 100644 index 00000000..8c350b75 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/bow_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:arrow" + }, + { + "item": "minecraft:water_bucket" + }, + { + "item": "minecraft:crossbow" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:bow_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/chainmail_helmet.json b/src/main/resources/data/knightquest/recipes/chainmail_helmet.json new file mode 100644 index 00000000..8ee46fb2 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/chainmail_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:melon_slice" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_helmet" + } + ], + "result": { + "item": "knightquest:chainmail_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/chainmail_helmet2.json b/src/main/resources/data/knightquest/recipes/chainmail_helmet2.json new file mode 100644 index 00000000..51d290e5 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/chainmail_helmet2.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:wheat_seeds" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_helmet" + } + ], + "result": { + "item": "knightquest:chainmail_helmet2" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/cleaver_heavy_axe.json b/src/main/resources/data/knightquest/recipes/cleaver_heavy_axe.json new file mode 100644 index 00000000..f98872f9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/cleaver_heavy_axe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "knightquest:ratman_eye" + }, + "S": { + "item": "minecraft:diamond_axe" + }, + "X": { + "item": "minecraft:ink_sac" + } + }, + "pattern": [ + "X", + "I", + "S" + ], + "result": { + "item": "knightquest:cleaver_heavy_axe" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador2_helmet.json b/src/main/resources/data/knightquest/recipes/conquistador2_helmet.json new file mode 100644 index 00000000..b0f1cdb4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador2_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_nugget" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:glistering_melon_slice" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:conquistador2_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador3_helmet.json b/src/main/resources/data/knightquest/recipes/conquistador3_helmet.json new file mode 100644 index 00000000..7cbcde92 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador3_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:diamond" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:blue_ice" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:conquistador3_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador_boots.json b/src/main/resources/data/knightquest/recipes/conquistador_boots.json new file mode 100644 index 00000000..b6420449 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:conquistador_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador_chestplate.json b/src/main/resources/data/knightquest/recipes/conquistador_chestplate.json new file mode 100644 index 00000000..6479e015 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:conquistador_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador_helmet.json b/src/main/resources/data/knightquest/recipes/conquistador_helmet.json new file mode 100644 index 00000000..bd4c219d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:conquistador_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/conquistador_leggings.json b/src/main/resources/data/knightquest/recipes/conquistador_leggings.json new file mode 100644 index 00000000..90ee21f2 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/conquistador_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:conquistador_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/creeper_boots.json b/src/main/resources/data/knightquest/recipes/creeper_boots.json new file mode 100644 index 00000000..7ecf7b0a --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/creeper_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:tnt" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:gunpowder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:creeper_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/creeper_chestplate.json b/src/main/resources/data/knightquest/recipes/creeper_chestplate.json new file mode 100644 index 00000000..9fc6a1a3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/creeper_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:tnt" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:gunpowder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:creeper_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/creeper_helmet.json b/src/main/resources/data/knightquest/recipes/creeper_helmet.json new file mode 100644 index 00000000..87910c1e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/creeper_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:tnt" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:gunpowder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:creeper_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/creeper_leggings.json b/src/main/resources/data/knightquest/recipes/creeper_leggings.json new file mode 100644 index 00000000..4af0d372 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/creeper_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:tnt" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:gunpowder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:creeper_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/deepslate_boots.json b/src/main/resources/data/knightquest/recipes/deepslate_boots.json new file mode 100644 index 00000000..5f4ce5b7 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/deepslate_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cobbled_deepslate" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "minecraft:deepslate_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:deepslate_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/deepslate_chestplate.json b/src/main/resources/data/knightquest/recipes/deepslate_chestplate.json new file mode 100644 index 00000000..a0ea25eb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/deepslate_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cobbled_deepslate" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "minecraft:deepslate_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:deepslate_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/deepslate_helmet.json b/src/main/resources/data/knightquest/recipes/deepslate_helmet.json new file mode 100644 index 00000000..9d31fa39 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/deepslate_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cobbled_deepslate" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "minecraft:deepslate_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:deepslate_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/deepslate_leggings.json b/src/main/resources/data/knightquest/recipes/deepslate_leggings.json new file mode 100644 index 00000000..5e87ae14 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/deepslate_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cobbled_deepslate" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "minecraft:deepslate_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:deepslate_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/dragon_boots.json b/src/main/resources/data/knightquest/recipes/dragon_boots.json new file mode 100644 index 00000000..ea1a8db5 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/dragon_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_eye" + }, + { + "item": "minecraft:shulker_shell" + }, + { + "item": "minecraft:end_stone_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:dragon_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/dragon_chestplate.json b/src/main/resources/data/knightquest/recipes/dragon_chestplate.json new file mode 100644 index 00000000..77024c7b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/dragon_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_eye" + }, + { + "item": "minecraft:shulker_shell" + }, + { + "item": "minecraft:end_stone_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:dragon_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/dragon_helmet.json b/src/main/resources/data/knightquest/recipes/dragon_helmet.json new file mode 100644 index 00000000..51f54b58 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/dragon_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_eye" + }, + { + "item": "minecraft:shulker_shell" + }, + { + "item": "minecraft:end_stone_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:dragon_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/dragon_leggings.json b/src/main/resources/data/knightquest/recipes/dragon_leggings.json new file mode 100644 index 00000000..8a15a5da --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/dragon_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_eye" + }, + { + "item": "minecraft:shulker_shell" + }, + { + "item": "minecraft:end_stone_bricks" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:dragon_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/elytra_great_essence.json b/src/main/resources/data/knightquest/recipes/elytra_great_essence.json new file mode 100644 index 00000000..b5d8c48b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/elytra_great_essence.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:elytra" + }, + { + "item": "minecraft:shears" + } + ], + "result": { + "count": 4, + "item": "knightquest:great_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/empty_goblet.json b/src/main/resources/data/knightquest/recipes/empty_goblet.json new file mode 100644 index 00000000..52df87dd --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/empty_goblet.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "# #", + " # " + ], + "result": { + "count": 2, + "item": "knightquest:empty_goblet" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/enderman_boots.json b/src/main/resources/data/knightquest/recipes/enderman_boots.json new file mode 100644 index 00000000..7d4f2246 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/enderman_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_pearl" + }, + { + "item": "minecraft:grass_block" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:enderman_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/enderman_chestplate.json b/src/main/resources/data/knightquest/recipes/enderman_chestplate.json new file mode 100644 index 00000000..abefb642 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/enderman_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_pearl" + }, + { + "item": "minecraft:grass_block" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:enderman_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/enderman_helmet.json b/src/main/resources/data/knightquest/recipes/enderman_helmet.json new file mode 100644 index 00000000..7ba64268 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/enderman_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_pearl" + }, + { + "item": "minecraft:grass_block" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:enderman_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/enderman_leggings.json b/src/main/resources/data/knightquest/recipes/enderman_leggings.json new file mode 100644 index 00000000..0b5fdc7c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/enderman_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:ender_pearl" + }, + { + "item": "minecraft:grass_block" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:enderman_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/evoker_boots.json b/src/main/resources/data/knightquest/recipes/evoker_boots.json new file mode 100644 index 00000000..e9db82ca --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/evoker_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + }, + { + "item": "minecraft:dark_oak_log" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:evoker_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/evoker_chestplate.json b/src/main/resources/data/knightquest/recipes/evoker_chestplate.json new file mode 100644 index 00000000..4cdb85a1 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/evoker_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + }, + { + "item": "minecraft:dark_oak_log" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:evoker_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/evoker_helmet.json b/src/main/resources/data/knightquest/recipes/evoker_helmet.json new file mode 100644 index 00000000..1654768f --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/evoker_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + }, + { + "item": "minecraft:dark_oak_log" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:evoker_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/evoker_leggings.json b/src/main/resources/data/knightquest/recipes/evoker_leggings.json new file mode 100644 index 00000000..54c88e47 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/evoker_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + }, + { + "item": "minecraft:dark_oak_log" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:evoker_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/forze_boots.json b/src/main/resources/data/knightquest/recipes/forze_boots.json new file mode 100644 index 00000000..fa633714 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/forze_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:lime_dye" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:forze_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/forze_chestplate.json b/src/main/resources/data/knightquest/recipes/forze_chestplate.json new file mode 100644 index 00000000..8904995f --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/forze_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:lime_dye" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:forze_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/forze_helmet.json b/src/main/resources/data/knightquest/recipes/forze_helmet.json new file mode 100644 index 00000000..c1a62133 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/forze_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:lime_dye" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:forze_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/forze_leggings.json b/src/main/resources/data/knightquest/recipes/forze_leggings.json new file mode 100644 index 00000000..880ac154 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/forze_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:lime_dye" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:forze_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/great_chalice.json b/src/main/resources/data/knightquest/recipes/great_chalice.json new file mode 100644 index 00000000..bf8ab4b9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/great_chalice.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "item": "knightquest:great_chalice", + "count": 1 + }, + "show_notification": true +} diff --git a/src/main/resources/data/knightquest/recipes/great_essence_to_small_essence.json b/src/main/resources/data/knightquest/recipes/great_essence_to_small_essence.json new file mode 100644 index 00000000..e2b362ef --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/great_essence_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "knightquest:great_essence" + } + ], + "result": { + "item": "knightquest:small_essence", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/heart_of_the_sea_to_small_essence.json b/src/main/resources/data/knightquest/recipes/heart_of_the_sea_to_small_essence.json new file mode 100644 index 00000000..cf44c2b7 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/heart_of_the_sea_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:heart_of_the_sea" + } + ], + "result": { + "item": "knightquest:small_essence", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/hollow_boots.json b/src/main/resources/data/knightquest/recipes/hollow_boots.json new file mode 100644 index 00000000..30ad1f07 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/hollow_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "minecraft:red_mushroom" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:hollow_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/hollow_chestplate.json b/src/main/resources/data/knightquest/recipes/hollow_chestplate.json new file mode 100644 index 00000000..19d1a6bb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/hollow_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "minecraft:red_mushroom" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:hollow_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/hollow_helmet.json b/src/main/resources/data/knightquest/recipes/hollow_helmet.json new file mode 100644 index 00000000..ad6fa1f4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/hollow_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "minecraft:red_mushroom" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:hollow_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/hollow_leggings.json b/src/main/resources/data/knightquest/recipes/hollow_leggings.json new file mode 100644 index 00000000..cf81f91c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/hollow_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "minecraft:red_mushroom" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:hollow_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/horn_boots.json b/src/main/resources/data/knightquest/recipes/horn_boots.json new file mode 100644 index 00000000..52ef7acb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/horn_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:goat_horn" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:sand" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:horn_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/horn_chestplate.json b/src/main/resources/data/knightquest/recipes/horn_chestplate.json new file mode 100644 index 00000000..9ed1117b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/horn_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:goat_horn" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:sand" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:horn_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/horn_helmet.json b/src/main/resources/data/knightquest/recipes/horn_helmet.json new file mode 100644 index 00000000..cc200b52 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/horn_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:goat_horn" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:sand" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:horn_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/horn_leggings.json b/src/main/resources/data/knightquest/recipes/horn_leggings.json new file mode 100644 index 00000000..e1829b9a --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/horn_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:goat_horn" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:sand" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:horn_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_boots.json b/src/main/resources/data/knightquest/recipes/husk_boots.json new file mode 100644 index 00000000..3f9dfe59 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:husk_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_chestplate.json b/src/main/resources/data/knightquest/recipes/husk_chestplate.json new file mode 100644 index 00000000..33edb871 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:husk_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_helmet.json b/src/main/resources/data/knightquest/recipes/husk_helmet.json new file mode 100644 index 00000000..aec173a5 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:husk_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_helmet2.json b/src/main/resources/data/knightquest/recipes/husk_helmet2.json new file mode 100644 index 00000000..cd1e973e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_helmet2.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:emerald" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:husk_helmet2" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_helmet3.json b/src/main/resources/data/knightquest/recipes/husk_helmet3.json new file mode 100644 index 00000000..3873d26f --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_helmet3.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:pufferfish" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:husk_helmet3" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/husk_leggings.json b/src/main/resources/data/knightquest/recipes/husk_leggings.json new file mode 100644 index 00000000..d570f14b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/husk_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sandstone" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:yellow_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:husk_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/khopesh_claymore.json b/src/main/resources/data/knightquest/recipes/khopesh_claymore.json new file mode 100644 index 00000000..b6a1512c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/khopesh_claymore.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "knightquest:filled_goblet" + }, + "S": { + "item": "minecraft:netherite_sword" + }, + "X": { + "item": "minecraft:map" + } + }, + "pattern": [ + "X", + "I", + "S" + ], + "result": { + "item": "knightquest:khopesh_claymore" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/kukri_dagger.json b/src/main/resources/data/knightquest/recipes/kukri_dagger.json new file mode 100644 index 00000000..5dba40a2 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/kukri_dagger.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "minecraft:iron_ingot" + }, + "S": { + "item": "minecraft:dark_oak_log" + } + }, + "pattern": [ + "I", + "S" + ], + "result": { + "item": "knightquest:kukri_dagger" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nail_glaive.json b/src/main/resources/data/knightquest/recipes/nail_glaive.json new file mode 100644 index 00000000..b9abb8b4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nail_glaive.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "knightquest:filled_goblet" + }, + "S": { + "item": "minecraft:netherite_sword" + }, + "X": { + "item": "minecraft:iron_block" + } + }, + "pattern": [ + "X", + "I", + "S" + ], + "result": { + "item": "knightquest:nail_glaive" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nether_boots.json b/src/main/resources/data/knightquest/recipes/nether_boots.json new file mode 100644 index 00000000..0c16f3a7 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nether_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_wart" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:nether_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nether_chestplate.json b/src/main/resources/data/knightquest/recipes/nether_chestplate.json new file mode 100644 index 00000000..723cfd65 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nether_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_wart" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:nether_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nether_helmet.json b/src/main/resources/data/knightquest/recipes/nether_helmet.json new file mode 100644 index 00000000..938e621d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nether_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_wart" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:nether_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nether_leggings.json b/src/main/resources/data/knightquest/recipes/nether_leggings.json new file mode 100644 index 00000000..d27d78cc --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nether_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_wart" + }, + { + "item": "minecraft:magma_cream" + }, + { + "item": "knightquest:ratman_eye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:nether_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/nether_star_to_small_essence.json b/src/main/resources/data/knightquest/recipes/nether_star_to_small_essence.json new file mode 100644 index 00000000..1538b1dc --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/nether_star_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:nether_star" + } + ], + "result": { + "item": "knightquest:great_essence", + "count": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/paladin_sword.json b/src/main/resources/data/knightquest/recipes/paladin_sword.json new file mode 100644 index 00000000..e7df6076 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/paladin_sword.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "knightquest:filled_goblet" + }, + "S": { + "item": "minecraft:netherite_sword" + }, + "X": { + "item": "knightquest:ratman_eye" + } + }, + "pattern": [ + "X", + "I", + "S" + ], + "result": { + "item": "knightquest:paladin_sword" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/path_boots.json b/src/main/resources/data/knightquest/recipes/path_boots.json new file mode 100644 index 00000000..0f24d8c6 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/path_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:coarse_dirt" + }, + { + "item": "minecraft:leather" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:path_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/path_chestplate.json b/src/main/resources/data/knightquest/recipes/path_chestplate.json new file mode 100644 index 00000000..2eb9f145 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/path_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:coarse_dirt" + }, + { + "item": "minecraft:leather" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:path_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/path_helmet.json b/src/main/resources/data/knightquest/recipes/path_helmet.json new file mode 100644 index 00000000..a9435589 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/path_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:coarse_dirt" + }, + { + "item": "minecraft:leather" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:path_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/path_leggings.json b/src/main/resources/data/knightquest/recipes/path_leggings.json new file mode 100644 index 00000000..3e5b1ab6 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/path_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:black_dye" + }, + { + "item": "minecraft:coarse_dirt" + }, + { + "item": "minecraft:leather" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:path_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/phantom_boots.json b/src/main/resources/data/knightquest/recipes/phantom_boots.json new file mode 100644 index 00000000..eb1619bc --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/phantom_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:lime_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:phantom_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/phantom_chestplate.json b/src/main/resources/data/knightquest/recipes/phantom_chestplate.json new file mode 100644 index 00000000..ed226be5 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/phantom_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:lime_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:phantom_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/phantom_helmet.json b/src/main/resources/data/knightquest/recipes/phantom_helmet.json new file mode 100644 index 00000000..7c08cce5 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/phantom_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:lime_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:phantom_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/phantom_leggings.json b/src/main/resources/data/knightquest/recipes/phantom_leggings.json new file mode 100644 index 00000000..11d9c7f0 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/phantom_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:lime_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:phantom_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate2_helmet.json b/src/main/resources/data/knightquest/recipes/pirate2_helmet.json new file mode 100644 index 00000000..f159a020 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate2_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_carpet" + }, + { + "item": "minecraft:red_candle" + }, + { + "item": "minecraft:black_carpet" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:pirate2_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate3_helmet.json b/src/main/resources/data/knightquest/recipes/pirate3_helmet.json new file mode 100644 index 00000000..d9e9dbd6 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate3_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:map" + }, + { + "item": "minecraft:black_candle" + }, + { + "item": "minecraft:glistering_melon_slice" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:pirate3_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate_boots.json b/src/main/resources/data/knightquest/recipes/pirate_boots.json new file mode 100644 index 00000000..af39f1cf --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:map" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:pirate_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate_chestplate.json b/src/main/resources/data/knightquest/recipes/pirate_chestplate.json new file mode 100644 index 00000000..b4d7b3a3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:map" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:pirate_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate_helmet.json b/src/main/resources/data/knightquest/recipes/pirate_helmet.json new file mode 100644 index 00000000..f693b85a --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:map" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:pirate_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/pirate_leggings.json b/src/main/resources/data/knightquest/recipes/pirate_leggings.json new file mode 100644 index 00000000..89892f35 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/pirate_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:map" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:pirate_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/polar_boots.json b/src/main/resources/data/knightquest/recipes/polar_boots.json new file mode 100644 index 00000000..a5495763 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/polar_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:snowball" + }, + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:stripped_mangrove_log" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:polar_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/polar_chestplate.json b/src/main/resources/data/knightquest/recipes/polar_chestplate.json new file mode 100644 index 00000000..c6902d72 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/polar_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:snowball" + }, + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:stripped_mangrove_log" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:polar_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/polar_helmet.json b/src/main/resources/data/knightquest/recipes/polar_helmet.json new file mode 100644 index 00000000..698f0069 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/polar_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:snowball" + }, + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:stripped_mangrove_log" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:polar_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/polar_leggings.json b/src/main/resources/data/knightquest/recipes/polar_leggings.json new file mode 100644 index 00000000..e631d871 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/polar_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:snowball" + }, + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:stripped_mangrove_log" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:polar_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/sea_boots.json b/src/main/resources/data/knightquest/recipes/sea_boots.json new file mode 100644 index 00000000..61c48810 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/sea_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:heart_of_the_sea" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:sea_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/sea_chestplate.json b/src/main/resources/data/knightquest/recipes/sea_chestplate.json new file mode 100644 index 00000000..59130bd7 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/sea_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:heart_of_the_sea" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:sea_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/sea_helmet.json b/src/main/resources/data/knightquest/recipes/sea_helmet.json new file mode 100644 index 00000000..842e258b --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/sea_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:heart_of_the_sea" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:sea_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/sea_leggings.json b/src/main/resources/data/knightquest/recipes/sea_leggings.json new file mode 100644 index 00000000..e0998bf9 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/sea_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_bed" + }, + { + "item": "minecraft:phantom_membrane" + }, + { + "item": "minecraft:heart_of_the_sea" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:sea_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shield_boots.json b/src/main/resources/data/knightquest/recipes/shield_boots.json new file mode 100644 index 00000000..c65e5ebe --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shield_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:shield" + }, + { + "item": "minecraft:copper_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:shield_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shield_chestplate.json b/src/main/resources/data/knightquest/recipes/shield_chestplate.json new file mode 100644 index 00000000..5a7978b3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shield_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:shield" + }, + { + "item": "minecraft:copper_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:shield_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shield_helmet.json b/src/main/resources/data/knightquest/recipes/shield_helmet.json new file mode 100644 index 00000000..2eb404d1 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shield_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:shield" + }, + { + "item": "minecraft:copper_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:shield_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shield_leggings.json b/src/main/resources/data/knightquest/recipes/shield_leggings.json new file mode 100644 index 00000000..7217d0d0 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shield_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:shield" + }, + { + "item": "minecraft:copper_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:shield_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shinobi_boots.json b/src/main/resources/data/knightquest/recipes/shinobi_boots.json new file mode 100644 index 00000000..a241d8d4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shinobi_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:cherry_wood" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:shinobi_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shinobi_chestplate.json b/src/main/resources/data/knightquest/recipes/shinobi_chestplate.json new file mode 100644 index 00000000..c06b3bba --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shinobi_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:cherry_wood" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:shinobi_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shinobi_helmet.json b/src/main/resources/data/knightquest/recipes/shinobi_helmet.json new file mode 100644 index 00000000..7ded1ff6 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shinobi_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:cherry_wood" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:shinobi_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/shinobi_leggings.json b/src/main/resources/data/knightquest/recipes/shinobi_leggings.json new file mode 100644 index 00000000..3b015791 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/shinobi_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:cherry_wood" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:shinobi_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silver_boots.json b/src/main/resources/data/knightquest/recipes/silver_boots.json new file mode 100644 index 00000000..61343339 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silver_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:feather" + }, + { + "item": "minecraft:iron_block" + }, + { + "item": "minecraft:black_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:silver_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silver_chestplate.json b/src/main/resources/data/knightquest/recipes/silver_chestplate.json new file mode 100644 index 00000000..3eed25a3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silver_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:feather" + }, + { + "item": "minecraft:iron_block" + }, + { + "item": "minecraft:black_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:silver_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silver_helmet.json b/src/main/resources/data/knightquest/recipes/silver_helmet.json new file mode 100644 index 00000000..925bf512 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silver_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:feather" + }, + { + "item": "minecraft:iron_block" + }, + { + "item": "minecraft:black_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:silver_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silver_leggings.json b/src/main/resources/data/knightquest/recipes/silver_leggings.json new file mode 100644 index 00000000..b903def6 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silver_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:feather" + }, + { + "item": "minecraft:iron_block" + }, + { + "item": "minecraft:black_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:silver_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silverfish_boots.json b/src/main/resources/data/knightquest/recipes/silverfish_boots.json new file mode 100644 index 00000000..d5d80a7f --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silverfish_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:beacon" + }, + { + "item": "minecraft:stone" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:silverfish_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silverfish_chestplate.json b/src/main/resources/data/knightquest/recipes/silverfish_chestplate.json new file mode 100644 index 00000000..7e2fe20e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silverfish_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:beacon" + }, + { + "item": "minecraft:stone" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:silverfish_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silverfish_helmet.json b/src/main/resources/data/knightquest/recipes/silverfish_helmet.json new file mode 100644 index 00000000..34bdc6aa --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silverfish_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:beacon" + }, + { + "item": "minecraft:stone" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:silverfish_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/silverfish_leggings.json b/src/main/resources/data/knightquest/recipes/silverfish_leggings.json new file mode 100644 index 00000000..0b0864eb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/silverfish_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:beacon" + }, + { + "item": "minecraft:stone" + }, + { + "item": "minecraft:chiseled_deepslate" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:silverfish_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skeleton_boots.json b/src/main/resources/data/knightquest/recipes/skeleton_boots.json new file mode 100644 index 00000000..a2c04030 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skeleton_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:bone_block" + }, + { + "item": "minecraft:bone" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:skeleton_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skeleton_chestplate.json b/src/main/resources/data/knightquest/recipes/skeleton_chestplate.json new file mode 100644 index 00000000..a156a163 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skeleton_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:bone_block" + }, + { + "item": "minecraft:bone" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:skeleton_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skeleton_helmet.json b/src/main/resources/data/knightquest/recipes/skeleton_helmet.json new file mode 100644 index 00000000..fbc29fbe --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skeleton_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:bone_block" + }, + { + "item": "minecraft:bone" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:skeleton_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skeleton_leggings.json b/src/main/resources/data/knightquest/recipes/skeleton_leggings.json new file mode 100644 index 00000000..148c7321 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skeleton_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:bone_block" + }, + { + "item": "minecraft:bone" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:skeleton_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk2_helmet.json b/src/main/resources/data/knightquest/recipes/skulk2_helmet.json new file mode 100644 index 00000000..b7e482b2 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk2_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:green_glazed_terracotta" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:skulk2_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk3_helmet.json b/src/main/resources/data/knightquest/recipes/skulk3_helmet.json new file mode 100644 index 00000000..209ca851 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk3_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:yellow_bed" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:skulk3_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk4_helmet.json b/src/main/resources/data/knightquest/recipes/skulk4_helmet.json new file mode 100644 index 00000000..b18aa380 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk4_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:blue_ice" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:skulk4_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk_boots.json b/src/main/resources/data/knightquest/recipes/skulk_boots.json new file mode 100644 index 00000000..b0446760 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:white_concrete" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:skulk_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk_chestplate.json b/src/main/resources/data/knightquest/recipes/skulk_chestplate.json new file mode 100644 index 00000000..51219bc4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:white_concrete" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:skulk_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk_helmet.json b/src/main/resources/data/knightquest/recipes/skulk_helmet.json new file mode 100644 index 00000000..e7a22604 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:white_concrete" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:skulk_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/skulk_leggings.json b/src/main/resources/data/knightquest/recipes/skulk_leggings.json new file mode 100644 index 00000000..685ddb7d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/skulk_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:sculk_sensor" + }, + { + "item": "minecraft:green_candle" + }, + { + "item": "minecraft:white_concrete" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:skulk_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/small_essence_to_great_essence.json b/src/main/resources/data/knightquest/recipes/small_essence_to_great_essence.json new file mode 100644 index 00000000..18f8e208 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/small_essence_to_great_essence.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "## ", + "## ", + " " + ], + "key": { + "#": { + "item": "knightquest:small_essence" + } + }, + "result": { + "item": "knightquest:great_essence" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/spider_boots.json b/src/main/resources/data/knightquest/recipes/spider_boots.json new file mode 100644 index 00000000..13afe676 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/spider_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:piston" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:spider_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/spider_chestplate.json b/src/main/resources/data/knightquest/recipes/spider_chestplate.json new file mode 100644 index 00000000..0b28422c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/spider_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:piston" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:spider_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/spider_helmet.json b/src/main/resources/data/knightquest/recipes/spider_helmet.json new file mode 100644 index 00000000..28e49af0 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/spider_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:piston" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:spider_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/spider_leggings.json b/src/main/resources/data/knightquest/recipes/spider_leggings.json new file mode 100644 index 00000000..fb77c689 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/spider_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:piston" + }, + { + "item": "minecraft:spider_eye" + }, + { + "item": "minecraft:bone_meal" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:spider_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/squire_boots.json b/src/main/resources/data/knightquest/recipes/squire_boots.json new file mode 100644 index 00000000..10f8981e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/squire_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:squire_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/squire_chestplate.json b/src/main/resources/data/knightquest/recipes/squire_chestplate.json new file mode 100644 index 00000000..42d7cde1 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/squire_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:squire_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/squire_helmet.json b/src/main/resources/data/knightquest/recipes/squire_helmet.json new file mode 100644 index 00000000..ce7f3d24 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/squire_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:squire_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/squire_leggings.json b/src/main/resources/data/knightquest/recipes/squire_leggings.json new file mode 100644 index 00000000..9da89622 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/squire_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:deepslate_iron_ore" + }, + { + "item": "minecraft:lapis_lazuli" + }, + { + "item": "minecraft:red_banner" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:squire_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/steel_axe.json b/src/main/resources/data/knightquest/recipes/steel_axe.json new file mode 100644 index 00000000..356bde2e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/steel_axe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "minecraft:iron_axe" + }, + "S": { + "item": "minecraft:feather" + }, + "X": { + "item": "minecraft:charcoal" + } + }, + "pattern": [ + "XXX", + " I ", + " S " + ], + "result": { + "item": "knightquest:steel_axe" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/steel_sword.json b/src/main/resources/data/knightquest/recipes/steel_sword.json new file mode 100644 index 00000000..22373b8c --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/steel_sword.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "minecraft:iron_sword" + }, + "S": { + "item": "minecraft:feather" + }, + "X": { + "item": "minecraft:charcoal" + } + }, + "pattern": [ + "XXX", + " I ", + " S " + ], + "result": { + "item": "knightquest:steel_sword" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/strawhat_boots.json b/src/main/resources/data/knightquest/recipes/strawhat_boots.json new file mode 100644 index 00000000..c93b92cb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/strawhat_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:white_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:strawhat_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/strawhat_chestplate.json b/src/main/resources/data/knightquest/recipes/strawhat_chestplate.json new file mode 100644 index 00000000..02432986 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/strawhat_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:white_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:strawhat_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/strawhat_helmet.json b/src/main/resources/data/knightquest/recipes/strawhat_helmet.json new file mode 100644 index 00000000..9a325f21 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/strawhat_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:white_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:strawhat_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/strawhat_leggings.json b/src/main/resources/data/knightquest/recipes/strawhat_leggings.json new file mode 100644 index 00000000..7db96d00 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/strawhat_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:white_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:ink_sac" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:strawhat_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tengu_helmet.json b/src/main/resources/data/knightquest/recipes/tengu_helmet.json new file mode 100644 index 00000000..b5408422 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tengu_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_glazed_terracotta" + }, + { + "item": "minecraft:redstone_torch" + }, + { + "item": "minecraft:red_sand" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:tengu_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/totem_of_undying_to_small_essence.json b/src/main/resources/data/knightquest/recipes/totem_of_undying_to_small_essence.json new file mode 100644 index 00000000..6dd047d3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/totem_of_undying_to_small_essence.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:totem_of_undying" + } + ], + "result": { + "item": "knightquest:great_essence", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tunic_blue_leggings.json b/src/main/resources/data/knightquest/recipes/tunic_blue_leggings.json new file mode 100644 index 00000000..2a18d0ae --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tunic_blue_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_leggings" + } + ], + "result": { + "item": "knightquest:tunic_blue_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tunic_green_leggings.json b/src/main/resources/data/knightquest/recipes/tunic_green_leggings.json new file mode 100644 index 00000000..f9326eef --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tunic_green_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_leggings" + } + ], + "result": { + "item": "knightquest:tunic_green_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tunic_red_leggings.json b/src/main/resources/data/knightquest/recipes/tunic_red_leggings.json new file mode 100644 index 00000000..4d743ae0 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tunic_red_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_leggings" + } + ], + "result": { + "item": "knightquest:tunic_red_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tunic_sea_leggings.json b/src/main/resources/data/knightquest/recipes/tunic_sea_leggings.json new file mode 100644 index 00000000..e051168a --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tunic_sea_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:cyan_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_leggings" + } + ], + "result": { + "item": "knightquest:tunic_sea_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/tunic_yellow_leggings.json b/src/main/resources/data/knightquest/recipes/tunic_yellow_leggings.json new file mode 100644 index 00000000..a821bacc --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/tunic_yellow_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:leather" + }, + { + "item": "minecraft:apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:iron_leggings" + } + ], + "result": { + "item": "knightquest:tunic_yellow_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/uchigatana_katana.json b/src/main/resources/data/knightquest/recipes/uchigatana_katana.json new file mode 100644 index 00000000..e08e2009 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/uchigatana_katana.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "knightquest:lizzy_scale" + }, + "S": { + "item": "minecraft:diamond_sword" + }, + "X": { + "item": "minecraft:diamond" + } + }, + "pattern": [ + "X", + "I", + "S" + ], + "result": { + "item": "knightquest:uchigatana_katana" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/veteran_boots.json b/src/main/resources/data/knightquest/recipes/veteran_boots.json new file mode 100644 index 00000000..c0f6a771 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/veteran_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_horse_armor" + }, + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:veteran_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/veteran_chestplate.json b/src/main/resources/data/knightquest/recipes/veteran_chestplate.json new file mode 100644 index 00000000..1dd74f02 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/veteran_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_horse_armor" + }, + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:veteran_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/veteran_helmet.json b/src/main/resources/data/knightquest/recipes/veteran_helmet.json new file mode 100644 index 00000000..224e87de --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/veteran_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_horse_armor" + }, + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:veteran_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/veteran_leggings.json b/src/main/resources/data/knightquest/recipes/veteran_leggings.json new file mode 100644 index 00000000..7bc40b4d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/veteran_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:iron_horse_armor" + }, + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:enchanted_golden_apple" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:veteran_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/warlord_boots.json b/src/main/resources/data/knightquest/recipes/warlord_boots.json new file mode 100644 index 00000000..4c83f17d --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/warlord_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:warlord_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/warlord_chestplate.json b/src/main/resources/data/knightquest/recipes/warlord_chestplate.json new file mode 100644 index 00000000..ea1a03cb --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/warlord_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:warlord_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/warlord_helmet.json b/src/main/resources/data/knightquest/recipes/warlord_helmet.json new file mode 100644 index 00000000..162ec187 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/warlord_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:warlord_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/warlord_leggings.json b/src/main/resources/data/knightquest/recipes/warlord_leggings.json new file mode 100644 index 00000000..c2e115f4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/warlord_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:red_wool" + }, + { + "item": "minecraft:clock" + }, + { + "item": "minecraft:gold_ingot" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:warlord_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/witch_boots.json b/src/main/resources/data/knightquest/recipes/witch_boots.json new file mode 100644 index 00000000..22286e26 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/witch_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:glass_bottle" + }, + { + "item": "minecraft:red_concrete_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:witch_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/witch_chestplate.json b/src/main/resources/data/knightquest/recipes/witch_chestplate.json new file mode 100644 index 00000000..041018b4 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/witch_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:glass_bottle" + }, + { + "item": "minecraft:red_concrete_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:witch_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/witch_helmet.json b/src/main/resources/data/knightquest/recipes/witch_helmet.json new file mode 100644 index 00000000..8fbb6198 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/witch_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:glass_bottle" + }, + { + "item": "minecraft:red_concrete_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:witch_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/witch_leggings.json b/src/main/resources/data/knightquest/recipes/witch_leggings.json new file mode 100644 index 00000000..23ecc8d3 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/witch_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:glass_bottle" + }, + { + "item": "minecraft:red_concrete_powder" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:witch_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/wither_boots.json b/src/main/resources/data/knightquest/recipes/wither_boots.json new file mode 100644 index 00000000..b24ade66 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/wither_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:wither_skeleton_skull" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:wither_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/wither_chestplate.json b/src/main/resources/data/knightquest/recipes/wither_chestplate.json new file mode 100644 index 00000000..03f25188 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/wither_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:wither_skeleton_skull" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:wither_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/wither_helmet.json b/src/main/resources/data/knightquest/recipes/wither_helmet.json new file mode 100644 index 00000000..a77b6334 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/wither_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:wither_skeleton_skull" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:wither_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/wither_leggings.json b/src/main/resources/data/knightquest/recipes/wither_leggings.json new file mode 100644 index 00000000..d4bc76ea --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/wither_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:wither_skeleton_skull" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:bone" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:wither_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/zombie_boots.json b/src/main/resources/data/knightquest/recipes/zombie_boots.json new file mode 100644 index 00000000..39867931 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/zombie_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:rotten_flesh" + }, + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_boots" + } + ], + "result": { + "item": "knightquest:zombie_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/zombie_chestplate.json b/src/main/resources/data/knightquest/recipes/zombie_chestplate.json new file mode 100644 index 00000000..3deee823 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/zombie_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:rotten_flesh" + }, + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_chestplate" + } + ], + "result": { + "item": "knightquest:zombie_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/zombie_helmet.json b/src/main/resources/data/knightquest/recipes/zombie_helmet.json new file mode 100644 index 00000000..e04ed45e --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/zombie_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:rotten_flesh" + }, + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:zombie_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/zombie_helmet2.json b/src/main/resources/data/knightquest/recipes/zombie_helmet2.json new file mode 100644 index 00000000..30eedd38 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/zombie_helmet2.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:rotten_flesh" + }, + { + "item": "minecraft:mossy_stone_brick_wall" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_helmet" + } + ], + "result": { + "item": "knightquest:zombie_helmet2" + } +} \ No newline at end of file diff --git a/src/main/resources/data/knightquest/recipes/zombie_leggings.json b/src/main/resources/data/knightquest/recipes/zombie_leggings.json new file mode 100644 index 00000000..d0380689 --- /dev/null +++ b/src/main/resources/data/knightquest/recipes/zombie_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:rotten_flesh" + }, + { + "item": "minecraft:poisonous_potato" + }, + { + "item": "minecraft:green_dye" + }, + { + "item": "knightquest:filled_goblet" + }, + { + "item": "minecraft:netherite_leggings" + } + ], + "result": { + "item": "knightquest:zombie_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json new file mode 100644 index 00000000..cab059e5 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "knightquest:great_chalice" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json new file mode 100644 index 00000000..cab059e5 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/needs_stone_tool.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "knightquest:great_chalice" + ] +} \ No newline at end of file diff --git a/src/main/resources/knightquest.png b/src/main/resources/knightquest.png new file mode 100644 index 0000000000000000000000000000000000000000..363cfc452912236b31c98805fe4abfed71b1c9e1 GIT binary patch literal 75255 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�>dt~|0bps~4*TJ_D!HU&- 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