diff --git a/.gradle/7.5.1/checksums/checksums.lock b/.gradle/7.5.1/checksums/checksums.lock index a309034c..f16f220b 100644 Binary files a/.gradle/7.5.1/checksums/checksums.lock and b/.gradle/7.5.1/checksums/checksums.lock differ diff --git a/.gradle/7.5.1/checksums/md5-checksums.bin b/.gradle/7.5.1/checksums/md5-checksums.bin index ba56b3f1..864de8e2 100644 Binary files a/.gradle/7.5.1/checksums/md5-checksums.bin and b/.gradle/7.5.1/checksums/md5-checksums.bin differ diff --git a/.gradle/7.5.1/checksums/sha1-checksums.bin b/.gradle/7.5.1/checksums/sha1-checksums.bin index 3bd9ef7b..0358534a 100644 Binary files a/.gradle/7.5.1/checksums/sha1-checksums.bin and b/.gradle/7.5.1/checksums/sha1-checksums.bin differ diff --git a/.gradle/7.5.1/executionHistory/executionHistory.bin b/.gradle/7.5.1/executionHistory/executionHistory.bin index 0ccaf932..3fa23e27 100644 Binary files a/.gradle/7.5.1/executionHistory/executionHistory.bin and b/.gradle/7.5.1/executionHistory/executionHistory.bin differ diff --git a/.gradle/7.5.1/executionHistory/executionHistory.lock b/.gradle/7.5.1/executionHistory/executionHistory.lock index a12148a1..abdc4876 100644 Binary files a/.gradle/7.5.1/executionHistory/executionHistory.lock and b/.gradle/7.5.1/executionHistory/executionHistory.lock differ diff --git a/.gradle/7.5.1/fileHashes/fileHashes.bin b/.gradle/7.5.1/fileHashes/fileHashes.bin index 630e23cb..5d51f66e 100644 Binary files a/.gradle/7.5.1/fileHashes/fileHashes.bin and b/.gradle/7.5.1/fileHashes/fileHashes.bin differ diff --git a/.gradle/7.5.1/fileHashes/fileHashes.lock b/.gradle/7.5.1/fileHashes/fileHashes.lock index 4eb88f7e..afa3c80e 100644 Binary files a/.gradle/7.5.1/fileHashes/fileHashes.lock and b/.gradle/7.5.1/fileHashes/fileHashes.lock differ diff --git a/.gradle/7.5.1/fileHashes/resourceHashesCache.bin b/.gradle/7.5.1/fileHashes/resourceHashesCache.bin index ada8cd18..89fc4128 100644 Binary files a/.gradle/7.5.1/fileHashes/resourceHashesCache.bin and b/.gradle/7.5.1/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 5d35749e..e32278a8 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 6097301c..b6fa060d 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/README.assets/8e5892c67c6d87da5dc57b66735ea83.jpg b/README.assets/8e5892c67c6d87da5dc57b66735ea83.jpg new file mode 100644 index 00000000..9aa8e10a Binary files /dev/null and b/README.assets/8e5892c67c6d87da5dc57b66735ea83.jpg differ diff --git a/README.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg b/README.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg new file mode 100644 index 00000000..1faa5de0 Binary files /dev/null and b/README.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg differ diff --git a/README.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg b/README.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg new file mode 100644 index 00000000..5d8f9ea1 Binary files /dev/null and b/README.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg differ diff --git a/README.md b/README.md index ef38341e..69d026ed 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,13 @@ A check mark is complete * [ ] Armors * [ ] Tools * [ ] Achievements -* [ ] Mineral +* [x] Mineral * [ ] Chest and Backpack -* [ ] Wood +* [x] Wood(There are bugs that cannot be fixed) * [ ] Dimension * [ ] Small Boss * [ ] Technoblade items -* [ ] FINEL boss(making) +* [ ] FINEL boss ## Cooperation @@ -46,12 +46,14 @@ If you would like to work with me on this project (or any other project). Please ## About Author -The author of this mod is a junior high school student, which also makes it slow to update the mod. - -Besides, I am in the third grade of junior high school now, and the senior high school entrance examination is approaching, so I will update it more slowly, mainly during the Chinese holidays. +The author of this module is a high school student, which also causes the update time to be slow. ## Sponsor I don't have the Paypal, so please use Alipay or Wechat. -![1668321374055](image/README/1668321374055.png) +![8e5892c67c6d87da5dc57b66735ea83](./README.assets/8e5892c67c6d87da5dc57b66735ea83.jpg) + +![e2cc398d9f2396808d6a8a832c1bacd](./README.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg) + +![c6ced12b7f725785b67e6a6425c4ab0](./README.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg) diff --git a/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83-1691637888881-3.jpg b/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83-1691637888881-3.jpg new file mode 100644 index 00000000..9aa8e10a Binary files /dev/null and b/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83-1691637888881-3.jpg differ diff --git a/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83.jpg b/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83.jpg new file mode 100644 index 00000000..9aa8e10a Binary files /dev/null and b/README_CN.assets/8e5892c67c6d87da5dc57b66735ea83.jpg differ diff --git a/README_CN.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg b/README_CN.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg new file mode 100644 index 00000000..1faa5de0 Binary files /dev/null and b/README_CN.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg differ diff --git a/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd-1691637926643-5.jpg b/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd-1691637926643-5.jpg new file mode 100644 index 00000000..5d8f9ea1 Binary files /dev/null and b/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd-1691637926643-5.jpg differ diff --git a/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg b/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg new file mode 100644 index 00000000..5d8f9ea1 Binary files /dev/null and b/README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd.jpg differ diff --git a/README_CN.md b/README_CN.md index 7643acc7..ebe47ffc 100644 --- a/README_CN.md +++ b/README_CN.md @@ -10,8 +10,6 @@ 由灰风制作的压缩草重制版将原模组的1.7.10版本更新为1.16.5。我会逐步完善并添加原作者之前没有添加的内容。 -我由于某些原因将永久不会再mcbbs上发布任何内容,也不会再登录与使用mcbbs,如果需要发布相关内容可以联系我。(一般來説我都會同意的) - --- 本项目从2023.5.5开始重写,具体完成日期未知,预计3个月。 @@ -26,9 +24,9 @@ * [ ] 盔甲 * [ ] 工具 * [ ] 成就 -* [ ] 矿物 +* [x] 矿物 * [ ] 箱子与背包 -* [ ] 木头 +* [x] 木头(有无法修复的BUG) * [ ] 维度 * [ ] 小Boss * [ ] Technoblade物品 @@ -42,11 +40,14 @@ # 关于作者 -本模组的作者是一名初中生,这也导致更新模组的时间较为缓慢。 -而且现在已经初中三年级,临近中考,更新也会更为缓慢,主要会在假期更新。 +本模组的作者是一名高中生,这也导致更新模组的时间较为缓慢。 # 赞助 我没有Paypal,所以请用支付宝或微信支付。 -![1668321409087](image/README_CN/1668321409087.png) +![8e5892c67c6d87da5dc57b66735ea83](./README_CN.assets/8e5892c67c6d87da5dc57b66735ea83-1691637888881-3.jpg) + +![e2cc398d9f2396808d6a8a832c1bacd](./README_CN.assets/e2cc398d9f2396808d6a8a832c1bacd-1691637926643-5.jpg) + +![c6ced12b7f725785b67e6a6425c4ab0](./README_CN.assets/c6ced12b7f725785b67e6a6425c4ab0.jpg) diff --git a/compressed_grass.mcreator b/compressed_grass.mcreator index 63498fe8..15b61ae6 100644 --- a/compressed_grass.mcreator +++ b/compressed_grass.mcreator @@ -900,88 +900,416 @@ ] }, "path": "~/Chest" + }, + { + "name": "SecondaryCompressedGrassArmorArmor", + "type": "armor", + "sortid": 61, + "compiles": true, + "locked_code": false, + "registry_name": "secondary_compressed_grass_armor_armor", + "metadata": { + "files": [ + "src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_helmet.json", + "src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_boots.json", + "src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_chestplate.json", + "src/main/java/net/mcreator/compressedgrass/item/SecondaryCompressedGrassArmorArmorItem.java", + "src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_leggings.json" + ] + }, + "path": "~/Armor/Level 2" + }, + { + "name": "SecondaryCompressedGrassArmorArmorHelmetRecipe", + "type": "recipe", + "sortid": 62, + "compiles": true, + "locked_code": false, + "registry_name": "secondary_compressed_grass_armor_armor_helmet_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_helmet_recipe.json" + ] + }, + "path": "~/Armor/Level 2" + }, + { + "name": "SecondaryCompressedGrassArmorArmorChestplateRecipe", + "type": "recipe", + "sortid": 63, + "compiles": true, + "locked_code": false, + "registry_name": "secondary_compressed_grass_armor_armor_chestplate_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_chestplate_recipe.json" + ] + }, + "path": "~/Armor/Level 2" + }, + { + "name": "SecondaryCompressedGrassArmorArmorLeggingsRecipe", + "type": "recipe", + "sortid": 64, + "compiles": true, + "locked_code": false, + "registry_name": "secondary_compressed_grass_armor_armor_leggings_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_leggings_recipe.json" + ] + }, + "path": "~/Armor/Level 2" + }, + { + "name": "SecondaryCompressedGrassArmorArmorBootsRecipe", + "type": "recipe", + "sortid": 65, + "compiles": true, + "locked_code": false, + "registry_name": "secondary_compressed_grass_armor_armor_boots_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_boots_recipe.json" + ] + }, + "path": "~/Armor/Level 2" + }, + { + "name": "TertiaryCompressedGrassArmorArmor", + "type": "armor", + "sortid": 66, + "compiles": true, + "locked_code": false, + "registry_name": "tertiary_compressed_grass_armor_armor", + "metadata": { + "files": [ + "src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_boots.json", + "src/main/java/net/mcreator/compressedgrass/item/TertiaryCompressedGrassArmorArmorItem.java", + "src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_helmet.json", + "src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_chestplate.json", + "src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_leggings.json" + ] + }, + "path": "~/Armor/Level 3" + }, + { + "name": "TertiaryCompressedGrassArmorArmorHelmetRecipe", + "type": "recipe", + "sortid": 67, + "compiles": true, + "locked_code": false, + "registry_name": "tertiary_compressed_grass_armor_armor_helmet_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_helmet_recipe.json" + ] + }, + "path": "~/Armor/Level 3" + }, + { + "name": "TertiaryCompressedGrassArmorArmorChestplateRecipe", + "type": "recipe", + "sortid": 68, + "compiles": true, + "locked_code": false, + "registry_name": "tertiary_compressed_grass_armor_armor_chestplate_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_chestplate_recipe.json" + ] + }, + "path": "~/Armor/Level 3" + }, + { + "name": "TertiaryCompressedGrassArmorArmorLeggingsRecipe", + "type": "recipe", + "sortid": 69, + "compiles": true, + "locked_code": false, + "registry_name": "tertiary_compressed_grass_armor_armor_leggings_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_leggings_recipe.json" + ] + }, + "path": "~/Armor/Level 3" + }, + { + "name": "TertiaryCompressedGrassArmorArmorBootsRecipe", + "type": "recipe", + "sortid": 70, + "compiles": true, + "locked_code": false, + "registry_name": "tertiary_compressed_grass_armor_armor_boots_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_boots_recipe.json" + ] + }, + "path": "~/Armor/Level 3" + }, + { + "name": "GrassFurnace", + "type": "block", + "sortid": 71, + "compiles": true, + "locked_code": false, + "registry_name": "grass_furnace", + "metadata": { + "files": [ + "src/main/java/net/mcreator/compressedgrass/block/entity/GrassFurnaceBlockEntity.java", + "src/main/resources/assets/compressed_grass/models/item/grass_furnace.json", + "src/main/java/net/mcreator/compressedgrass/block/GrassFurnaceBlock.java", + "src/main/resources/assets/compressed_grass/blockstates/grass_furnace.json", + "src/main/resources/assets/compressed_grass/models/block/grass_furnace.json" + ] + }, + "path": "~/Furnace" + }, + { + "name": "GrassFurnaceGui", + "type": "gui", + "sortid": 72, + "compiles": true, + "locked_code": false, + "registry_name": "grass_furnace_gui", + "metadata": { + "files": [ + "src/main/java/net/mcreator/compressedgrass/network/GrassFurnaceGuiSlotMessage.java", + "src/main/java/net/mcreator/compressedgrass/world/inventory/GrassFurnaceGuiMenu.java", + "src/main/java/net/mcreator/compressedgrass/client/gui/GrassFurnaceGuiScreen.java" + ] + }, + "path": "~/Furnace" + }, + { + "name": "GrassFurnaceGuiOpenPeriod", + "type": "procedure", + "sortid": 73, + "compiles": true, + "locked_code": false, + "registry_name": "grass_furnace_gui_open_period", + "metadata": { + "files": [ + "src/main/java/net/mcreator/compressedgrass/procedures/GrassFurnaceGuiOpenPeriodProcedure.java" + ], + "dependencies": [ + { + "name": "x", + "type": "number" + }, + { + "name": "y", + "type": "number" + }, + { + "name": "z", + "type": "number" + }, + { + "name": "world", + "type": "world" + } + ] + }, + "path": "~/Furnace" + }, + { + "name": "GrassFurnaceSynthesis", + "type": "recipe", + "sortid": 74, + "compiles": true, + "locked_code": false, + "registry_name": "grass_furnace_synthesis", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/grass_furnace_synthesis.json" + ] + }, + "path": "~/Furnace" + }, + { + "name": "QuaternaryCompressedGrassArmorArmor", + "type": "armor", + "sortid": 75, + "compiles": true, + "locked_code": false, + "registry_name": "quaternary_compressed_grass_armor_armor", + "metadata": { + "files": [ + "src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_chestplate.json", + "src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_leggings.json", + "src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_helmet.json", + "src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_boots.json", + "src/main/java/net/mcreator/compressedgrass/item/QuaternaryCompressedGrassArmorArmorItem.java" + ] + }, + "path": "~/Armor/Level 4" + }, + { + "name": "QuaternaryCompressedGrassArmorArmorHelmetRecipe", + "type": "recipe", + "sortid": 76, + "compiles": true, + "locked_code": false, + "registry_name": "quaternary_compressed_grass_armor_armor_helmet_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_helmet_recipe.json" + ] + }, + "path": "~/Armor/Level 4" + }, + { + "name": "QuaternaryCompressedGrassArmorArmorChestplateRecipe", + "type": "recipe", + "sortid": 77, + "compiles": true, + "locked_code": false, + "registry_name": "quaternary_compressed_grass_armor_armor_chestplate_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_chestplate_recipe.json" + ] + }, + "path": "~/Armor/Level 4" + }, + { + "name": "QuaternaryCompressedGrassArmorArmorLeggingsRecipe", + "type": "recipe", + "sortid": 78, + "compiles": true, + "locked_code": false, + "registry_name": "quaternary_compressed_grass_armor_armor_leggings_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_leggings_recipe.json" + ] + }, + "path": "~/Armor/Level 4" + }, + { + "name": "QuaternaryCompressedGrassArmorArmorBootsRecipe", + "type": "recipe", + "sortid": 79, + "compiles": true, + "locked_code": false, + "registry_name": "quaternary_compressed_grass_armor_armor_boots_recipe", + "metadata": { + "files": [ + "src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_boots_recipe.json" + ] + }, + "path": "~/Armor/Level 4" } ], "variable_elements": [], "sound_elements": [], "language_map": { "en_us": { - "biome.compressed_grass.grass_biome": "Grass Biome", - "item.compressed_grass.grass_ore_armor_chestplate": "Grass Ore Chestplate", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_boots": "Tertiary Compressed Grass Boots", "block.compressed_grass.grass_ore_block": "Grass Ore Block", "item.compressed_grass.grass_ore_ingot": "Grass Ore Ingot", - "item.compressed_grass.grass_ore_armor_boots": "Grass Ore Boots", "item.compressed_grass.quaternary_compressed_grass": "Quaternary Compressed Grass", - "block.compressed_grass.grass_ore_ore": "Grass Ore", - "item.compressed_grass.tertiary_compressed_grass": "Tertiary Compressed Grass", "block.compressed_grass.grass_wood_fence_gate": "Grass Fence Gate", - "item.compressed_grass.primary_armor_leggings": "Primary Compressed Grass Leggings", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_chestplate": "Tertiary Compressed Grass Chestplate", "item_group.compressed_grass.compressed_grass": "Compressed Grass", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_helmet": "Quaternary Compressed Grass Helmet", + "item.compressed_grass.secondary_compressed_grass_armor_armor_boots": "Secondary Compressed Grass Boots", + "item.compressed_grass.primary_armor_boots": "Primary Compressed Grass Boots", + "block.compressed_grass.grass_wood_pressure_plate": "Grass Pressure Plate", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_chestplate": "Quaternary Compressed Grass Chestplate", + "item.compressed_grass.grass_ore_hoe": "Grass Ore Hoe", + "block.compressed_grass.grass_wood_log": "Grass Log", + "block.compressed_grass.grass_wood_fence": "Grass Fence", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_boots": "Quaternary Compressed Grass Boots", + "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "I try to add", + "block.compressed_grass.grass_chest": "Grass Chest", + "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(Left/Right)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_chestplate": "Secondary Compressed Grass Chestplate", + "item.compressed_grass.grass_ore_armor_helmet": "Grass Ore Helmet", + "item.compressed_grass.secondary_compressed_grass": "Secondary Compressed Grass", + "biome.compressed_grass.grass_biome": "Grass Biome", + "item.compressed_grass.grass_ore_armor_chestplate": "Grass Ore Chestplate", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_leggings": "Quaternary Compressed Grass Leggings", + "item.compressed_grass.grass_ore_armor_boots": "Grass Ore Boots", + "item.compressed_grass.secondary_compressed_grass_armor_armor_leggings": "Secondary Compressed Grass Leggings", + "item.compressed_grass.tertiary_compressed_grass": "Tertiary Compressed Grass", + "block.compressed_grass.grass_ore_ore": "Grass Ore", + "item.compressed_grass.primary_armor_leggings": "Primary Compressed Grass Leggings", "gui.compressed_grass.grass_chest_gui.label_sth_instere": "sth instere-", "item.compressed_grass.grass_ore_axe": "Grass Ore Axe", + "block.compressed_grass.grass_furnace": "Grass Furnace", "block.compressed_grass.grass_wood_wood": "Grass Wood", "item.compressed_grass.primary_armor_chestplate": "Primary Compressed Grass Chestplate", - "item.compressed_grass.primary_armor_boots": "Primary Compressed Grass Boots", "gui.compressed_grass.grass_chest_gui.label_ting_here": "-ting here", "item.compressed_grass.grass_ore_armor_leggings": "Grass Ore Leggings", "block.compressed_grass.grass_wood_slab": "Grass Slab", - "block.compressed_grass.grass_wood_pressure_plate": "Grass Pressure Plate", - "item.compressed_grass.grass_ore_hoe": "Grass Ore Hoe", - "block.compressed_grass.grass_wood_log": "Grass Log", - "block.compressed_grass.grass_wood_fence": "Grass Fence", "item.compressed_grass.grass_ore_sword": "Grass Ore Sword", - "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "I try to add", "item.compressed_grass.grass_ore_pickaxe": "Grass Ore Pickaxe", "block.compressed_grass.grass_wood_leaves": "Grass Leaves", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_leggings": "Tertiary Compressed Grass Leggings", "item.compressed_grass.primary_compressed_grass": "Primary Compressed Grass", "block.compressed_grass.grass_wood_button": "Grass Button", "item.compressed_grass.primary_armor_helmet": "Primary Compressed Grass Helmet", - "block.compressed_grass.grass_chest": "Grass Chest", - "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(Left/Right)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_helmet": "Secondary Compressed Grass Helmet", "block.compressed_grass.grass_wood_planks": "Grass Planks", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_helmet": "Tertiary Compressed Grass Helmet", "item.compressed_grass.grass_ore_shovel": "Grass Ore Shovel", - "block.compressed_grass.grass_wood_stairs": "Grass Stairs", - "item.compressed_grass.grass_ore_armor_helmet": "Grass Ore Helmet", - "item.compressed_grass.secondary_compressed_grass": "Secondary Compressed Grass" + "block.compressed_grass.grass_wood_stairs": "Grass Stairs" }, "zh_cn": { - "biome.compressed_grass.grass_biome": "草群系", - "item.compressed_grass.grass_ore_armor_chestplate": "草矿胸甲", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_boots": "三级压缩草靴子", "block.compressed_grass.grass_ore_block": "草块", "item.compressed_grass.grass_ore_ingot": "草锭", - "item.compressed_grass.grass_ore_armor_boots": "草矿靴子", "item.compressed_grass.quaternary_compressed_grass": "四级压缩草", "block.compressed_grass.grass_wood_fence_gate": "草木栅栏门", + "item_group.compressed_grass.compressed_grass": "压缩草", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_chestplate": "三级压缩草胸甲", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_helmet": "四级压缩草头盔", + "item.compressed_grass.secondary_compressed_grass_armor_armor_boots": "二级压缩草靴子", + "item.compressed_grass.primary_armor_boots": "一级压缩草靴子", + "block.compressed_grass.grass_wood_pressure_plate": "草木压力板", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_chestplate": "四级压缩草胸甲", + "item.compressed_grass.grass_ore_hoe": "草矿锄", + "block.compressed_grass.grass_wood_log": "草木树干", + "block.compressed_grass.grass_wood_fence": "草木栅栏", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_boots": "四级压缩草靴子", + "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "我想添加", + "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(左/右)", + "block.compressed_grass.grass_chest": "草箱", + "item.compressed_grass.secondary_compressed_grass_armor_armor_chestplate": "二级压缩草胸甲", + "item.compressed_grass.grass_ore_armor_helmet": "草矿头盔", + "item.compressed_grass.secondary_compressed_grass": "二级压缩草", + "biome.compressed_grass.grass_biome": "草群系", + "item.compressed_grass.grass_ore_armor_chestplate": "草矿胸甲", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_leggings": "四级压缩草护腿", + "item.compressed_grass.grass_ore_armor_boots": "草矿靴子", + "item.compressed_grass.secondary_compressed_grass_armor_armor_leggings": "二级压缩草护腿", "item.compressed_grass.tertiary_compressed_grass": "三级压缩草", "block.compressed_grass.grass_ore_ore": "草矿", "item.compressed_grass.primary_armor_leggings": "一级压缩草护腿", - "item_group.compressed_grass.compressed_grass": "压缩草", "gui.compressed_grass.grass_chest_gui.label_sth_instere": "一些有趣", "item.compressed_grass.grass_ore_axe": "草矿斧", + "block.compressed_grass.grass_furnace": "草炉", "block.compressed_grass.grass_wood_wood": "草木木板", "item.compressed_grass.primary_armor_chestplate": "一级压缩草胸甲", - "item.compressed_grass.primary_armor_boots": "一级压缩草靴子", "gui.compressed_grass.grass_chest_gui.label_ting_here": "的在这里", "item.compressed_grass.grass_ore_armor_leggings": "草矿护腿", "block.compressed_grass.grass_wood_slab": "草木半阶", - "block.compressed_grass.grass_wood_pressure_plate": "草木压力板", - "item.compressed_grass.grass_ore_hoe": "草矿锄", - "block.compressed_grass.grass_wood_log": "草木树干", - "block.compressed_grass.grass_wood_fence": "草木栅栏", "item.compressed_grass.grass_ore_sword": "草矿剑", - "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "我想添加", "item.compressed_grass.grass_ore_pickaxe": "草矿镐", "block.compressed_grass.grass_wood_leaves": "草木树叶", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_leggings": "三级压缩草护腿", "item.compressed_grass.primary_compressed_grass": "一级压缩草", "block.compressed_grass.grass_wood_button": "草木按钮", "item.compressed_grass.primary_armor_helmet": "一级压缩草头盔", - "block.compressed_grass.grass_chest": "草箱", - "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(左/右)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_helmet": "二级压缩草头盔", "block.compressed_grass.grass_wood_planks": "草木木桩", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_helmet": "三级压缩草头盔", "item.compressed_grass.grass_ore_shovel": "草矿铲", - "block.compressed_grass.grass_wood_stairs": "草木台阶", - "item.compressed_grass.grass_ore_armor_helmet": "草矿头盔", - "item.compressed_grass.secondary_compressed_grass": "二级压缩草" + "block.compressed_grass.grass_wood_stairs": "草木台阶" } }, "foldersRoot": { @@ -1038,6 +1366,18 @@ { "name": "Level 1", "children": [] + }, + { + "name": "Level 2", + "children": [] + }, + { + "name": "Level 3", + "children": [] + }, + { + "name": "Level 4", + "children": [] } ] }, @@ -1073,6 +1413,10 @@ { "name": "Biome", "children": [] + }, + { + "name": "Furnace", + "children": [] } ] }, diff --git a/elements/GrassFurnace.mod.json b/elements/GrassFurnace.mod.json new file mode 100644 index 00000000..73bbc769 --- /dev/null +++ b/elements/GrassFurnace.mod.json @@ -0,0 +1,313 @@ +{ + "_fv": 43, + "_type": "block", + "definition": { + "texture": "grassore_ore_block", + "textureTop": "grassore_ore_block", + "textureLeft": "grassore_ore_block", + "textureFront": "grassore_ore_block", + "textureRight": "grassore_ore_block", + "textureBack": "grassore_ore_block", + "renderType": 2, + "customModelName": "grassfurnace:default", + "rotationMode": 0, + "enablePitch": false, + "emissiveRendering": false, + "displayFluidOverlay": false, + "itemTexture": "", + "particleTexture": "", + "tintType": "No tint", + "isItemTinted": false, + "hasTransparency": true, + "connectedSides": false, + "transparencyType": "SOLID", + "disableOffset": false, + "boundingBoxes": [ + { + "mx": 0.0, + "my": 0.0, + "mz": 0.0, + "Mx": 16.0, + "My": 1.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 1.0, + "mz": 0.0, + "Mx": 1.0, + "My": 7.0, + "Mz": 1.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 1.0, + "mz": 15.0, + "Mx": 1.0, + "My": 7.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 15.0, + "my": 1.0, + "mz": 15.0, + "Mx": 16.0, + "My": 7.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 15.0, + "my": 1.0, + "mz": 0.0, + "Mx": 16.0, + "My": 7.0, + "Mz": 1.0, + "subtract": false + }, + { + "mx": 1.0, + "my": 1.0, + "mz": 0.0, + "Mx": 15.0, + "My": 4.0, + "Mz": 1.0, + "subtract": false + }, + { + "mx": 1.0, + "my": 1.0, + "mz": 15.0, + "Mx": 15.0, + "My": 4.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 15.0, + "my": 1.0, + "mz": 1.0, + "Mx": 16.0, + "My": 4.0, + "Mz": 15.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 1.0, + "mz": 1.0, + "Mx": 1.0, + "My": 4.0, + "Mz": 15.0, + "subtract": false + }, + { + "mx": 1.0, + "my": 2.0, + "mz": 1.0, + "Mx": 15.0, + "My": 4.0, + "Mz": 15.0, + "subtract": false + }, + { + "mx": 1.0, + "my": 4.0, + "mz": 0.0, + "Mx": 15.0, + "My": 7.0, + "Mz": 0.0, + "subtract": false + }, + { + "mx": 1.0, + "my": 4.0, + "mz": 16.0, + "Mx": 15.0, + "My": 7.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 4.0, + "mz": 1.0, + "Mx": 0.0, + "My": 7.0, + "Mz": 15.0, + "subtract": false + }, + { + "mx": 16.0, + "my": 4.0, + "mz": 1.0, + "Mx": 16.0, + "My": 7.0, + "Mz": 15.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 7.0, + "mz": 0.0, + "Mx": 16.0, + "My": 8.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 8.0, + "mz": 0.0, + "Mx": 3.0, + "My": 13.0, + "Mz": 3.0, + "subtract": false + }, + { + "mx": 13.0, + "my": 8.0, + "mz": 0.0, + "Mx": 16.0, + "My": 13.0, + "Mz": 3.0, + "subtract": false + }, + { + "mx": 13.0, + "my": 8.0, + "mz": 13.0, + "Mx": 16.0, + "My": 13.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 8.0, + "mz": 13.0, + "Mx": 3.0, + "My": 13.0, + "Mz": 16.0, + "subtract": false + }, + { + "mx": 0.0, + "my": 13.0, + "mz": 0.0, + "Mx": 16.0, + "My": 15.0, + "Mz": 16.0, + "subtract": false + } + ], + "name": "Grass Furnace", + "specialInfo": [], + "hardness": 1.0, + "resistance": 10.0, + "hasGravity": false, + "isWaterloggable": false, + "creativeTab": { + "value": "CUSTOM:CompressedGrass" + }, + "destroyTool": "Not specified", + "customDrop": { + "value": "" + }, + "dropAmount": 1, + "useLootTableForDrops": false, + "requiresCorrectTool": false, + "enchantPowerBonus": 0.0, + "plantsGrowOn": false, + "canRedstoneConnect": false, + "lightOpacity": 0, + "material": { + "value": "ROCK" + }, + "tickRate": 0, + "tickRandomly": false, + "isReplaceable": false, + "canProvidePower": false, + "emittedRedstonePower": { + "fixedValue": 15.0 + }, + "colorOnMap": "DEFAULT", + "creativePickItem": { + "value": "" + }, + "offsetType": "NONE", + "aiPathNodeType": "DEFAULT", + "flammability": 0, + "fireSpreadSpeed": 0, + "isLadder": false, + "slipperiness": 0.6, + "speedFactor": 1.0, + "jumpFactor": 1.0, + "reactionToPushing": "NORMAL", + "isNotColidable": false, + "isCustomSoundType": false, + "soundOnStep": { + "value": "GROUND" + }, + "breakSound": { + "value": "" + }, + "fallSound": { + "value": "" + }, + "hitSound": { + "value": "" + }, + "placeSound": { + "value": "" + }, + "stepSound": { + "value": "" + }, + "luminance": 0, + "unbreakable": false, + "breakHarvestLevel": 1, + "isBonemealable": false, + "hasInventory": true, + "guiBoundTo": "GrassFurnaceGui", + "openGUIOnRightClick": true, + "inventorySize": 3, + "inventoryStackSize": 64, + "inventoryDropWhenDestroyed": true, + "inventoryComparatorPower": true, + "inventoryOutSlotIDs": [], + "inventoryInSlotIDs": [], + "hasEnergyStorage": false, + "energyInitial": 0, + "energyCapacity": 400000, + "energyMaxReceive": 200, + "energyMaxExtract": 200, + "isFluidTank": false, + "fluidCapacity": 8000, + "fluidRestrictions": [], + "spawnWorldTypes": [], + "restrictionBiomes": [], + "blocksToReplace": [ + { + "value": "Blocks.STONE#0" + }, + { + "value": "Blocks.STONE#1" + }, + { + "value": "Blocks.STONE#3" + }, + { + "value": "Blocks.STONE#5" + } + ], + "generationShape": "UNIFORM", + "frequencyPerChunks": 10, + "frequencyOnChunk": 16, + "minGenerateHeight": 0, + "maxGenerateHeight": 64 + } +} \ No newline at end of file diff --git a/elements/GrassFurnaceGui.mod.json b/elements/GrassFurnaceGui.mod.json new file mode 100644 index 00000000..53e5cd25 --- /dev/null +++ b/elements/GrassFurnaceGui.mod.json @@ -0,0 +1,55 @@ +{ + "_fv": 43, + "_type": "gui", + "definition": { + "type": 1, + "width": 176, + "height": 166, + "inventoryOffsetX": 0, + "inventoryOffsetY": 0, + "renderBgLayer": true, + "doesPauseGame": false, + "components": [ + { + "type": "inputslot", + "data": { + "inputLimit": { + "value": "" + }, + "disablePlacement": { + "fixedValue": false + }, + "id": 0, + "disablePickup": { + "fixedValue": false + }, + "dropItemsWhenNotBound": true, + "onSlotChanged": { + "name": "GrassFurnaceGuiOpenPeriod" + }, + "x": 159, + "y": 71 + } + }, + { + "type": "outputslot", + "data": { + "id": 1, + "disablePickup": { + "fixedValue": false + }, + "dropItemsWhenNotBound": true, + "x": 249, + "y": 71 + } + } + ], + "gridSettings": { + "sx": 18, + "sy": 18, + "ox": 11, + "oy": 15, + "snapOnGrid": true + } + } +} \ No newline at end of file diff --git a/elements/GrassFurnaceGuiOpenPeriod.mod.json b/elements/GrassFurnaceGuiOpenPeriod.mod.json new file mode 100644 index 00000000..fd2d8e4c --- /dev/null +++ b/elements/GrassFurnaceGuiOpenPeriod.mod.json @@ -0,0 +1,7 @@ +{ + "_fv": 43, + "_type": "procedure", + "definition": { + "procedurexml": "no_ext_triggerANDLTThis tests if the output slot has less than 64 items in it if it's true than it will run the rest of the conditions.1640CUSTOM:GrassOreOreThese procedure blocks remove one item from the fule and smelting slots except for the output slot.01This gets the number from the output slot then adds the amount to the output slot. This item should be the smelted result item. Note that +1 is the amount you are smelting.1ADD11CUSTOM:GrassOreIngot" + } +} \ No newline at end of file diff --git a/elements/GrassFurnaceSynthesis.mod.json b/elements/GrassFurnaceSynthesis.mod.json new file mode 100644 index 00000000..fcc50bd4 --- /dev/null +++ b/elements/GrassFurnaceSynthesis.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "MISC", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "Blocks.ANDESITE_WALL" + }, + { + "value": "CUSTOM:GrassOreBlock" + }, + { + "value": "Blocks.ANDESITE_WALL" + }, + { + "value": "Blocks.CHISELED_DEEPSLATE" + }, + { + "value": "Items.LAVA_BUCKET" + }, + { + "value": "Blocks.CHISELED_DEEPSLATE" + }, + { + "value": "Blocks.DEEPSLATE_BRICK_WALL" + }, + { + "value": "CUSTOM:GrassOreIngot" + }, + { + "value": "Blocks.DEEPSLATE_BRICK_WALL" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:GrassFurnace" + }, + "name": "grass_furnace_synthesis", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/GrassOreOre.mod.json b/elements/GrassOreOre.mod.json index 15d5ca06..05fcf276 100644 --- a/elements/GrassOreOre.mod.json +++ b/elements/GrassOreOre.mod.json @@ -36,7 +36,7 @@ "name": "Grass Ore", "specialInfo": [], "hardness": 9.0, - "resistance": 12.041123426403463, + "resistance": 7.0, "hasGravity": false, "isWaterloggable": false, "creativeTab": { @@ -44,7 +44,7 @@ }, "destroyTool": "pickaxe", "customDrop": { - "value": "CUSTOM:GrassOreIngot" + "value": "" }, "dropAmount": 1, "useLootTableForDrops": false, @@ -136,9 +136,9 @@ } ], "generationShape": "UNIFORM", - "frequencyPerChunks": 2, + "frequencyPerChunks": 1, "frequencyOnChunk": 1, - "minGenerateHeight": -64, - "maxGenerateHeight": -32 + "minGenerateHeight": -40, + "maxGenerateHeight": -30 } } \ No newline at end of file diff --git a/elements/GrassOreOreSmelting.mod.json b/elements/GrassOreOreSmelting.mod.json index d812cef3..d459c844 100644 --- a/elements/GrassOreOreSmelting.mod.json +++ b/elements/GrassOreOreSmelting.mod.json @@ -6,42 +6,10 @@ "recipeRetstackSize": 1, "group": "", "cookingBookCategory": "MISC", - "xpReward": 2.0999999999999996, - "cookingTime": 200, + "xpReward": 5.0, + "cookingTime": 400, "craftingBookCategory": "MISC", "recipeShapeless": false, - "recipeSlots": [ - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - }, - { - "value": "" - } - ], - "recipeReturnStack": { - "value": "" - }, "smeltingInputStack": { "value": "CUSTOM:GrassOreOre" }, diff --git a/elements/PrimaryArmor.mod.json b/elements/PrimaryArmor.mod.json index 2e900020..8df8a8c1 100644 --- a/elements/PrimaryArmor.mod.json +++ b/elements/PrimaryArmor.mod.json @@ -11,7 +11,7 @@ "enableBoots": true, "textureBoots": "primary_boots", "creativeTab": { - "value": "COMBAT" + "value": "CUSTOM:CompressedGrass" }, "armorTextureFile": "primary", "helmetName": "Primary Compressed Grass Helmet", diff --git a/elements/QuaternaryCompressedGrassArmorArmor.mod.json b/elements/QuaternaryCompressedGrassArmorArmor.mod.json new file mode 100644 index 00000000..88ade54f --- /dev/null +++ b/elements/QuaternaryCompressedGrassArmorArmor.mod.json @@ -0,0 +1,70 @@ +{ + "_fv": 43, + "_type": "armor", + "definition": { + "enableHelmet": true, + "textureHelmet": "quaternarycompressedgrassarmor_head", + "enableBody": true, + "textureBody": "quaternarycompressedgrassarmor_body", + "enableLeggings": true, + "textureLeggings": "quaternarycompressedgrassarmor_leggings", + "enableBoots": true, + "textureBoots": "quaternarycompressedgrassarmor_boots", + "creativeTab": { + "value": "CUSTOM:CompressedGrass" + }, + "armorTextureFile": "quaternarycompressedgrassarmor", + "helmetName": "Quaternary Compressed Grass Helmet", + "bodyName": "Quaternary Compressed Grass Chestplate", + "leggingsName": "Quaternary Compressed Grass Leggings", + "bootsName": "Quaternary Compressed Grass Boots", + "helmetSpecialInfo": [], + "bodySpecialInfo": [], + "leggingsSpecialInfo": [], + "bootsSpecialInfo": [], + "helmetModelName": "Default", + "helmetModelPart": "Helmet", + "helmetModelTexture": "From armor", + "bodyModelName": "Default", + "bodyModelPart": "Body", + "armsModelPartL": "Arms L", + "armsModelPartR": "Arms R", + "bodyModelTexture": "From armor", + "leggingsModelName": "Default", + "leggingsModelPartL": "Leggings L", + "leggingsModelPartR": "Leggings R", + "leggingsModelTexture": "From armor", + "bootsModelName": "Default", + "bootsModelPartL": "Boots L", + "bootsModelPartR": "Boots R", + "bootsModelTexture": "From armor", + "helmetItemRenderType": 0, + "helmetItemCustomModelName": "Normal", + "bodyItemRenderType": 0, + "bodyItemCustomModelName": "Normal", + "leggingsItemRenderType": 0, + "leggingsItemCustomModelName": "Normal", + "bootsItemRenderType": 0, + "bootsItemCustomModelName": "Normal", + "helmetImmuneToFire": false, + "bodyImmuneToFire": false, + "leggingsImmuneToFire": false, + "bootsImmuneToFire": false, + "maxDamage": 12, + "damageValueHelmet": 2, + "damageValueBody": 4, + "damageValueLeggings": 5, + "damageValueBoots": 2, + "enchantability": 7, + "toughness": 0.1, + "knockbackResistance": 0.1, + "equipSound": { + "value": "" + }, + "repairItems": [ + { + "value": "CUSTOM:QuaternaryCompressedGrass" + } + ] + } +} \ No newline at end of file diff --git a/elements/QuaternaryCompressedGrassArmorArmorBootsRecipe.mod.json b/elements/QuaternaryCompressedGrassArmorArmorBootsRecipe.mod.json new file mode 100644 index 00000000..cfbaf423 --- /dev/null +++ b/elements/QuaternaryCompressedGrassArmorArmorBootsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:QuaternaryCompressedGrassArmorArmor.boots" + }, + "name": "quaternary_compressed_grass_armor_armor_boots_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/QuaternaryCompressedGrassArmorArmorChestplateRecipe.mod.json b/elements/QuaternaryCompressedGrassArmorArmorChestplateRecipe.mod.json new file mode 100644 index 00000000..48eed1f7 --- /dev/null +++ b/elements/QuaternaryCompressedGrassArmorArmorChestplateRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:QuaternaryCompressedGrassArmorArmor.body" + }, + "name": "quaternary_compressed_grass_armor_armor_chestplate_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/QuaternaryCompressedGrassArmorArmorHelmetRecipe.mod.json b/elements/QuaternaryCompressedGrassArmorArmorHelmetRecipe.mod.json new file mode 100644 index 00000000..d3d95ca9 --- /dev/null +++ b/elements/QuaternaryCompressedGrassArmorArmorHelmetRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:QuaternaryCompressedGrassArmorArmor.helmet" + }, + "name": "quaternary_compressed_grass_armor_armor_helmet_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/QuaternaryCompressedGrassArmorArmorLeggingsRecipe.mod.json b/elements/QuaternaryCompressedGrassArmorArmorLeggingsRecipe.mod.json new file mode 100644 index 00000000..0a6d6e10 --- /dev/null +++ b/elements/QuaternaryCompressedGrassArmorArmorLeggingsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:QuaternaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:QuaternaryCompressedGrassArmorArmor.legs" + }, + "name": "quaternary_compressed_grass_armor_armor_leggings_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/SecondaryCompressedGrassArmorArmor.mod.json b/elements/SecondaryCompressedGrassArmorArmor.mod.json new file mode 100644 index 00000000..7dc9d0f9 --- /dev/null +++ b/elements/SecondaryCompressedGrassArmorArmor.mod.json @@ -0,0 +1,70 @@ +{ + "_fv": 43, + "_type": "armor", + "definition": { + "enableHelmet": true, + "textureHelmet": "secondarycompressedgrassarmor_head", + "enableBody": true, + "textureBody": "secondarycompressedgrassarmor_body", + "enableLeggings": true, + "textureLeggings": "secondarycompressedgrassarmor_leggings", + "enableBoots": true, + "textureBoots": "secondarycompressedgrassarmor_boots", + "creativeTab": { + "value": "CUSTOM:CompressedGrass" + }, + "armorTextureFile": "secondarycompressedgrassarmor", + "helmetName": "Secondary Compressed Grass Helmet", + "bodyName": "Secondary Compressed Grass Chestplate", + "leggingsName": "Secondary Compressed Grass Leggings", + "bootsName": "Secondary Compressed Grass Boots", + "helmetSpecialInfo": [], + "bodySpecialInfo": [], + "leggingsSpecialInfo": [], + "bootsSpecialInfo": [], + "helmetModelName": "Default", + "helmetModelPart": "Helmet", + "helmetModelTexture": "From armor", + "bodyModelName": "Default", + "bodyModelPart": "Body", + "armsModelPartL": "Arms L", + "armsModelPartR": "Arms R", + "bodyModelTexture": "From armor", + "leggingsModelName": "Default", + "leggingsModelPartL": "Leggings L", + "leggingsModelPartR": "Leggings R", + "leggingsModelTexture": "From armor", + "bootsModelName": "Default", + "bootsModelPartL": "Boots L", + "bootsModelPartR": "Boots R", + "bootsModelTexture": "From armor", + "helmetItemRenderType": 0, + "helmetItemCustomModelName": "Normal", + "bodyItemRenderType": 0, + "bodyItemCustomModelName": "Normal", + "leggingsItemRenderType": 0, + "leggingsItemCustomModelName": "Normal", + "bootsItemRenderType": 0, + "bootsItemCustomModelName": "Normal", + "helmetImmuneToFire": false, + "bodyImmuneToFire": false, + "leggingsImmuneToFire": false, + "bootsImmuneToFire": false, + "maxDamage": 9, + "damageValueHelmet": 1, + "damageValueBody": 3, + "damageValueLeggings": 4, + "damageValueBoots": 1, + "enchantability": 5, + "toughness": 0.1, + "knockbackResistance": 0.1, + "equipSound": { + "value": "" + }, + "repairItems": [ + { + "value": "CUSTOM:SecondaryCompressedGrass" + } + ] + } +} \ No newline at end of file diff --git a/elements/SecondaryCompressedGrassArmorArmorBootsRecipe.mod.json b/elements/SecondaryCompressedGrassArmorArmorBootsRecipe.mod.json new file mode 100644 index 00000000..37c778f8 --- /dev/null +++ b/elements/SecondaryCompressedGrassArmorArmorBootsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:SecondaryCompressedGrassArmorArmor.boots" + }, + "name": "secondary_compressed_grass_armor_armor_boots_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/SecondaryCompressedGrassArmorArmorChestplateRecipe.mod.json b/elements/SecondaryCompressedGrassArmorArmorChestplateRecipe.mod.json new file mode 100644 index 00000000..3bf49509 --- /dev/null +++ b/elements/SecondaryCompressedGrassArmorArmorChestplateRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:SecondaryCompressedGrassArmorArmor.body" + }, + "name": "secondary_compressed_grass_armor_armor_chestplate_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/SecondaryCompressedGrassArmorArmorHelmetRecipe.mod.json b/elements/SecondaryCompressedGrassArmorArmorHelmetRecipe.mod.json new file mode 100644 index 00000000..7c46d800 --- /dev/null +++ b/elements/SecondaryCompressedGrassArmorArmorHelmetRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:SecondaryCompressedGrassArmorArmor.helmet" + }, + "name": "secondary_compressed_grass_armor_armor_helmet_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/SecondaryCompressedGrassArmorArmorLeggingsRecipe.mod.json b/elements/SecondaryCompressedGrassArmorArmorLeggingsRecipe.mod.json new file mode 100644 index 00000000..c8516cf1 --- /dev/null +++ b/elements/SecondaryCompressedGrassArmorArmorLeggingsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:SecondaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:SecondaryCompressedGrassArmorArmor.legs" + }, + "name": "secondary_compressed_grass_armor_armor_leggings_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/TertiaryCompressedGrassArmorArmor.mod.json b/elements/TertiaryCompressedGrassArmorArmor.mod.json new file mode 100644 index 00000000..4baf80be --- /dev/null +++ b/elements/TertiaryCompressedGrassArmorArmor.mod.json @@ -0,0 +1,70 @@ +{ + "_fv": 43, + "_type": "armor", + "definition": { + "enableHelmet": true, + "textureHelmet": "tertiarycompressedgrassarmor_head", + "enableBody": true, + "textureBody": "tertiarycompressedgrassarmor_body", + "enableLeggings": true, + "textureLeggings": "tertiarycompressedgrassarmor_leggings", + "enableBoots": true, + "textureBoots": "tertiarycompressedgrassarmor_boots", + "creativeTab": { + "value": "CUSTOM:CompressedGrass" + }, + "armorTextureFile": "tertiarycompressedgrassarmor", + "helmetName": "Tertiary Compressed Grass Helmet", + "bodyName": "Tertiary Compressed Grass Chestplate", + "leggingsName": "Tertiary Compressed Grass Leggings", + "bootsName": "Tertiary Compressed Grass Boots", + "helmetSpecialInfo": [], + "bodySpecialInfo": [], + "leggingsSpecialInfo": [], + "bootsSpecialInfo": [], + "helmetModelName": "Default", + "helmetModelPart": "Helmet", + "helmetModelTexture": "From armor", + "bodyModelName": "Default", + "bodyModelPart": "Body", + "armsModelPartL": "Arms L", + "armsModelPartR": "Arms R", + "bodyModelTexture": "From armor", + "leggingsModelName": "Default", + "leggingsModelPartL": "Leggings L", + "leggingsModelPartR": "Leggings R", + "leggingsModelTexture": "From armor", + "bootsModelName": "Default", + "bootsModelPartL": "Boots L", + "bootsModelPartR": "Boots R", + "bootsModelTexture": "From armor", + "helmetItemRenderType": 0, + "helmetItemCustomModelName": "Normal", + "bodyItemRenderType": 0, + "bodyItemCustomModelName": "Normal", + "leggingsItemRenderType": 0, + "leggingsItemCustomModelName": "Normal", + "bootsItemRenderType": 0, + "bootsItemCustomModelName": "Normal", + "helmetImmuneToFire": false, + "bodyImmuneToFire": false, + "leggingsImmuneToFire": false, + "bootsImmuneToFire": false, + "maxDamage": 11, + "damageValueHelmet": 1, + "damageValueBody": 4, + "damageValueLeggings": 4, + "damageValueBoots": 1, + "enchantability": 6, + "toughness": 0.1, + "knockbackResistance": 0.1, + "equipSound": { + "value": "" + }, + "repairItems": [ + { + "value": "CUSTOM:TertiaryCompressedGrass" + } + ] + } +} \ No newline at end of file diff --git a/elements/TertiaryCompressedGrassArmorArmorBootsRecipe.mod.json b/elements/TertiaryCompressedGrassArmorArmorBootsRecipe.mod.json new file mode 100644 index 00000000..8aab6696 --- /dev/null +++ b/elements/TertiaryCompressedGrassArmorArmorBootsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:TertiaryCompressedGrassArmorArmor.boots" + }, + "name": "tertiary_compressed_grass_armor_armor_boots_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/TertiaryCompressedGrassArmorArmorChestplateRecipe.mod.json b/elements/TertiaryCompressedGrassArmorArmorChestplateRecipe.mod.json new file mode 100644 index 00000000..276098b9 --- /dev/null +++ b/elements/TertiaryCompressedGrassArmorArmorChestplateRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:TertiaryCompressedGrassArmorArmor.body" + }, + "name": "tertiary_compressed_grass_armor_armor_chestplate_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/TertiaryCompressedGrassArmorArmorHelmetRecipe.mod.json b/elements/TertiaryCompressedGrassArmorArmorHelmetRecipe.mod.json new file mode 100644 index 00000000..57483edd --- /dev/null +++ b/elements/TertiaryCompressedGrassArmorArmorHelmetRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "" + }, + { + "value": "" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:TertiaryCompressedGrassArmorArmor.helmet" + }, + "name": "tertiary_compressed_grass_armor_armor_helmet_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/elements/TertiaryCompressedGrassArmorArmorLeggingsRecipe.mod.json b/elements/TertiaryCompressedGrassArmorArmorLeggingsRecipe.mod.json new file mode 100644 index 00000000..6deffc5f --- /dev/null +++ b/elements/TertiaryCompressedGrassArmorArmorLeggingsRecipe.mod.json @@ -0,0 +1,48 @@ +{ + "_fv": 43, + "_type": "recipe", + "definition": { + "recipeType": "Crafting", + "recipeRetstackSize": 1, + "group": "", + "cookingBookCategory": "MISC", + "xpReward": 0.0, + "cookingTime": 200, + "craftingBookCategory": "EQUIPMENT", + "recipeShapeless": false, + "recipeSlots": [ + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + }, + { + "value": "" + }, + { + "value": "CUSTOM:TertiaryCompressedGrass" + } + ], + "recipeReturnStack": { + "value": "CUSTOM:TertiaryCompressedGrassArmorArmor.legs" + }, + "name": "tertiary_compressed_grass_armor_armor_leggings_recipe", + "namespace": "mod" + } +} \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 00000000..d151842a Binary files /dev/null and b/icon.png differ diff --git a/model/GrassFurnace/GrassFurnace.bbmodel b/model/GrassFurnace/GrassFurnace.bbmodel new file mode 100644 index 00000000..4cc6ee76 --- /dev/null +++ b/model/GrassFurnace/GrassFurnace.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"GrassFurnace","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":32,"height":32},"elements":[{"name":"底部","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,0,0],"to":[16,1,16],"autouv":0,"color":7,"origin":[0,0,0],"faces":{"north":{"uv":[16,0,32,1],"texture":0},"east":{"uv":[16,1,32,2],"texture":0},"south":{"uv":[16,2,32,3],"texture":0},"west":{"uv":[16,3,32,4],"texture":0},"up":{"uv":[16,16,0,0],"texture":0},"down":{"uv":[16,16,0,32],"texture":0}},"type":"cube","uuid":"37a9b9db-2dc6-d822-879d-c9fc22abbe2f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,1,0],"to":[1,7,1],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,12],"texture":1},"east":{"uv":[2,0,4,12],"texture":1},"south":{"uv":[4,0,6,12],"texture":1},"west":{"uv":[6,0,8,12],"texture":1},"up":{"uv":[10,2,8,0],"texture":1},"down":{"uv":[10,2,8,4],"texture":1}},"type":"cube","uuid":"d6798fc5-08fa-ebbb-b4dd-6451b12deebf"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,1,15],"to":[1,7,16],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,12],"texture":1},"east":{"uv":[0,0,2,12],"texture":1},"south":{"uv":[0,0,2,12],"texture":1},"west":{"uv":[0,0,2,12],"texture":1},"up":{"uv":[0,0,2,2],"texture":1},"down":{"uv":[0,0,2,2],"texture":1}},"type":"cube","uuid":"b7916b01-6174-a199-6768-9b7ab5276a16"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[15,1,15],"to":[16,7,16],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,12],"texture":1},"east":{"uv":[0,0,2,12],"texture":1},"south":{"uv":[0,0,2,12],"texture":1},"west":{"uv":[0,0,2,12],"texture":1},"up":{"uv":[0,0,2,2],"texture":1},"down":{"uv":[0,0,2,2],"texture":1}},"type":"cube","uuid":"38749677-c9fe-3f67-7b77-748faed99151"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[15,1,0],"to":[16,7,1],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,12],"texture":1},"east":{"uv":[0,0,2,12],"texture":1},"south":{"uv":[0,0,2,12],"texture":1},"west":{"uv":[0,0,2,12],"texture":1},"up":{"uv":[0,0,2,2],"texture":1},"down":{"uv":[0,0,2,2],"texture":1}},"type":"cube","uuid":"c7a589cc-7f9f-e9f0-b653-f18a2ee58733"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,1,0],"to":[15,4,1],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,28,6],"texture":2},"east":{"uv":[0,16,2,22],"texture":2},"south":{"uv":[0,6,28,12],"texture":2},"west":{"uv":[2,16,4,22],"texture":2},"up":{"uv":[28,14,0,12],"texture":2},"down":{"uv":[28,14,0,16],"texture":2}},"type":"cube","uuid":"e0c0884a-c02c-f7a0-b74e-2925241d7ac8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,1,15],"to":[15,4,16],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,28,6],"texture":2},"east":{"uv":[0,0,2,6],"texture":2},"south":{"uv":[0,0,28,6],"texture":2},"west":{"uv":[0,0,2,6],"texture":2},"up":{"uv":[0,0,28,2],"texture":2},"down":{"uv":[0,0,28,2],"texture":2}},"type":"cube","uuid":"09fcad0f-7d9a-a0b9-3ba7-1899b3cbac28"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[15,1,1],"to":[16,4,15],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,6],"texture":2},"east":{"uv":[0,0,28,6],"texture":2},"south":{"uv":[0,0,2,6],"texture":2},"west":{"uv":[0,0,28,6],"texture":2},"up":{"uv":[0,0,2,28],"texture":2},"down":{"uv":[0,0,2,28],"texture":2}},"type":"cube","uuid":"ffdcb222-b61b-143a-665f-9ce890821880"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,1,1],"to":[1,4,15],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,2,6],"texture":2},"east":{"uv":[0,0,28,6],"texture":2},"south":{"uv":[0,0,2,6],"texture":2},"west":{"uv":[0,0,28,6],"texture":2},"up":{"uv":[0,0,2,28],"texture":2},"down":{"uv":[0,0,2,28],"texture":2}},"type":"cube","uuid":"07b02425-fd96-dd62-1015-c07a6e047912"},{"name":"隔层","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,7,0],"to":[16,8,16],"autouv":0,"color":7,"origin":[0,0,0],"faces":{"north":{"uv":[16,0,32,1],"texture":5},"east":{"uv":[16,1,32,2],"texture":5},"south":{"uv":[16,2,32,3],"texture":5},"west":{"uv":[16,3,32,4],"texture":5},"up":{"uv":[16,16,0,0],"texture":5},"down":{"uv":[16,16,0,32],"texture":5}},"type":"cube","uuid":"b638d391-bc7d-7d87-c29a-d0caa78d0599"},{"name":"岩浆","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,2,1],"to":[15,4,15],"autouv":0,"color":7,"origin":[0,0,0],"faces":{"north":{"uv":[14,0,28,2],"texture":3},"east":{"uv":[14,2,28,4],"texture":3},"south":{"uv":[14,4,28,6],"texture":3},"west":{"uv":[14,6,28,8],"texture":3},"up":{"uv":[14,14,0,0],"texture":3},"down":{"uv":[14,14,0,28],"texture":3}},"type":"cube","uuid":"0a4ae906-9986-e137-0408-b7d3ffda8deb"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,8,0],"to":[3,13,3],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,6,10],"texture":6},"east":{"uv":[6,0,12,10],"texture":6},"south":{"uv":[0,10,6,20],"texture":6},"west":{"uv":[6,10,12,20],"texture":6},"up":{"uv":[18,6,12,0],"texture":6},"down":{"uv":[18,6,12,12],"texture":6}},"type":"cube","uuid":"d3516c6c-776f-c88f-8578-3b023f694fc1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[13,8,0],"to":[16,13,3],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[6,0,9,5],"texture":6},"east":{"uv":[6,5,9,10],"texture":6},"south":{"uv":[9,0,12,5],"texture":6},"west":{"uv":[9,5,12,10],"texture":6},"up":{"uv":[18,6,15,3],"texture":6},"down":{"uv":[9,15,6,18],"texture":6}},"type":"cube","uuid":"26176011-985f-d6cc-cecd-d71cec332b90"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[13,8,13],"to":[16,13,16],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,10,3,15],"texture":6},"east":{"uv":[3,10,6,15],"texture":6},"south":{"uv":[6,10,9,15],"texture":6},"west":{"uv":[9,10,12,15],"texture":6},"up":{"uv":[18,9,15,6],"texture":6},"down":{"uv":[12,15,9,18],"texture":6}},"type":"cube","uuid":"736be20d-bb6d-f3ad-6a72-9c4385fc04aa"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,8,13],"to":[3,13,16],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[12,0,15,5],"texture":6},"east":{"uv":[12,5,15,10],"texture":6},"south":{"uv":[12,10,15,15],"texture":6},"west":{"uv":[0,15,3,20],"texture":6},"up":{"uv":[18,12,15,9],"texture":6},"down":{"uv":[15,15,12,18],"texture":6}},"type":"cube","uuid":"b9ab93a2-1b26-b92f-3837-ee5af75cafc6"},{"name":"顶层","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,13,0],"to":[16,15,16],"autouv":0,"color":7,"origin":[0,0,0],"faces":{"north":{"uv":[16,0,32,2],"texture":7},"east":{"uv":[16,2,32,4],"texture":7},"south":{"uv":[16,4,32,6],"texture":7},"west":{"uv":[16,6,32,8],"texture":7},"up":{"uv":[16,16,0,0],"texture":7},"down":{"uv":[16,16,0,32],"texture":7}},"type":"cube","uuid":"224bdbfd-2d95-8b9a-2a08-f86133d51e8a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,4,0],"to":[15,7,0],"autouv":0,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,28,6],"texture":4},"east":{"uv":[0,0,0,6],"texture":4},"south":{"uv":[0,6,28,12],"texture":4},"west":{"uv":[0,0,0,6],"texture":4},"up":{"uv":[28,0,0,0],"texture":4},"down":{"uv":[28,0,0,0],"texture":4}},"type":"cube","uuid":"8b9f9339-9ef0-1317-599d-c83abdca6959"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1,4,16],"to":[15,7,16],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,28,6],"texture":4},"east":{"uv":[0,0,0,6],"texture":4},"south":{"uv":[0,0,28,6],"texture":4},"west":{"uv":[0,0,0,6],"texture":4},"up":{"uv":[0,0,28,0],"texture":4},"down":{"uv":[0,0,28,0],"texture":4}},"type":"cube","uuid":"0729d88c-8dfd-a0a3-84f7-37e79182bc77"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0,4,1],"to":[0,7,15],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,0,6],"texture":4},"east":{"uv":[0,0,28,6],"texture":4},"south":{"uv":[0,0,0,6],"texture":4},"west":{"uv":[0,0,28,6],"texture":4},"up":{"uv":[0,0,0,28],"texture":4},"down":{"uv":[0,0,0,28],"texture":4}},"type":"cube","uuid":"9a8fb6af-9f95-4eb8-3463-132384cd30f4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[16,4,1],"to":[16,7,15],"autouv":1,"color":0,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,0,6],"texture":4},"east":{"uv":[0,0,28,6],"texture":4},"south":{"uv":[0,0,0,6],"texture":4},"west":{"uv":[0,0,28,6],"texture":4},"up":{"uv":[0,0,0,28],"texture":4},"down":{"uv":[0,0,0,28],"texture":4}},"type":"cube","uuid":"cae874c0-2f12-9943-3ff7-eae17c6d527b"}],"outliner":["37a9b9db-2dc6-d822-879d-c9fc22abbe2f",{"name":"底四角","origin":[0,0,0],"color":0,"uuid":"8a2bf3a1-23ac-3cdc-0110-c582e582d233","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"四角柱","origin":[0,0,0],"color":0,"uuid":"df903c0c-674b-12f0-27f9-67c944c2a29a","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["d6798fc5-08fa-ebbb-b4dd-6451b12deebf","b7916b01-6174-a199-6768-9b7ab5276a16","38749677-c9fe-3f67-7b77-748faed99151","c7a589cc-7f9f-e9f0-b653-f18a2ee58733"]},{"name":"四角壁","origin":[0,0,0],"color":0,"uuid":"fbacfeb1-a1cf-b0f1-826e-b053c182e9e7","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["e0c0884a-c02c-f7a0-b74e-2925241d7ac8","09fcad0f-7d9a-a0b9-3ba7-1899b3cbac28","ffdcb222-b61b-143a-665f-9ce890821880","07b02425-fd96-dd62-1015-c07a6e047912"]}]},"0a4ae906-9986-e137-0408-b7d3ffda8deb",{"name":"岩浆遮罩","origin":[0,0,0],"color":0,"uuid":"5b5f6b8b-6f47-aee5-7cb3-c72eb4f53753","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["8b9f9339-9ef0-1317-599d-c83abdca6959","0729d88c-8dfd-a0a3-84f7-37e79182bc77","9a8fb6af-9f95-4eb8-3463-132384cd30f4","cae874c0-2f12-9943-3ff7-eae17c6d527b"]},"b638d391-bc7d-7d87-c29a-d0caa78d0599",{"name":"上四角","origin":[8,8,8],"color":0,"uuid":"f059b078-9608-0cda-b29e-09ba8c2d83c3","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["d3516c6c-776f-c88f-8578-3b023f694fc1","26176011-985f-d6cc-cecd-d71cec332b90","736be20d-bb6d-f3ad-6a72-9c4385fc04aa","b9ab93a2-1b26-b92f-3837-ee5af75cafc6"]},"224bdbfd-2d95-8b9a-2a08-f86133d51e8a"],"textures":[{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\底部.png","name":"底部.png","folder":"","namespace":"","id":"0","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"2b280efd-9d0f-f215-6dcf-636d6fec1ac7","relative_path":"../底部.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAENJREFUWEft0kENACAMBEEqADvI44E87FQAiOiDkMwp2Ewu+hynPVwI+F4g147KhcofEECAAAECBAgQIECAAAECVYELTmZ3IZkf+vIAAAAASUVORK5CYII="},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\四角柱.png","name":"四角柱.png","folder":"","namespace":"","id":"1","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"761cd3c2-066a-2ab8-f4b3-9e98bc74910c","relative_path":"../四角柱.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADZJREFUOE9jjI1P+M+ABhYvXMCILoaLz0h1A0ixHeQqDBcMQQOIDW2csTBqAAPRSXY0EHGnFgBuTxgR5QppLwAAAABJRU5ErkJggg=="},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\四角壁.png","name":"四角壁.png","folder":"","namespace":"","id":"2","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1d065378-69a1-301f-b6f9-e4c0abc83e8a","relative_path":"../四角壁.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jlJKS/s9ABnj27CkjSBvjqAHDKgxg8UpqkoCng4E1gFzb4Ul5YA0gNdTR1YOzJCUAAJ2fOBFm/KRqAAAAAElFTkSuQmCC"},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\岩浆.png","name":"岩浆.png","folder":"","namespace":"","id":"3","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"bbe1f3f9-7494-8cc7-8d82-f1cf77f793fa","relative_path":"../岩浆.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAVhJREFUWEftl8sRwjAMROMCaIMiOFAXJVAZNxqgDQqAMSAiNivJmZHgApdkbCM/a/Vx2nk/3abXb7uTt/l5OT3f9Vwfw7Wj6zbHqeldWgfoxrQBNKY39Oa6YYST9XKIBcD1MHsAF4tBTaxhmWeiMdMDsgk77YgE3um1XBQAN9AweHrciMXDMpJmaUwJLEMyruVhwFYMYcy4ACwbogAUGAtwdRCKXl5AWinopbPMrZLAS000xHQfGWs9DdlpraiW05cBIDVKUgJgpQ0LsHQAKcXM5RosSqcRvdmady/QZRd7A/tjagxE9KxIlQB4ZbVMAuyGI32+eyzNAzoIMei8S0gqAKablfsaMA1AJBithlZNjwLZmn+UYt3/2b3wJ2kY3f3SJYgqIXqhDMC67aA0JQBWC2ZQaQDyYWJ9lFi14CsAX+mGOg3X5HKaB9ZsWrH240OxYoPI5h/gDvxV7iEBCf/YAAAAAElFTkSuQmCC"},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\岩浆遮罩.png","name":"岩浆遮罩.png","folder":"","namespace":"","id":"4","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"d5e02ebc-8378-46f5-b6e5-16daa367f91f","relative_path":"../岩浆遮罩.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAACxJREFUOE9j3HFtpiQDGcBDK/05SBvjqAFUCAMyIgBFC+OoAQyjYcBAeRgAAOc5GBGr/cEvAAAAAElFTkSuQmCC"},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\隔层.png","name":"隔层.png","folder":"","namespace":"","id":"5","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1e7c5988-38a3-be85-02a3-8f9fae3a678e","relative_path":"../隔层.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAD9JREFUWEft0kENACAMBEFqo/iXRm1QEX0QkjkFm8lF5r7r4ULA9wJVJyYXGn9AAAECBAgQIECAAAECBAhMBRrScXVZ9hxCkwAAAABJRU5ErkJggg=="},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\上四角.png","name":"上四角.png","folder":"","namespace":"","id":"6","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"48501edb-75e5-55e2-ca96-efddafe0ef98","relative_path":"../上四角.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADlJREFUOE9jLC0r/89AAHR3dTLiUsI4agAD7cMAXwyAYoagCwbOAEI2wxIWzhRGKHWOGoAIIYoDEQB0ligR1rgyqwAAAABJRU5ErkJggg=="},{"path":"E:\\Project\\CompressedGrassReborn-Forge\\model\\GrassFurnace\\顶层.png","name":"顶层.png","folder":"","namespace":"","id":"7","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"c676e2f1-b970-fe47-894a-69bf06e63797","relative_path":"../顶层.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERJREFUWEdjFFxl8Z9hAAHjqANGQ2A0BIZ8CLwPO8FISTFCcTkw6oDREBgNgdEQGA2B0RAYDYHREBgNgdEQGA0BSkMAAAVAb7EyHSK3AAAAAElFTkSuQmCC"}],"display":{"thirdperson_righthand":{"translation":[0,2.25,2.25],"scale":[0.3,0.3,0.3]},"thirdperson_lefthand":{"rotation":[-90,0,0],"translation":[0,-2,-2.5],"scale":[0.3,0.3,0.3]},"ground":{"scale":[0.3,0.3,0.3]},"gui":{"scale":[0.7,0.7,0]},"fixed":{"scale":[0.7,0.7,0.7]}}} \ No newline at end of file diff --git a/model/GrassFurnace/GrassFurnace.json b/model/GrassFurnace/GrassFurnace.json new file mode 100644 index 00000000..1e2329d7 --- /dev/null +++ b/model/GrassFurnace/GrassFurnace.json @@ -0,0 +1,318 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "底部", + "1": "四角柱", + "2": "四角壁", + "3": "岩浆", + "4": "岩浆遮罩", + "5": "隔层", + "6": "上四角", + "7": "顶层", + "particle": "底部" + }, + "elements": [ + { + "name": "底部", + "from": [0, 0, 0], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [8, 0, 16, 0.5], "texture": "#0"}, + "east": {"uv": [8, 0.5, 16, 1], "texture": "#0"}, + "south": {"uv": [8, 1, 16, 1.5], "texture": "#0"}, + "west": {"uv": [8, 1.5, 16, 2], "texture": "#0"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#0"} + } + }, + { + "from": [0, 1, 0], + "to": [1, 7, 1], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [1, 0, 2, 6], "texture": "#1"}, + "south": {"uv": [2, 0, 3, 6], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 6], "texture": "#1"}, + "up": {"uv": [5, 1, 4, 0], "texture": "#1"}, + "down": {"uv": [5, 1, 4, 2], "texture": "#1"} + } + }, + { + "from": [0, 1, 15], + "to": [1, 7, 16], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [15, 1, 15], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [15, 1, 0], + "to": [16, 7, 1], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [1, 1, 0], + "to": [15, 4, 1], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "east": {"uv": [0, 8, 1, 11], "texture": "#2"}, + "south": {"uv": [0, 3, 14, 6], "texture": "#2"}, + "west": {"uv": [1, 8, 2, 11], "texture": "#2"}, + "up": {"uv": [14, 7, 0, 6], "texture": "#2"}, + "down": {"uv": [14, 7, 0, 8], "texture": "#2"} + } + }, + { + "from": [1, 1, 15], + "to": [15, 4, 16], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 14, 1], "texture": "#2"}, + "down": {"uv": [0, 0, 14, 1], "texture": "#2"} + } + }, + { + "from": [15, 1, 1], + "to": [16, 4, 15], + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 14], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 14], "texture": "#2"} + } + }, + { + "from": [0, 1, 1], + "to": [1, 4, 15], + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 14], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 14], "texture": "#2"} + } + }, + { + "name": "岩浆", + "from": [1, 2, 1], + "to": [15, 4, 15], + "faces": { + "north": {"uv": [7, 0, 14, 1], "texture": "#3"}, + "east": {"uv": [7, 1, 14, 2], "texture": "#3"}, + "south": {"uv": [7, 2, 14, 3], "texture": "#3"}, + "west": {"uv": [7, 3, 14, 4], "texture": "#3"}, + "up": {"uv": [7, 7, 0, 0], "texture": "#3"}, + "down": {"uv": [7, 7, 0, 14], "texture": "#3"} + } + }, + { + "from": [1, 4, 0], + "to": [15, 7, 0], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "south": {"uv": [0, 3, 14, 6], "texture": "#4"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "up": {"uv": [14, 0, 0, 0], "texture": "#4"}, + "down": {"uv": [14, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [1, 4, 16], + "to": [15, 7, 16], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 14, 0], "texture": "#4"}, + "down": {"uv": [0, 0, 14, 0], "texture": "#4"} + } + }, + { + "from": [0, 4, 1], + "to": [0, 7, 15], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 0, 14], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#4"} + } + }, + { + "from": [16, 4, 1], + "to": [16, 7, 15], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 0, 14], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#4"} + } + }, + { + "name": "隔层", + "from": [0, 7, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 0.5], "texture": "#5"}, + "east": {"uv": [8, 0.5, 16, 1], "texture": "#5"}, + "south": {"uv": [8, 1, 16, 1.5], "texture": "#5"}, + "west": {"uv": [8, 1.5, 16, 2], "texture": "#5"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#5"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#5"} + } + }, + { + "from": [0, 8, 0], + "to": [3, 13, 3], + "faces": { + "north": {"uv": [0, 0, 3, 5], "texture": "#6"}, + "east": {"uv": [3, 0, 6, 5], "texture": "#6"}, + "south": {"uv": [0, 5, 3, 10], "texture": "#6"}, + "west": {"uv": [3, 5, 6, 10], "texture": "#6"}, + "up": {"uv": [9, 3, 6, 0], "texture": "#6"}, + "down": {"uv": [9, 3, 6, 6], "texture": "#6"} + } + }, + { + "from": [13, 8, 0], + "to": [16, 13, 3], + "faces": { + "north": {"uv": [3, 0, 4.5, 2.5], "texture": "#6"}, + "east": {"uv": [3, 2.5, 4.5, 5], "texture": "#6"}, + "south": {"uv": [4.5, 0, 6, 2.5], "texture": "#6"}, + "west": {"uv": [4.5, 2.5, 6, 5], "texture": "#6"}, + "up": {"uv": [9, 3, 7.5, 1.5], "texture": "#6"}, + "down": {"uv": [4.5, 7.5, 3, 9], "texture": "#6"} + } + }, + { + "from": [13, 8, 13], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [0, 5, 1.5, 7.5], "texture": "#6"}, + "east": {"uv": [1.5, 5, 3, 7.5], "texture": "#6"}, + "south": {"uv": [3, 5, 4.5, 7.5], "texture": "#6"}, + "west": {"uv": [4.5, 5, 6, 7.5], "texture": "#6"}, + "up": {"uv": [9, 4.5, 7.5, 3], "texture": "#6"}, + "down": {"uv": [6, 7.5, 4.5, 9], "texture": "#6"} + } + }, + { + "from": [0, 8, 13], + "to": [3, 13, 16], + "faces": { + "north": {"uv": [6, 0, 7.5, 2.5], "texture": "#6"}, + "east": {"uv": [6, 2.5, 7.5, 5], "texture": "#6"}, + "south": {"uv": [6, 5, 7.5, 7.5], "texture": "#6"}, + "west": {"uv": [0, 7.5, 1.5, 10], "texture": "#6"}, + "up": {"uv": [9, 6, 7.5, 4.5], "texture": "#6"}, + "down": {"uv": [7.5, 7.5, 6, 9], "texture": "#6"} + } + }, + { + "name": "顶层", + "from": [0, 13, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [8, 0, 16, 1], "texture": "#7"}, + "east": {"uv": [8, 1, 16, 2], "texture": "#7"}, + "south": {"uv": [8, 2, 16, 3], "texture": "#7"}, + "west": {"uv": [8, 3, 16, 4], "texture": "#7"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#7"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#7"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 2.25, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, 0], + "translation": [0, -2, -2.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "scale": [0.7, 0.7, 0] + }, + "fixed": { + "scale": [0.7, 0.7, 0.7] + } + }, + "groups": [ + 0, + { + "name": "底四角", + "origin": [0, 0, 0], + "color": 0, + "children": [ + { + "name": "四角柱", + "origin": [0, 0, 0], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "四角壁", + "origin": [0, 0, 0], + "color": 0, + "children": [5, 6, 7, 8] + } + ] + }, + 9, + { + "name": "岩浆遮罩", + "origin": [0, 0, 0], + "color": 0, + "children": [10, 11, 12, 13] + }, + 14, + { + "name": "上四角", + "origin": [8, 8, 8], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19 + ] +} \ No newline at end of file diff --git a/model/GrassFurnace/texture/GrassFurnaceBottom.png b/model/GrassFurnace/texture/GrassFurnaceBottom.png new file mode 100644 index 00000000..c24702c7 Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceBottom.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceFourCornersBelow.png b/model/GrassFurnace/texture/GrassFurnaceFourCornersBelow.png new file mode 100644 index 00000000..d3917ed2 Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceFourCornersBelow.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceFourPillarsAbove.png b/model/GrassFurnace/texture/GrassFurnaceFourPillarsAbove.png new file mode 100644 index 00000000..e73ee2fd Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceFourPillarsAbove.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceFourWallsBelow.png b/model/GrassFurnace/texture/GrassFurnaceFourWallsBelow.png new file mode 100644 index 00000000..2ddac3f6 Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceFourWallsBelow.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceInterlayer.png b/model/GrassFurnace/texture/GrassFurnaceInterlayer.png new file mode 100644 index 00000000..0a30701c Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceInterlayer.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceLava.png b/model/GrassFurnace/texture/GrassFurnaceLava.png new file mode 100644 index 00000000..a87e1df4 Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceLava.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceLavaMask.png b/model/GrassFurnace/texture/GrassFurnaceLavaMask.png new file mode 100644 index 00000000..f3e66a5f Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceLavaMask.png differ diff --git a/model/GrassFurnace/texture/GrassFurnaceTop.png b/model/GrassFurnace/texture/GrassFurnaceTop.png new file mode 100644 index 00000000..0dd45dec Binary files /dev/null and b/model/GrassFurnace/texture/GrassFurnaceTop.png differ diff --git "a/model/GrassFurnace/\344\270\212\345\233\233\350\247\222.png" "b/model/GrassFurnace/\344\270\212\345\233\233\350\247\222.png" new file mode 100644 index 00000000..e73ee2fd Binary files /dev/null and "b/model/GrassFurnace/\344\270\212\345\233\233\350\247\222.png" differ diff --git "a/model/GrassFurnace/\345\233\233\350\247\222\345\243\201.png" "b/model/GrassFurnace/\345\233\233\350\247\222\345\243\201.png" new file mode 100644 index 00000000..2ddac3f6 Binary files /dev/null and "b/model/GrassFurnace/\345\233\233\350\247\222\345\243\201.png" differ diff --git "a/model/GrassFurnace/\345\233\233\350\247\222\346\237\261.png" "b/model/GrassFurnace/\345\233\233\350\247\222\346\237\261.png" new file mode 100644 index 00000000..d3917ed2 Binary files /dev/null and "b/model/GrassFurnace/\345\233\233\350\247\222\346\237\261.png" differ diff --git "a/model/GrassFurnace/\345\262\251\346\265\206.png" "b/model/GrassFurnace/\345\262\251\346\265\206.png" new file mode 100644 index 00000000..a87e1df4 Binary files /dev/null and "b/model/GrassFurnace/\345\262\251\346\265\206.png" differ diff --git "a/model/GrassFurnace/\345\262\251\346\265\206\351\201\256\347\275\251.png" "b/model/GrassFurnace/\345\262\251\346\265\206\351\201\256\347\275\251.png" new file mode 100644 index 00000000..f3e66a5f Binary files /dev/null and "b/model/GrassFurnace/\345\262\251\346\265\206\351\201\256\347\275\251.png" differ diff --git "a/model/GrassFurnace/\345\272\225\351\203\250.png" "b/model/GrassFurnace/\345\272\225\351\203\250.png" new file mode 100644 index 00000000..c24702c7 Binary files /dev/null and "b/model/GrassFurnace/\345\272\225\351\203\250.png" differ diff --git "a/model/GrassFurnace/\351\232\224\345\261\202.png" "b/model/GrassFurnace/\351\232\224\345\261\202.png" new file mode 100644 index 00000000..0a30701c Binary files /dev/null and "b/model/GrassFurnace/\351\232\224\345\261\202.png" differ diff --git "a/model/GrassFurnace/\351\241\266\345\261\202.png" "b/model/GrassFurnace/\351\241\266\345\261\202.png" new file mode 100644 index 00000000..0dd45dec Binary files /dev/null and "b/model/GrassFurnace/\351\241\266\345\261\202.png" differ diff --git a/models/grassfurnace.json b/models/grassfurnace.json new file mode 100644 index 00000000..1e2329d7 --- /dev/null +++ b/models/grassfurnace.json @@ -0,0 +1,318 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "底部", + "1": "四角柱", + "2": "四角壁", + "3": "岩浆", + "4": "岩浆遮罩", + "5": "隔层", + "6": "上四角", + "7": "顶层", + "particle": "底部" + }, + "elements": [ + { + "name": "底部", + "from": [0, 0, 0], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [8, 0, 16, 0.5], "texture": "#0"}, + "east": {"uv": [8, 0.5, 16, 1], "texture": "#0"}, + "south": {"uv": [8, 1, 16, 1.5], "texture": "#0"}, + "west": {"uv": [8, 1.5, 16, 2], "texture": "#0"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#0"} + } + }, + { + "from": [0, 1, 0], + "to": [1, 7, 1], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [1, 0, 2, 6], "texture": "#1"}, + "south": {"uv": [2, 0, 3, 6], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 6], "texture": "#1"}, + "up": {"uv": [5, 1, 4, 0], "texture": "#1"}, + "down": {"uv": [5, 1, 4, 2], "texture": "#1"} + } + }, + { + "from": [0, 1, 15], + "to": [1, 7, 16], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [15, 1, 15], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [15, 1, 0], + "to": [16, 7, 1], + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#1"} + } + }, + { + "from": [1, 1, 0], + "to": [15, 4, 1], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "east": {"uv": [0, 8, 1, 11], "texture": "#2"}, + "south": {"uv": [0, 3, 14, 6], "texture": "#2"}, + "west": {"uv": [1, 8, 2, 11], "texture": "#2"}, + "up": {"uv": [14, 7, 0, 6], "texture": "#2"}, + "down": {"uv": [14, 7, 0, 8], "texture": "#2"} + } + }, + { + "from": [1, 1, 15], + "to": [15, 4, 16], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 14, 1], "texture": "#2"}, + "down": {"uv": [0, 0, 14, 1], "texture": "#2"} + } + }, + { + "from": [15, 1, 1], + "to": [16, 4, 15], + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 14], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 14], "texture": "#2"} + } + }, + { + "from": [0, 1, 1], + "to": [1, 4, 15], + "faces": { + "north": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 14], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 14], "texture": "#2"} + } + }, + { + "name": "岩浆", + "from": [1, 2, 1], + "to": [15, 4, 15], + "faces": { + "north": {"uv": [7, 0, 14, 1], "texture": "#3"}, + "east": {"uv": [7, 1, 14, 2], "texture": "#3"}, + "south": {"uv": [7, 2, 14, 3], "texture": "#3"}, + "west": {"uv": [7, 3, 14, 4], "texture": "#3"}, + "up": {"uv": [7, 7, 0, 0], "texture": "#3"}, + "down": {"uv": [7, 7, 0, 14], "texture": "#3"} + } + }, + { + "from": [1, 4, 0], + "to": [15, 7, 0], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "south": {"uv": [0, 3, 14, 6], "texture": "#4"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "up": {"uv": [14, 0, 0, 0], "texture": "#4"}, + "down": {"uv": [14, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [1, 4, 16], + "to": [15, 7, 16], + "faces": { + "north": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 14, 0], "texture": "#4"}, + "down": {"uv": [0, 0, 14, 0], "texture": "#4"} + } + }, + { + "from": [0, 4, 1], + "to": [0, 7, 15], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 0, 14], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#4"} + } + }, + { + "from": [16, 4, 1], + "to": [16, 7, 15], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "east": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#4"}, + "west": {"uv": [0, 0, 14, 3], "texture": "#4"}, + "up": {"uv": [0, 0, 0, 14], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#4"} + } + }, + { + "name": "隔层", + "from": [0, 7, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 0.5], "texture": "#5"}, + "east": {"uv": [8, 0.5, 16, 1], "texture": "#5"}, + "south": {"uv": [8, 1, 16, 1.5], "texture": "#5"}, + "west": {"uv": [8, 1.5, 16, 2], "texture": "#5"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#5"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#5"} + } + }, + { + "from": [0, 8, 0], + "to": [3, 13, 3], + "faces": { + "north": {"uv": [0, 0, 3, 5], "texture": "#6"}, + "east": {"uv": [3, 0, 6, 5], "texture": "#6"}, + "south": {"uv": [0, 5, 3, 10], "texture": "#6"}, + "west": {"uv": [3, 5, 6, 10], "texture": "#6"}, + "up": {"uv": [9, 3, 6, 0], "texture": "#6"}, + "down": {"uv": [9, 3, 6, 6], "texture": "#6"} + } + }, + { + "from": [13, 8, 0], + "to": [16, 13, 3], + "faces": { + "north": {"uv": [3, 0, 4.5, 2.5], "texture": "#6"}, + "east": {"uv": [3, 2.5, 4.5, 5], "texture": "#6"}, + "south": {"uv": [4.5, 0, 6, 2.5], "texture": "#6"}, + "west": {"uv": [4.5, 2.5, 6, 5], "texture": "#6"}, + "up": {"uv": [9, 3, 7.5, 1.5], "texture": "#6"}, + "down": {"uv": [4.5, 7.5, 3, 9], "texture": "#6"} + } + }, + { + "from": [13, 8, 13], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [0, 5, 1.5, 7.5], "texture": "#6"}, + "east": {"uv": [1.5, 5, 3, 7.5], "texture": "#6"}, + "south": {"uv": [3, 5, 4.5, 7.5], "texture": "#6"}, + "west": {"uv": [4.5, 5, 6, 7.5], "texture": "#6"}, + "up": {"uv": [9, 4.5, 7.5, 3], "texture": "#6"}, + "down": {"uv": [6, 7.5, 4.5, 9], "texture": "#6"} + } + }, + { + "from": [0, 8, 13], + "to": [3, 13, 16], + "faces": { + "north": {"uv": [6, 0, 7.5, 2.5], "texture": "#6"}, + "east": {"uv": [6, 2.5, 7.5, 5], "texture": "#6"}, + "south": {"uv": [6, 5, 7.5, 7.5], "texture": "#6"}, + "west": {"uv": [0, 7.5, 1.5, 10], "texture": "#6"}, + "up": {"uv": [9, 6, 7.5, 4.5], "texture": "#6"}, + "down": {"uv": [7.5, 7.5, 6, 9], "texture": "#6"} + } + }, + { + "name": "顶层", + "from": [0, 13, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [8, 0, 16, 1], "texture": "#7"}, + "east": {"uv": [8, 1, 16, 2], "texture": "#7"}, + "south": {"uv": [8, 2, 16, 3], "texture": "#7"}, + "west": {"uv": [8, 3, 16, 4], "texture": "#7"}, + "up": {"uv": [8, 8, 0, 0], "texture": "#7"}, + "down": {"uv": [8, 8, 0, 16], "texture": "#7"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 2.25, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, 0], + "translation": [0, -2, -2.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "scale": [0.7, 0.7, 0] + }, + "fixed": { + "scale": [0.7, 0.7, 0.7] + } + }, + "groups": [ + 0, + { + "name": "底四角", + "origin": [0, 0, 0], + "color": 0, + "children": [ + { + "name": "四角柱", + "origin": [0, 0, 0], + "color": 0, + "children": [1, 2, 3, 4] + }, + { + "name": "四角壁", + "origin": [0, 0, 0], + "color": 0, + "children": [5, 6, 7, 8] + } + ] + }, + 9, + { + "name": "岩浆遮罩", + "origin": [0, 0, 0], + "color": 0, + "children": [10, 11, 12, 13] + }, + 14, + { + "name": "上四角", + "origin": [8, 8, 8], + "color": 0, + "children": [15, 16, 17, 18] + }, + 19 + ] +} \ No newline at end of file diff --git a/models/grassfurnace.json.textures b/models/grassfurnace.json.textures new file mode 100644 index 00000000..d670651e --- /dev/null +++ b/models/grassfurnace.json.textures @@ -0,0 +1,17 @@ +{ + "mappings": { + "default": { + "map": { + "0": "grassfurnacebottom", + "1": "grassfurnacefourcornersbelow", + "2": "grassfurnacefourwallsbelow", + "3": "grassfurnacelava", + "4": "grassfurnacelavamask", + "5": "grassfurnaceinterlayer", + "6": "grassfurnacefourpillarsabove", + "7": "grassfurnacetop" + }, + "name": "default" + } + } +} \ No newline at end of file diff --git a/src/main/java/net/mcreator/compressedgrass/block/GrassFurnaceBlock.java b/src/main/java/net/mcreator/compressedgrass/block/GrassFurnaceBlock.java new file mode 100644 index 00000000..7d583bb2 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/block/GrassFurnaceBlock.java @@ -0,0 +1,137 @@ + +package net.mcreator.compressedgrass.block; + +import net.minecraftforge.network.NetworkHooks; + +import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.material.Material; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.EntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.MenuProvider; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.Containers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.chat.Component; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.BlockPos; + +import net.mcreator.compressedgrass.world.inventory.GrassFurnaceGuiMenu; +import net.mcreator.compressedgrass.block.entity.GrassFurnaceBlockEntity; + +import java.util.List; +import java.util.Collections; + +import io.netty.buffer.Unpooled; + +public class GrassFurnaceBlock extends Block implements EntityBlock { + public GrassFurnaceBlock() { + super(BlockBehaviour.Properties.of(Material.STONE).sound(SoundType.GRAVEL).strength(1f, 10f).noOcclusion().isRedstoneConductor((bs, br, bp) -> false)); + } + + @Override + public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) { + return true; + } + + @Override + public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) { + return 0; + } + + @Override + public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { + return Shapes.empty(); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { + return Shapes.or(box(0, 0, 0, 16, 1, 16), box(0, 1, 0, 1, 7, 1), box(0, 1, 15, 1, 7, 16), box(15, 1, 15, 16, 7, 16), box(15, 1, 0, 16, 7, 1), box(1, 1, 0, 15, 4, 1), box(1, 1, 15, 15, 4, 16), box(15, 1, 1, 16, 4, 15), box(0, 1, 1, 1, 4, 15), + box(1, 2, 1, 15, 4, 15), box(0, 7, 0, 16, 8, 16), box(0, 8, 0, 3, 13, 3), box(13, 8, 0, 16, 13, 3), box(13, 8, 13, 16, 13, 16), box(0, 8, 13, 3, 13, 16), box(0, 13, 0, 16, 15, 16)); + } + + @Override + public List getDrops(BlockState state, LootContext.Builder builder) { + List dropsOriginal = super.getDrops(state, builder); + if (!dropsOriginal.isEmpty()) + return dropsOriginal; + return Collections.singletonList(new ItemStack(this, 1)); + } + + @Override + public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) { + super.use(blockstate, world, pos, entity, hand, hit); + if (entity instanceof ServerPlayer player) { + NetworkHooks.openScreen(player, new MenuProvider() { + @Override + public Component getDisplayName() { + return Component.literal("Grass Furnace"); + } + + @Override + public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) { + return new GrassFurnaceGuiMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos)); + } + }, pos); + } + return InteractionResult.SUCCESS; + } + + @Override + public MenuProvider getMenuProvider(BlockState state, Level worldIn, BlockPos pos) { + BlockEntity tileEntity = worldIn.getBlockEntity(pos); + return tileEntity instanceof MenuProvider menuProvider ? menuProvider : null; + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new GrassFurnaceBlockEntity(pos, state); + } + + @Override + public boolean triggerEvent(BlockState state, Level world, BlockPos pos, int eventID, int eventParam) { + super.triggerEvent(state, world, pos, eventID, eventParam); + BlockEntity blockEntity = world.getBlockEntity(pos); + return blockEntity == null ? false : blockEntity.triggerEvent(eventID, eventParam); + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.getBlock() != newState.getBlock()) { + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity instanceof GrassFurnaceBlockEntity be) { + Containers.dropContents(world, pos, be); + world.updateNeighbourForOutputSignal(pos, this); + } + super.onRemove(state, world, pos, newState, isMoving); + } + } + + @Override + public boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + public int getAnalogOutputSignal(BlockState blockState, Level world, BlockPos pos) { + BlockEntity tileentity = world.getBlockEntity(pos); + if (tileentity instanceof GrassFurnaceBlockEntity be) + return AbstractContainerMenu.getRedstoneSignalFromContainer(be); + else + return 0; + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/block/GrassOreOreBlock.java b/src/main/java/net/mcreator/compressedgrass/block/GrassOreOreBlock.java index f16a7fbd..2ae2b756 100644 --- a/src/main/java/net/mcreator/compressedgrass/block/GrassOreOreBlock.java +++ b/src/main/java/net/mcreator/compressedgrass/block/GrassOreOreBlock.java @@ -13,14 +13,12 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.core.BlockPos; -import net.mcreator.compressedgrass.init.CompressedGrassModItems; - import java.util.List; import java.util.Collections; public class GrassOreOreBlock extends Block { public GrassOreOreBlock() { - super(BlockBehaviour.Properties.of(Material.STONE).sound(SoundType.STONE).strength(9f, 12.0411234264f).requiresCorrectToolForDrops()); + super(BlockBehaviour.Properties.of(Material.STONE).sound(SoundType.STONE).strength(9f, 7f).requiresCorrectToolForDrops()); } @Override @@ -40,6 +38,6 @@ public List getDrops(BlockState state, LootContext.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(CompressedGrassModItems.GRASS_ORE_INGOT.get())); + return Collections.singletonList(new ItemStack(this, 1)); } } diff --git a/src/main/java/net/mcreator/compressedgrass/block/entity/GrassFurnaceBlockEntity.java b/src/main/java/net/mcreator/compressedgrass/block/entity/GrassFurnaceBlockEntity.java new file mode 100644 index 00000000..0110603f --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/block/entity/GrassFurnaceBlockEntity.java @@ -0,0 +1,143 @@ +package net.mcreator.compressedgrass.block.entity; + +import net.minecraftforge.items.wrapper.SidedInvWrapper; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.minecraftforge.common.capabilities.Capability; + +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.WorldlyContainer; +import net.minecraft.world.ContainerHelper; +import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; +import net.minecraft.network.chat.Component; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.NonNullList; +import net.minecraft.core.Direction; +import net.minecraft.core.BlockPos; + +import net.mcreator.compressedgrass.world.inventory.GrassFurnaceGuiMenu; +import net.mcreator.compressedgrass.init.CompressedGrassModBlockEntities; + +import javax.annotation.Nullable; + +import java.util.stream.IntStream; + +import io.netty.buffer.Unpooled; + +public class GrassFurnaceBlockEntity extends RandomizableContainerBlockEntity implements WorldlyContainer { + private NonNullList stacks = NonNullList.withSize(3, ItemStack.EMPTY); + private final LazyOptional[] handlers = SidedInvWrapper.create(this, Direction.values()); + + public GrassFurnaceBlockEntity(BlockPos position, BlockState state) { + super(CompressedGrassModBlockEntities.GRASS_FURNACE.get(), position, state); + } + + @Override + public void load(CompoundTag compound) { + super.load(compound); + if (!this.tryLoadLootTable(compound)) + this.stacks = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY); + ContainerHelper.loadAllItems(compound, this.stacks); + } + + @Override + public void saveAdditional(CompoundTag compound) { + super.saveAdditional(compound); + if (!this.trySaveLootTable(compound)) { + ContainerHelper.saveAllItems(compound, this.stacks); + } + } + + @Override + public ClientboundBlockEntityDataPacket getUpdatePacket() { + return ClientboundBlockEntityDataPacket.create(this); + } + + @Override + public CompoundTag getUpdateTag() { + return this.saveWithFullMetadata(); + } + + @Override + public int getContainerSize() { + return stacks.size(); + } + + @Override + public boolean isEmpty() { + for (ItemStack itemstack : this.stacks) + if (!itemstack.isEmpty()) + return false; + return true; + } + + @Override + public Component getDefaultName() { + return Component.literal("grass_furnace"); + } + + @Override + public int getMaxStackSize() { + return 64; + } + + @Override + public AbstractContainerMenu createMenu(int id, Inventory inventory) { + return new GrassFurnaceGuiMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(this.worldPosition)); + } + + @Override + public Component getDisplayName() { + return Component.literal("Grass Furnace"); + } + + @Override + protected NonNullList getItems() { + return this.stacks; + } + + @Override + protected void setItems(NonNullList stacks) { + this.stacks = stacks; + } + + @Override + public boolean canPlaceItem(int index, ItemStack stack) { + return true; + } + + @Override + public int[] getSlotsForFace(Direction side) { + return IntStream.range(0, this.getContainerSize()).toArray(); + } + + @Override + public boolean canPlaceItemThroughFace(int index, ItemStack stack, @Nullable Direction direction) { + return this.canPlaceItem(index, stack); + } + + @Override + public boolean canTakeItemThroughFace(int index, ItemStack stack, Direction direction) { + return true; + } + + @Override + public LazyOptional getCapability(Capability capability, @Nullable Direction facing) { + if (!this.remove && facing != null && capability == ForgeCapabilities.ITEM_HANDLER) + return handlers[facing.ordinal()].cast(); + return super.getCapability(capability, facing); + } + + @Override + public void setRemoved() { + super.setRemoved(); + for (LazyOptional handler : handlers) + handler.invalidate(); + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/client/gui/GrassFurnaceGuiScreen.java b/src/main/java/net/mcreator/compressedgrass/client/gui/GrassFurnaceGuiScreen.java new file mode 100644 index 00000000..71c7eed9 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/client/gui/GrassFurnaceGuiScreen.java @@ -0,0 +1,80 @@ +package net.mcreator.compressedgrass.client.gui; + +import net.minecraft.world.level.Level; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.network.chat.Component; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; + +import net.mcreator.compressedgrass.world.inventory.GrassFurnaceGuiMenu; + +import java.util.HashMap; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.systems.RenderSystem; + +public class GrassFurnaceGuiScreen extends AbstractContainerScreen { + private final static HashMap guistate = GrassFurnaceGuiMenu.guistate; + private final Level world; + private final int x, y, z; + private final Player entity; + + public GrassFurnaceGuiScreen(GrassFurnaceGuiMenu container, Inventory inventory, Component text) { + super(container, inventory, text); + this.world = container.world; + this.x = container.x; + this.y = container.y; + this.z = container.z; + this.entity = container.entity; + this.imageWidth = 176; + this.imageHeight = 166; + } + + private static final ResourceLocation texture = new ResourceLocation("compressed_grass:textures/screens/grass_furnace_gui.png"); + + @Override + public void render(PoseStack ms, int mouseX, int mouseY, float partialTicks) { + this.renderBackground(ms); + super.render(ms, mouseX, mouseY, partialTicks); + this.renderTooltip(ms, mouseX, mouseY); + } + + @Override + protected void renderBg(PoseStack ms, float partialTicks, int gx, int gy) { + RenderSystem.setShaderColor(1, 1, 1, 1); + RenderSystem.enableBlend(); + RenderSystem.defaultBlendFunc(); + RenderSystem.setShaderTexture(0, texture); + this.blit(ms, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight); + RenderSystem.disableBlend(); + } + + @Override + public boolean keyPressed(int key, int b, int c) { + if (key == 256) { + this.minecraft.player.closeContainer(); + return true; + } + return super.keyPressed(key, b, c); + } + + @Override + public void containerTick() { + super.containerTick(); + } + + @Override + protected void renderLabels(PoseStack poseStack, int mouseX, int mouseY) { + } + + @Override + public void onClose() { + super.onClose(); + } + + @Override + public void init() { + super.init(); + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlockEntities.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlockEntities.java index bfded653..f803e79b 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlockEntities.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlockEntities.java @@ -11,12 +11,14 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.Block; +import net.mcreator.compressedgrass.block.entity.GrassFurnaceBlockEntity; import net.mcreator.compressedgrass.block.entity.GrassChestBlockEntity; import net.mcreator.compressedgrass.CompressedGrassMod; public class CompressedGrassModBlockEntities { public static final DeferredRegister> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, CompressedGrassMod.MODID); public static final RegistryObject> GRASS_CHEST = register("grass_chest", CompressedGrassModBlocks.GRASS_CHEST, GrassChestBlockEntity::new); + public static final RegistryObject> GRASS_FURNACE = register("grass_furnace", CompressedGrassModBlocks.GRASS_FURNACE, GrassFurnaceBlockEntity::new); private static RegistryObject> register(String registryname, RegistryObject block, BlockEntityType.BlockEntitySupplier supplier) { return REGISTRY.register(registryname, () -> BlockEntityType.Builder.of(supplier, block.get()).build(null)); diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlocks.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlocks.java index 39de4070..e7cc5531 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlocks.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModBlocks.java @@ -22,6 +22,7 @@ import net.mcreator.compressedgrass.block.GrassWoodButtonBlock; import net.mcreator.compressedgrass.block.GrassOreOreBlock; import net.mcreator.compressedgrass.block.GrassOreBlockBlock; +import net.mcreator.compressedgrass.block.GrassFurnaceBlock; import net.mcreator.compressedgrass.block.GrassChestBlock; import net.mcreator.compressedgrass.CompressedGrassMod; @@ -40,4 +41,5 @@ public class CompressedGrassModBlocks { public static final RegistryObject GRASS_WOOD_PRESSURE_PLATE = REGISTRY.register("grass_wood_pressure_plate", () -> new GrassWoodPressurePlateBlock()); public static final RegistryObject GRASS_WOOD_BUTTON = REGISTRY.register("grass_wood_button", () -> new GrassWoodButtonBlock()); public static final RegistryObject GRASS_CHEST = REGISTRY.register("grass_chest", () -> new GrassChestBlock()); + public static final RegistryObject GRASS_FURNACE = REGISTRY.register("grass_furnace", () -> new GrassFurnaceBlock()); } diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModItems.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModItems.java index 2cbc49e6..7d1d5c62 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModItems.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModItems.java @@ -13,8 +13,11 @@ import net.minecraft.world.item.BlockItem; import net.mcreator.compressedgrass.item.TertiaryCompressedGrassItem; +import net.mcreator.compressedgrass.item.TertiaryCompressedGrassArmorArmorItem; import net.mcreator.compressedgrass.item.SecondaryCompressedGrassItem; +import net.mcreator.compressedgrass.item.SecondaryCompressedGrassArmorArmorItem; import net.mcreator.compressedgrass.item.QuaternaryCompressedGrassItem; +import net.mcreator.compressedgrass.item.QuaternaryCompressedGrassArmorArmorItem; import net.mcreator.compressedgrass.item.PrimaryCompressedGrassItem; import net.mcreator.compressedgrass.item.PrimaryArmorItem; import net.mcreator.compressedgrass.item.GrassSwordItem; @@ -59,6 +62,19 @@ public class CompressedGrassModItems { public static final RegistryObject PRIMARY_ARMOR_LEGGINGS = REGISTRY.register("primary_armor_leggings", () -> new PrimaryArmorItem.Leggings()); public static final RegistryObject PRIMARY_ARMOR_BOOTS = REGISTRY.register("primary_armor_boots", () -> new PrimaryArmorItem.Boots()); public static final RegistryObject GRASS_CHEST = block(CompressedGrassModBlocks.GRASS_CHEST); + public static final RegistryObject SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET = REGISTRY.register("secondary_compressed_grass_armor_armor_helmet", () -> new SecondaryCompressedGrassArmorArmorItem.Helmet()); + public static final RegistryObject SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE = REGISTRY.register("secondary_compressed_grass_armor_armor_chestplate", () -> new SecondaryCompressedGrassArmorArmorItem.Chestplate()); + public static final RegistryObject SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS = REGISTRY.register("secondary_compressed_grass_armor_armor_leggings", () -> new SecondaryCompressedGrassArmorArmorItem.Leggings()); + public static final RegistryObject SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS = REGISTRY.register("secondary_compressed_grass_armor_armor_boots", () -> new SecondaryCompressedGrassArmorArmorItem.Boots()); + public static final RegistryObject TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET = REGISTRY.register("tertiary_compressed_grass_armor_armor_helmet", () -> new TertiaryCompressedGrassArmorArmorItem.Helmet()); + public static final RegistryObject TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE = REGISTRY.register("tertiary_compressed_grass_armor_armor_chestplate", () -> new TertiaryCompressedGrassArmorArmorItem.Chestplate()); + public static final RegistryObject TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS = REGISTRY.register("tertiary_compressed_grass_armor_armor_leggings", () -> new TertiaryCompressedGrassArmorArmorItem.Leggings()); + public static final RegistryObject TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS = REGISTRY.register("tertiary_compressed_grass_armor_armor_boots", () -> new TertiaryCompressedGrassArmorArmorItem.Boots()); + public static final RegistryObject GRASS_FURNACE = block(CompressedGrassModBlocks.GRASS_FURNACE); + public static final RegistryObject QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET = REGISTRY.register("quaternary_compressed_grass_armor_armor_helmet", () -> new QuaternaryCompressedGrassArmorArmorItem.Helmet()); + public static final RegistryObject QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE = REGISTRY.register("quaternary_compressed_grass_armor_armor_chestplate", () -> new QuaternaryCompressedGrassArmorArmorItem.Chestplate()); + public static final RegistryObject QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS = REGISTRY.register("quaternary_compressed_grass_armor_armor_leggings", () -> new QuaternaryCompressedGrassArmorArmorItem.Leggings()); + public static final RegistryObject QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS = REGISTRY.register("quaternary_compressed_grass_armor_armor_boots", () -> new QuaternaryCompressedGrassArmorArmorItem.Boots()); private static RegistryObject block(RegistryObject block) { return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties())); diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModMenus.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModMenus.java index 900ccf29..c0d3f676 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModMenus.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModMenus.java @@ -11,10 +11,12 @@ import net.minecraft.world.inventory.MenuType; +import net.mcreator.compressedgrass.world.inventory.GrassFurnaceGuiMenu; import net.mcreator.compressedgrass.world.inventory.GrassChestGuiMenu; import net.mcreator.compressedgrass.CompressedGrassMod; public class CompressedGrassModMenus { public static final DeferredRegister> REGISTRY = DeferredRegister.create(ForgeRegistries.MENU_TYPES, CompressedGrassMod.MODID); public static final RegistryObject> GRASS_CHEST_GUI = REGISTRY.register("grass_chest_gui", () -> IForgeMenuType.create(GrassChestGuiMenu::new)); + public static final RegistryObject> GRASS_FURNACE_GUI = REGISTRY.register("grass_furnace_gui", () -> IForgeMenuType.create(GrassFurnaceGuiMenu::new)); } diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModScreens.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModScreens.java index fa92c6c6..769b9077 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModScreens.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModScreens.java @@ -11,6 +11,7 @@ import net.minecraft.client.gui.screens.MenuScreens; +import net.mcreator.compressedgrass.client.gui.GrassFurnaceGuiScreen; import net.mcreator.compressedgrass.client.gui.GrassChestGuiScreen; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) @@ -19,6 +20,7 @@ public class CompressedGrassModScreens { public static void clientLoad(FMLClientSetupEvent event) { event.enqueueWork(() -> { MenuScreens.register(CompressedGrassModMenus.GRASS_CHEST_GUI.get(), GrassChestGuiScreen::new); + MenuScreens.register(CompressedGrassModMenus.GRASS_FURNACE_GUI.get(), GrassFurnaceGuiScreen::new); }); } } diff --git a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModTabs.java b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModTabs.java index d9dd8f9d..6a57861e 100644 --- a/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModTabs.java +++ b/src/main/java/net/mcreator/compressedgrass/init/CompressedGrassModTabs.java @@ -24,13 +24,6 @@ public static void buildTabContentsVanilla(CreativeModeTabEvent.BuildContents ta tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_PRESSURE_PLATE.get().asItem()); } - if (tabData.getTab() == CreativeModeTabs.COMBAT) { - tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_HELMET.get()); - tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_CHESTPLATE.get()); - tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_LEGGINGS.get()); - tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_BOOTS.get()); - } - if (tabData.getTab() == CreativeModeTabs.NATURAL_BLOCKS) { tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_LEAVES.get().asItem()); tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_FENCE.get().asItem()); @@ -63,7 +56,24 @@ public static void buildTabContentsModded(CreativeModeTabEvent.Register event) { tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_STAIRS.get().asItem()); tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_SLAB.get().asItem()); tabData.accept(CompressedGrassModBlocks.GRASS_WOOD_BUTTON.get().asItem()); + tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_HELMET.get()); + tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_CHESTPLATE.get()); + tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_LEGGINGS.get()); + tabData.accept(CompressedGrassModItems.PRIMARY_ARMOR_BOOTS.get()); tabData.accept(CompressedGrassModBlocks.GRASS_CHEST.get().asItem()); + tabData.accept(CompressedGrassModItems.SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET.get()); + tabData.accept(CompressedGrassModItems.SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE.get()); + tabData.accept(CompressedGrassModItems.SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS.get()); + tabData.accept(CompressedGrassModItems.SECONDARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS.get()); + tabData.accept(CompressedGrassModItems.TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET.get()); + tabData.accept(CompressedGrassModItems.TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE.get()); + tabData.accept(CompressedGrassModItems.TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS.get()); + tabData.accept(CompressedGrassModItems.TERTIARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS.get()); + tabData.accept(CompressedGrassModBlocks.GRASS_FURNACE.get().asItem()); + tabData.accept(CompressedGrassModItems.QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_HELMET.get()); + tabData.accept(CompressedGrassModItems.QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_CHESTPLATE.get()); + tabData.accept(CompressedGrassModItems.QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_LEGGINGS.get()); + tabData.accept(CompressedGrassModItems.QUATERNARY_COMPRESSED_GRASS_ARMOR_ARMOR_BOOTS.get()); }).withSearchBar()); } } diff --git a/src/main/java/net/mcreator/compressedgrass/item/QuaternaryCompressedGrassArmorArmorItem.java b/src/main/java/net/mcreator/compressedgrass/item/QuaternaryCompressedGrassArmorArmorItem.java new file mode 100644 index 00000000..ce38ac49 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/item/QuaternaryCompressedGrassArmorArmorItem.java @@ -0,0 +1,104 @@ + +package net.mcreator.compressedgrass.item; + +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.Entity; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundEvent; + +import net.mcreator.compressedgrass.init.CompressedGrassModItems; + +public abstract class QuaternaryCompressedGrassArmorArmorItem extends ArmorItem { + public QuaternaryCompressedGrassArmorArmorItem(ArmorItem.Type type, Item.Properties properties) { + super(new ArmorMaterial() { + @Override + public int getDurabilityForType(ArmorItem.Type type) { + return new int[]{13, 15, 16, 11}[type.getSlot().getIndex()] * 12; + } + + @Override + public int getDefenseForType(ArmorItem.Type type) { + return new int[]{2, 5, 4, 2}[type.getSlot().getIndex()]; + } + + @Override + public int getEnchantmentValue() { + return 7; + } + + @Override + public SoundEvent getEquipSound() { + return SoundEvents.EMPTY; + } + + @Override + public Ingredient getRepairIngredient() { + return Ingredient.of(new ItemStack(CompressedGrassModItems.QUATERNARY_COMPRESSED_GRASS.get())); + } + + @Override + public String getName() { + return "quaternary_compressed_grass_armor_armor"; + } + + @Override + public float getToughness() { + return 0.1f; + } + + @Override + public float getKnockbackResistance() { + return 0.1f; + } + }, type, properties); + } + + public static class Helmet extends QuaternaryCompressedGrassArmorArmorItem { + public Helmet() { + super(ArmorItem.Type.HELMET, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/quaternarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Chestplate extends QuaternaryCompressedGrassArmorArmorItem { + public Chestplate() { + super(ArmorItem.Type.CHESTPLATE, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/quaternarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Leggings extends QuaternaryCompressedGrassArmorArmorItem { + public Leggings() { + super(ArmorItem.Type.LEGGINGS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/quaternarycompressedgrassarmor_layer_2.png"; + } + } + + public static class Boots extends QuaternaryCompressedGrassArmorArmorItem { + public Boots() { + super(ArmorItem.Type.BOOTS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/quaternarycompressedgrassarmor_layer_1.png"; + } + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/item/SecondaryCompressedGrassArmorArmorItem.java b/src/main/java/net/mcreator/compressedgrass/item/SecondaryCompressedGrassArmorArmorItem.java new file mode 100644 index 00000000..669d76f2 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/item/SecondaryCompressedGrassArmorArmorItem.java @@ -0,0 +1,104 @@ + +package net.mcreator.compressedgrass.item; + +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.Entity; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundEvent; + +import net.mcreator.compressedgrass.init.CompressedGrassModItems; + +public abstract class SecondaryCompressedGrassArmorArmorItem extends ArmorItem { + public SecondaryCompressedGrassArmorArmorItem(ArmorItem.Type type, Item.Properties properties) { + super(new ArmorMaterial() { + @Override + public int getDurabilityForType(ArmorItem.Type type) { + return new int[]{13, 15, 16, 11}[type.getSlot().getIndex()] * 9; + } + + @Override + public int getDefenseForType(ArmorItem.Type type) { + return new int[]{1, 4, 3, 1}[type.getSlot().getIndex()]; + } + + @Override + public int getEnchantmentValue() { + return 5; + } + + @Override + public SoundEvent getEquipSound() { + return SoundEvents.EMPTY; + } + + @Override + public Ingredient getRepairIngredient() { + return Ingredient.of(new ItemStack(CompressedGrassModItems.SECONDARY_COMPRESSED_GRASS.get())); + } + + @Override + public String getName() { + return "secondary_compressed_grass_armor_armor"; + } + + @Override + public float getToughness() { + return 0.1f; + } + + @Override + public float getKnockbackResistance() { + return 0.1f; + } + }, type, properties); + } + + public static class Helmet extends SecondaryCompressedGrassArmorArmorItem { + public Helmet() { + super(ArmorItem.Type.HELMET, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/secondarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Chestplate extends SecondaryCompressedGrassArmorArmorItem { + public Chestplate() { + super(ArmorItem.Type.CHESTPLATE, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/secondarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Leggings extends SecondaryCompressedGrassArmorArmorItem { + public Leggings() { + super(ArmorItem.Type.LEGGINGS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/secondarycompressedgrassarmor_layer_2.png"; + } + } + + public static class Boots extends SecondaryCompressedGrassArmorArmorItem { + public Boots() { + super(ArmorItem.Type.BOOTS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/secondarycompressedgrassarmor_layer_1.png"; + } + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/item/TertiaryCompressedGrassArmorArmorItem.java b/src/main/java/net/mcreator/compressedgrass/item/TertiaryCompressedGrassArmorArmorItem.java new file mode 100644 index 00000000..0dfe4e90 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/item/TertiaryCompressedGrassArmorArmorItem.java @@ -0,0 +1,104 @@ + +package net.mcreator.compressedgrass.item; + +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.Entity; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundEvent; + +import net.mcreator.compressedgrass.init.CompressedGrassModItems; + +public abstract class TertiaryCompressedGrassArmorArmorItem extends ArmorItem { + public TertiaryCompressedGrassArmorArmorItem(ArmorItem.Type type, Item.Properties properties) { + super(new ArmorMaterial() { + @Override + public int getDurabilityForType(ArmorItem.Type type) { + return new int[]{13, 15, 16, 11}[type.getSlot().getIndex()] * 11; + } + + @Override + public int getDefenseForType(ArmorItem.Type type) { + return new int[]{1, 4, 4, 1}[type.getSlot().getIndex()]; + } + + @Override + public int getEnchantmentValue() { + return 6; + } + + @Override + public SoundEvent getEquipSound() { + return SoundEvents.EMPTY; + } + + @Override + public Ingredient getRepairIngredient() { + return Ingredient.of(new ItemStack(CompressedGrassModItems.TERTIARY_COMPRESSED_GRASS.get())); + } + + @Override + public String getName() { + return "tertiary_compressed_grass_armor_armor"; + } + + @Override + public float getToughness() { + return 0.1f; + } + + @Override + public float getKnockbackResistance() { + return 0.1f; + } + }, type, properties); + } + + public static class Helmet extends TertiaryCompressedGrassArmorArmorItem { + public Helmet() { + super(ArmorItem.Type.HELMET, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/tertiarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Chestplate extends TertiaryCompressedGrassArmorArmorItem { + public Chestplate() { + super(ArmorItem.Type.CHESTPLATE, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/tertiarycompressedgrassarmor_layer_1.png"; + } + } + + public static class Leggings extends TertiaryCompressedGrassArmorArmorItem { + public Leggings() { + super(ArmorItem.Type.LEGGINGS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/tertiarycompressedgrassarmor_layer_2.png"; + } + } + + public static class Boots extends TertiaryCompressedGrassArmorArmorItem { + public Boots() { + super(ArmorItem.Type.BOOTS, new Item.Properties()); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return "compressed_grass:textures/models/armor/tertiarycompressedgrassarmor_layer_1.png"; + } + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/network/GrassFurnaceGuiSlotMessage.java b/src/main/java/net/mcreator/compressedgrass/network/GrassFurnaceGuiSlotMessage.java new file mode 100644 index 00000000..7ba2c4a5 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/network/GrassFurnaceGuiSlotMessage.java @@ -0,0 +1,83 @@ + +package net.mcreator.compressedgrass.network; + +import net.minecraftforge.network.NetworkEvent; +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.eventbus.api.SubscribeEvent; + +import net.minecraft.world.level.Level; +import net.minecraft.world.entity.player.Player; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.BlockPos; + +import net.mcreator.compressedgrass.world.inventory.GrassFurnaceGuiMenu; +import net.mcreator.compressedgrass.procedures.GrassFurnaceGuiOpenPeriodProcedure; +import net.mcreator.compressedgrass.CompressedGrassMod; + +import java.util.function.Supplier; +import java.util.HashMap; + +@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) +public class GrassFurnaceGuiSlotMessage { + private final int slotID, x, y, z, changeType, meta; + + public GrassFurnaceGuiSlotMessage(int slotID, int x, int y, int z, int changeType, int meta) { + this.slotID = slotID; + this.x = x; + this.y = y; + this.z = z; + this.changeType = changeType; + this.meta = meta; + } + + public GrassFurnaceGuiSlotMessage(FriendlyByteBuf buffer) { + this.slotID = buffer.readInt(); + this.x = buffer.readInt(); + this.y = buffer.readInt(); + this.z = buffer.readInt(); + this.changeType = buffer.readInt(); + this.meta = buffer.readInt(); + } + + public static void buffer(GrassFurnaceGuiSlotMessage message, FriendlyByteBuf buffer) { + buffer.writeInt(message.slotID); + buffer.writeInt(message.x); + buffer.writeInt(message.y); + buffer.writeInt(message.z); + buffer.writeInt(message.changeType); + buffer.writeInt(message.meta); + } + + public static void handler(GrassFurnaceGuiSlotMessage message, Supplier contextSupplier) { + NetworkEvent.Context context = contextSupplier.get(); + context.enqueueWork(() -> { + Player entity = context.getSender(); + int slotID = message.slotID; + int changeType = message.changeType; + int meta = message.meta; + int x = message.x; + int y = message.y; + int z = message.z; + handleSlotAction(entity, slotID, changeType, meta, x, y, z); + }); + context.setPacketHandled(true); + } + + public static void handleSlotAction(Player entity, int slotID, int changeType, int meta, int x, int y, int z) { + Level world = entity.level; + HashMap guistate = GrassFurnaceGuiMenu.guistate; + // security measure to prevent arbitrary chunk generation + if (!world.hasChunkAt(new BlockPos(x, y, z))) + return; + if (slotID == 0 && changeType == 0) { + + GrassFurnaceGuiOpenPeriodProcedure.execute(world, x, y, z); + } + } + + @SubscribeEvent + public static void registerMessage(FMLCommonSetupEvent event) { + CompressedGrassMod.addNetworkMessage(GrassFurnaceGuiSlotMessage.class, GrassFurnaceGuiSlotMessage::buffer, GrassFurnaceGuiSlotMessage::new, GrassFurnaceGuiSlotMessage::handler); + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/procedures/GrassFurnaceGuiOpenPeriodProcedure.java b/src/main/java/net/mcreator/compressedgrass/procedures/GrassFurnaceGuiOpenPeriodProcedure.java new file mode 100644 index 00000000..93e0cf87 --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/procedures/GrassFurnaceGuiOpenPeriodProcedure.java @@ -0,0 +1,72 @@ +package net.mcreator.compressedgrass.procedures; + +import net.minecraftforge.items.IItemHandlerModifiable; +import net.minecraftforge.common.capabilities.ForgeCapabilities; + +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.core.BlockPos; + +import net.mcreator.compressedgrass.init.CompressedGrassModItems; +import net.mcreator.compressedgrass.init.CompressedGrassModBlocks; + +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.atomic.AtomicInteger; + +public class GrassFurnaceGuiOpenPeriodProcedure { + public static void execute(LevelAccessor world, double x, double y, double z) { + if (new Object() { + public int getAmount(LevelAccessor world, BlockPos pos, int slotid) { + AtomicInteger _retval = new AtomicInteger(0); + BlockEntity _ent = world.getBlockEntity(pos); + if (_ent != null) + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount())); + return _retval.get(); + } + }.getAmount(world, BlockPos.containing(x, y, z), 1) < 64 && (new Object() { + public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) { + AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY); + BlockEntity _ent = world.getBlockEntity(pos); + if (_ent != null) + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy())); + return _retval.get(); + } + }.getItemStack(world, BlockPos.containing(x, y, z), 0)).getItem() == CompressedGrassModBlocks.GRASS_ORE_ORE.get().asItem()) { + { + BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z)); + if (_ent != null) { + final int _slotid = 0; + final int _amount = 1; + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + if (capability instanceof IItemHandlerModifiable) { + ItemStack _stk = capability.getStackInSlot(_slotid).copy(); + _stk.shrink(_amount); + ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _stk); + } + }); + } + } + { + BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z)); + if (_ent != null) { + final int _slotid = 1; + final ItemStack _setstack = new ItemStack(CompressedGrassModItems.GRASS_ORE_INGOT.get()); + _setstack.setCount((int) (new Object() { + public int getAmount(LevelAccessor world, BlockPos pos, int slotid) { + AtomicInteger _retval = new AtomicInteger(0); + BlockEntity _ent = world.getBlockEntity(pos); + if (_ent != null) + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).getCount())); + return _retval.get(); + } + }.getAmount(world, BlockPos.containing(x, y, z), 1) + 1)); + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + if (capability instanceof IItemHandlerModifiable) + ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack); + }); + } + } + } + } +} diff --git a/src/main/java/net/mcreator/compressedgrass/world/inventory/GrassFurnaceGuiMenu.java b/src/main/java/net/mcreator/compressedgrass/world/inventory/GrassFurnaceGuiMenu.java new file mode 100644 index 00000000..9de1723a --- /dev/null +++ b/src/main/java/net/mcreator/compressedgrass/world/inventory/GrassFurnaceGuiMenu.java @@ -0,0 +1,239 @@ + +package net.mcreator.compressedgrass.world.inventory; + +import net.minecraftforge.items.SlotItemHandler; +import net.minecraftforge.items.ItemStackHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.common.capabilities.ForgeCapabilities; + +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.Level; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.inventory.Slot; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.Entity; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.BlockPos; + +import net.mcreator.compressedgrass.network.GrassFurnaceGuiSlotMessage; +import net.mcreator.compressedgrass.init.CompressedGrassModMenus; +import net.mcreator.compressedgrass.CompressedGrassMod; + +import java.util.function.Supplier; +import java.util.Map; +import java.util.HashMap; + +public class GrassFurnaceGuiMenu extends AbstractContainerMenu implements Supplier> { + public final static HashMap guistate = new HashMap<>(); + public final Level world; + public final Player entity; + public int x, y, z; + private IItemHandler internal; + private final Map customSlots = new HashMap<>(); + private boolean bound = false; + + public GrassFurnaceGuiMenu(int id, Inventory inv, FriendlyByteBuf extraData) { + super(CompressedGrassModMenus.GRASS_FURNACE_GUI.get(), id); + this.entity = inv.player; + this.world = inv.player.level; + this.internal = new ItemStackHandler(2); + BlockPos pos = null; + if (extraData != null) { + pos = extraData.readBlockPos(); + this.x = pos.getX(); + this.y = pos.getY(); + this.z = pos.getZ(); + } + if (pos != null) { + if (extraData.readableBytes() == 1) { // bound to item + byte hand = extraData.readByte(); + ItemStack itemstack; + if (hand == 0) + itemstack = this.entity.getMainHandItem(); + else + itemstack = this.entity.getOffhandItem(); + itemstack.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + this.internal = capability; + this.bound = true; + }); + } else if (extraData.readableBytes() > 1) { + extraData.readByte(); // drop padding + Entity entity = world.getEntity(extraData.readVarInt()); + if (entity != null) + entity.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + this.internal = capability; + this.bound = true; + }); + } else { // might be bound to block + BlockEntity ent = inv.player != null ? inv.player.level.getBlockEntity(pos) : null; + if (ent != null) { + ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + this.internal = capability; + this.bound = true; + }); + } + } + } + this.customSlots.put(0, this.addSlot(new SlotItemHandler(internal, 0, 34, 35) { + @Override + public void setChanged() { + super.setChanged(); + slotChanged(0, 0, 0); + } + })); + this.customSlots.put(1, this.addSlot(new SlotItemHandler(internal, 1, 124, 35) { + @Override + public boolean mayPlace(ItemStack stack) { + return false; + } + })); + for (int si = 0; si < 3; ++si) + for (int sj = 0; sj < 9; ++sj) + this.addSlot(new Slot(inv, sj + (si + 1) * 9, 0 + 8 + sj * 18, 0 + 84 + si * 18)); + for (int si = 0; si < 9; ++si) + this.addSlot(new Slot(inv, si, 0 + 8 + si * 18, 0 + 142)); + } + + @Override + public boolean stillValid(Player player) { + return true; + } + + @Override + public ItemStack quickMoveStack(Player playerIn, int index) { + ItemStack itemstack = ItemStack.EMPTY; + Slot slot = (Slot) this.slots.get(index); + if (slot != null && slot.hasItem()) { + ItemStack itemstack1 = slot.getItem(); + itemstack = itemstack1.copy(); + if (index < 2) { + if (!this.moveItemStackTo(itemstack1, 2, this.slots.size(), true)) + return ItemStack.EMPTY; + slot.onQuickCraft(itemstack1, itemstack); + } else if (!this.moveItemStackTo(itemstack1, 0, 2, false)) { + if (index < 2 + 27) { + if (!this.moveItemStackTo(itemstack1, 2 + 27, this.slots.size(), true)) + return ItemStack.EMPTY; + } else { + if (!this.moveItemStackTo(itemstack1, 2, 2 + 27, false)) + return ItemStack.EMPTY; + } + return ItemStack.EMPTY; + } + if (itemstack1.getCount() == 0) + slot.set(ItemStack.EMPTY); + else + slot.setChanged(); + if (itemstack1.getCount() == itemstack.getCount()) + return ItemStack.EMPTY; + slot.onTake(playerIn, itemstack1); + } + return itemstack; + } + + @Override + protected boolean moveItemStackTo(ItemStack p_38904_, int p_38905_, int p_38906_, boolean p_38907_) { + boolean flag = false; + int i = p_38905_; + if (p_38907_) { + i = p_38906_ - 1; + } + if (p_38904_.isStackable()) { + while (!p_38904_.isEmpty()) { + if (p_38907_) { + if (i < p_38905_) { + break; + } + } else if (i >= p_38906_) { + break; + } + Slot slot = this.slots.get(i); + ItemStack itemstack = slot.getItem(); + if (slot.mayPlace(itemstack) && !itemstack.isEmpty() && ItemStack.isSameItemSameTags(p_38904_, itemstack)) { + int j = itemstack.getCount() + p_38904_.getCount(); + int maxSize = Math.min(slot.getMaxStackSize(), p_38904_.getMaxStackSize()); + if (j <= maxSize) { + p_38904_.setCount(0); + itemstack.setCount(j); + slot.set(itemstack); + flag = true; + } else if (itemstack.getCount() < maxSize) { + p_38904_.shrink(maxSize - itemstack.getCount()); + itemstack.setCount(maxSize); + slot.set(itemstack); + flag = true; + } + } + if (p_38907_) { + --i; + } else { + ++i; + } + } + } + if (!p_38904_.isEmpty()) { + if (p_38907_) { + i = p_38906_ - 1; + } else { + i = p_38905_; + } + while (true) { + if (p_38907_) { + if (i < p_38905_) { + break; + } + } else if (i >= p_38906_) { + break; + } + Slot slot1 = this.slots.get(i); + ItemStack itemstack1 = slot1.getItem(); + if (itemstack1.isEmpty() && slot1.mayPlace(p_38904_)) { + if (p_38904_.getCount() > slot1.getMaxStackSize()) { + slot1.setByPlayer(p_38904_.split(slot1.getMaxStackSize())); + } else { + slot1.setByPlayer(p_38904_.split(p_38904_.getCount())); + } + slot1.setChanged(); + flag = true; + break; + } + if (p_38907_) { + --i; + } else { + ++i; + } + } + } + return flag; + } + + @Override + public void removed(Player playerIn) { + super.removed(playerIn); + if (!bound && playerIn instanceof ServerPlayer serverPlayer) { + if (!serverPlayer.isAlive() || serverPlayer.hasDisconnected()) { + for (int j = 0; j < internal.getSlots(); ++j) { + playerIn.drop(internal.extractItem(j, internal.getStackInSlot(j).getCount(), false), false); + } + } else { + for (int i = 0; i < internal.getSlots(); ++i) { + playerIn.getInventory().placeItemBackInInventory(internal.extractItem(i, internal.getStackInSlot(i).getCount(), false)); + } + } + } + } + + private void slotChanged(int slotid, int ctype, int meta) { + if (this.world != null && this.world.isClientSide()) { + CompressedGrassMod.PACKET_HANDLER.sendToServer(new GrassFurnaceGuiSlotMessage(slotid, x, y, z, ctype, meta)); + GrassFurnaceGuiSlotMessage.handleSlotAction(entity, slotid, ctype, meta, x, y, z); + } + } + + public Map get() { + return customSlots; + } +} diff --git a/src/main/resources/assets/compressed_grass/blockstates/grass_furnace.json b/src/main/resources/assets/compressed_grass/blockstates/grass_furnace.json new file mode 100644 index 00000000..496cea0f --- /dev/null +++ b/src/main/resources/assets/compressed_grass/blockstates/grass_furnace.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "compressed_grass:block/grass_furnace" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/lang/en_us.json b/src/main/resources/assets/compressed_grass/lang/en_us.json index 94ebff0a..4fa0cc78 100644 --- a/src/main/resources/assets/compressed_grass/lang/en_us.json +++ b/src/main/resources/assets/compressed_grass/lang/en_us.json @@ -1,39 +1,52 @@ { - "biome.compressed_grass.grass_biome": "Grass Biome", - "item.compressed_grass.grass_ore_armor_chestplate": "Grass Ore Chestplate", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_boots": "Tertiary Compressed Grass Boots", "block.compressed_grass.grass_ore_block": "Grass Ore Block", "item.compressed_grass.grass_ore_ingot": "Grass Ore Ingot", - "item.compressed_grass.grass_ore_armor_boots": "Grass Ore Boots", "item.compressed_grass.quaternary_compressed_grass": "Quaternary Compressed Grass", - "block.compressed_grass.grass_ore_ore": "Grass Ore", - "item.compressed_grass.tertiary_compressed_grass": "Tertiary Compressed Grass", "block.compressed_grass.grass_wood_fence_gate": "Grass Fence Gate", - "item.compressed_grass.primary_armor_leggings": "Primary Compressed Grass Leggings", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_chestplate": "Tertiary Compressed Grass Chestplate", "item_group.compressed_grass.compressed_grass": "Compressed Grass", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_helmet": "Quaternary Compressed Grass Helmet", + "item.compressed_grass.secondary_compressed_grass_armor_armor_boots": "Secondary Compressed Grass Boots", + "item.compressed_grass.primary_armor_boots": "Primary Compressed Grass Boots", + "block.compressed_grass.grass_wood_pressure_plate": "Grass Pressure Plate", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_chestplate": "Quaternary Compressed Grass Chestplate", + "item.compressed_grass.grass_ore_hoe": "Grass Ore Hoe", + "block.compressed_grass.grass_wood_log": "Grass Log", + "block.compressed_grass.grass_wood_fence": "Grass Fence", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_boots": "Quaternary Compressed Grass Boots", + "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "I try to add", + "block.compressed_grass.grass_chest": "Grass Chest", + "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(Left/Right)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_chestplate": "Secondary Compressed Grass Chestplate", + "item.compressed_grass.grass_ore_armor_helmet": "Grass Ore Helmet", + "item.compressed_grass.secondary_compressed_grass": "Secondary Compressed Grass", + "biome.compressed_grass.grass_biome": "Grass Biome", + "item.compressed_grass.grass_ore_armor_chestplate": "Grass Ore Chestplate", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_leggings": "Quaternary Compressed Grass Leggings", + "item.compressed_grass.grass_ore_armor_boots": "Grass Ore Boots", + "item.compressed_grass.secondary_compressed_grass_armor_armor_leggings": "Secondary Compressed Grass Leggings", + "item.compressed_grass.tertiary_compressed_grass": "Tertiary Compressed Grass", + "block.compressed_grass.grass_ore_ore": "Grass Ore", + "item.compressed_grass.primary_armor_leggings": "Primary Compressed Grass Leggings", "gui.compressed_grass.grass_chest_gui.label_sth_instere": "sth instere-", "item.compressed_grass.grass_ore_axe": "Grass Ore Axe", + "block.compressed_grass.grass_furnace": "Grass Furnace", "block.compressed_grass.grass_wood_wood": "Grass Wood", "item.compressed_grass.primary_armor_chestplate": "Primary Compressed Grass Chestplate", - "item.compressed_grass.primary_armor_boots": "Primary Compressed Grass Boots", "gui.compressed_grass.grass_chest_gui.label_ting_here": "-ting here", "item.compressed_grass.grass_ore_armor_leggings": "Grass Ore Leggings", "block.compressed_grass.grass_wood_slab": "Grass Slab", - "block.compressed_grass.grass_wood_pressure_plate": "Grass Pressure Plate", - "item.compressed_grass.grass_ore_hoe": "Grass Ore Hoe", - "block.compressed_grass.grass_wood_log": "Grass Log", - "block.compressed_grass.grass_wood_fence": "Grass Fence", "item.compressed_grass.grass_ore_sword": "Grass Ore Sword", - "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "I try to add", "item.compressed_grass.grass_ore_pickaxe": "Grass Ore Pickaxe", "block.compressed_grass.grass_wood_leaves": "Grass Leaves", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_leggings": "Tertiary Compressed Grass Leggings", "item.compressed_grass.primary_compressed_grass": "Primary Compressed Grass", "block.compressed_grass.grass_wood_button": "Grass Button", "item.compressed_grass.primary_armor_helmet": "Primary Compressed Grass Helmet", - "block.compressed_grass.grass_chest": "Grass Chest", - "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(Left/Right)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_helmet": "Secondary Compressed Grass Helmet", "block.compressed_grass.grass_wood_planks": "Grass Planks", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_helmet": "Tertiary Compressed Grass Helmet", "item.compressed_grass.grass_ore_shovel": "Grass Ore Shovel", - "block.compressed_grass.grass_wood_stairs": "Grass Stairs", - "item.compressed_grass.grass_ore_armor_helmet": "Grass Ore Helmet", - "item.compressed_grass.secondary_compressed_grass": "Secondary Compressed Grass" + "block.compressed_grass.grass_wood_stairs": "Grass Stairs" } \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/lang/zh_cn.json b/src/main/resources/assets/compressed_grass/lang/zh_cn.json index 6f30fa30..e02720fa 100644 --- a/src/main/resources/assets/compressed_grass/lang/zh_cn.json +++ b/src/main/resources/assets/compressed_grass/lang/zh_cn.json @@ -1,39 +1,52 @@ { - "biome.compressed_grass.grass_biome": "草群系", - "item.compressed_grass.grass_ore_armor_chestplate": "草矿胸甲", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_boots": "三级压缩草靴子", "block.compressed_grass.grass_ore_block": "草块", "item.compressed_grass.grass_ore_ingot": "草锭", - "item.compressed_grass.grass_ore_armor_boots": "草矿靴子", "item.compressed_grass.quaternary_compressed_grass": "四级压缩草", "block.compressed_grass.grass_wood_fence_gate": "草木栅栏门", + "item_group.compressed_grass.compressed_grass": "压缩草", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_chestplate": "三级压缩草胸甲", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_helmet": "四级压缩草头盔", + "item.compressed_grass.secondary_compressed_grass_armor_armor_boots": "二级压缩草靴子", + "item.compressed_grass.primary_armor_boots": "一级压缩草靴子", + "block.compressed_grass.grass_wood_pressure_plate": "草木压力板", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_chestplate": "四级压缩草胸甲", + "item.compressed_grass.grass_ore_hoe": "草矿锄", + "block.compressed_grass.grass_wood_log": "草木树干", + "block.compressed_grass.grass_wood_fence": "草木栅栏", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_boots": "四级压缩草靴子", + "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "我想添加", + "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(左/右)", + "block.compressed_grass.grass_chest": "草箱", + "item.compressed_grass.secondary_compressed_grass_armor_armor_chestplate": "二级压缩草胸甲", + "item.compressed_grass.grass_ore_armor_helmet": "草矿头盔", + "item.compressed_grass.secondary_compressed_grass": "二级压缩草", + "biome.compressed_grass.grass_biome": "草群系", + "item.compressed_grass.grass_ore_armor_chestplate": "草矿胸甲", + "item.compressed_grass.quaternary_compressed_grass_armor_armor_leggings": "四级压缩草护腿", + "item.compressed_grass.grass_ore_armor_boots": "草矿靴子", + "item.compressed_grass.secondary_compressed_grass_armor_armor_leggings": "二级压缩草护腿", "item.compressed_grass.tertiary_compressed_grass": "三级压缩草", "block.compressed_grass.grass_ore_ore": "草矿", "item.compressed_grass.primary_armor_leggings": "一级压缩草护腿", - "item_group.compressed_grass.compressed_grass": "压缩草", "gui.compressed_grass.grass_chest_gui.label_sth_instere": "一些有趣", "item.compressed_grass.grass_ore_axe": "草矿斧", + "block.compressed_grass.grass_furnace": "草炉", "block.compressed_grass.grass_wood_wood": "草木木板", "item.compressed_grass.primary_armor_chestplate": "一级压缩草胸甲", - "item.compressed_grass.primary_armor_boots": "一级压缩草靴子", "gui.compressed_grass.grass_chest_gui.label_ting_here": "的在这里", "item.compressed_grass.grass_ore_armor_leggings": "草矿护腿", "block.compressed_grass.grass_wood_slab": "草木半阶", - "block.compressed_grass.grass_wood_pressure_plate": "草木压力板", - "item.compressed_grass.grass_ore_hoe": "草矿锄", - "block.compressed_grass.grass_wood_log": "草木树干", - "block.compressed_grass.grass_wood_fence": "草木栅栏", "item.compressed_grass.grass_ore_sword": "草矿剑", - "gui.compressed_grass.grass_chest_gui.label_i_try_to_add_sth_insteresting_he": "我想添加", "item.compressed_grass.grass_ore_pickaxe": "草矿镐", "block.compressed_grass.grass_wood_leaves": "草木树叶", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_leggings": "三级压缩草护腿", "item.compressed_grass.primary_compressed_grass": "一级压缩草", "block.compressed_grass.grass_wood_button": "草木按钮", "item.compressed_grass.primary_armor_helmet": "一级压缩草头盔", - "block.compressed_grass.grass_chest": "草箱", - "gui.compressed_grass.grass_chest_gui.label_left_and_right": "(左/右)", + "item.compressed_grass.secondary_compressed_grass_armor_armor_helmet": "二级压缩草头盔", "block.compressed_grass.grass_wood_planks": "草木木桩", + "item.compressed_grass.tertiary_compressed_grass_armor_armor_helmet": "三级压缩草头盔", "item.compressed_grass.grass_ore_shovel": "草矿铲", - "block.compressed_grass.grass_wood_stairs": "草木台阶", - "item.compressed_grass.grass_ore_armor_helmet": "草矿头盔", - "item.compressed_grass.secondary_compressed_grass": "二级压缩草" + "block.compressed_grass.grass_wood_stairs": "草木台阶" } \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/block/grass_furnace.json b/src/main/resources/assets/compressed_grass/models/block/grass_furnace.json new file mode 100644 index 00000000..d5262249 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/block/grass_furnace.json @@ -0,0 +1,16 @@ +{ + "parent": "compressed_grass:custom/grassfurnace", + "textures": { + "all": "compressed_grass:block/grassore_ore_block", + "particle": "compressed_grass:block/grassore_ore_block", + "0": "compressed_grass:block/grassfurnacebottom", + "1": "compressed_grass:block/grassfurnacefourcornersbelow", + "2": "compressed_grass:block/grassfurnacefourwallsbelow", + "3": "compressed_grass:block/grassfurnacelava", + "4": "compressed_grass:block/grassfurnacelavamask", + "5": "compressed_grass:block/grassfurnaceinterlayer", + "6": "compressed_grass:block/grassfurnacefourpillarsabove", + "7": "compressed_grass:block/grassfurnacetop" + }, + "render_type": "solid" +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/custom/grassfurnace.json b/src/main/resources/assets/compressed_grass/models/custom/grassfurnace.json new file mode 100644 index 00000000..a91b9590 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/custom/grassfurnace.json @@ -0,0 +1,1502 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "elements": [ + { + "name": "底部", + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 1, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 0.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8, + 0.5, + 16, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8, + 1, + 16, + 1.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 1.5, + 16, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8, + 8, + 0, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8, + 8, + 0, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 0, + 1, + 0 + ], + "to": [ + 1, + 7, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 1, + 0, + 2, + 6 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2, + 0, + 3, + 6 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3, + 0, + 4, + 6 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 5, + 1, + 4, + 0 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 5, + 1, + 4, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 0, + 1, + 15 + ], + "to": [ + 1, + 7, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 15, + 1, + 15 + ], + "to": [ + 16, + 7, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 15, + 1, + 0 + ], + "to": [ + 16, + 7, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 1, + 1, + 0 + ], + "to": [ + 15, + 4, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0, + 8, + 1, + 11 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 3, + 14, + 6 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1, + 8, + 2, + 11 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 14, + 7, + 0, + 6 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 14, + 7, + 0, + 8 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 1, + 1, + 15 + ], + "to": [ + 15, + 4, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 1 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 1 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 15, + 1, + 1 + ], + "to": [ + 16, + 4, + 15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 14 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 14 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0, + 1, + 1 + ], + "to": [ + 1, + 4, + 15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 14 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 14 + ], + "texture": "#2" + } + } + }, + { + "name": "岩浆", + "from": [ + 1, + 2, + 1 + ], + "to": [ + 15, + 4, + 15 + ], + "faces": { + "north": { + "uv": [ + 7, + 0, + 14, + 1 + ], + "texture": "#3" + }, + "east": { + "uv": [ + 7, + 1, + 14, + 2 + ], + "texture": "#3" + }, + "south": { + "uv": [ + 7, + 2, + 14, + 3 + ], + "texture": "#3" + }, + "west": { + "uv": [ + 7, + 3, + 14, + 4 + ], + "texture": "#3" + }, + "up": { + "uv": [ + 7, + 7, + 0, + 0 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 7, + 7, + 0, + 14 + ], + "texture": "#3" + } + } + }, + { + "from": [ + 1, + 4, + 0 + ], + "to": [ + 15, + 7, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "south": { + "uv": [ + 0, + 3, + 14, + 6 + ], + "texture": "#4" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "up": { + "uv": [ + 14, + 0, + 0, + 0 + ], + "texture": "#4" + }, + "down": { + "uv": [ + 14, + 0, + 0, + 0 + ], + "texture": "#4" + } + } + }, + { + "from": [ + 1, + 4, + 16 + ], + "to": [ + 15, + 7, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "south": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 0 + ], + "texture": "#4" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 0 + ], + "texture": "#4" + } + } + }, + { + "from": [ + 0, + 4, + 1 + ], + "to": [ + 0, + 7, + 15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "east": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "west": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 14 + ], + "texture": "#4" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 14 + ], + "texture": "#4" + } + } + }, + { + "from": [ + 16, + 4, + 1 + ], + "to": [ + 16, + 7, + 15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "east": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#4" + }, + "west": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#4" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 14 + ], + "texture": "#4" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 14 + ], + "texture": "#4" + } + } + }, + { + "name": "隔层", + "from": [ + 0, + 7, + 0 + ], + "to": [ + 16, + 8, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 0.5 + ], + "texture": "#5" + }, + "east": { + "uv": [ + 8, + 0.5, + 16, + 1 + ], + "texture": "#5" + }, + "south": { + "uv": [ + 8, + 1, + 16, + 1.5 + ], + "texture": "#5" + }, + "west": { + "uv": [ + 8, + 1.5, + 16, + 2 + ], + "texture": "#5" + }, + "up": { + "uv": [ + 8, + 8, + 0, + 0 + ], + "texture": "#5" + }, + "down": { + "uv": [ + 8, + 8, + 0, + 16 + ], + "texture": "#5" + } + } + }, + { + "from": [ + 0, + 8, + 0 + ], + "to": [ + 3, + 13, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 5 + ], + "texture": "#6" + }, + "east": { + "uv": [ + 3, + 0, + 6, + 5 + ], + "texture": "#6" + }, + "south": { + "uv": [ + 0, + 5, + 3, + 10 + ], + "texture": "#6" + }, + "west": { + "uv": [ + 3, + 5, + 6, + 10 + ], + "texture": "#6" + }, + "up": { + "uv": [ + 9, + 3, + 6, + 0 + ], + "texture": "#6" + }, + "down": { + "uv": [ + 9, + 3, + 6, + 6 + ], + "texture": "#6" + } + } + }, + { + "from": [ + 13, + 8, + 0 + ], + "to": [ + 16, + 13, + 3 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 4.5, + 2.5 + ], + "texture": "#6" + }, + "east": { + "uv": [ + 3, + 2.5, + 4.5, + 5 + ], + "texture": "#6" + }, + "south": { + "uv": [ + 4.5, + 0, + 6, + 2.5 + ], + "texture": "#6" + }, + "west": { + "uv": [ + 4.5, + 2.5, + 6, + 5 + ], + "texture": "#6" + }, + "up": { + "uv": [ + 9, + 3, + 7.5, + 1.5 + ], + "texture": "#6" + }, + "down": { + "uv": [ + 4.5, + 7.5, + 3, + 9 + ], + "texture": "#6" + } + } + }, + { + "from": [ + 13, + 8, + 13 + ], + "to": [ + 16, + 13, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1.5, + 7.5 + ], + "texture": "#6" + }, + "east": { + "uv": [ + 1.5, + 5, + 3, + 7.5 + ], + "texture": "#6" + }, + "south": { + "uv": [ + 3, + 5, + 4.5, + 7.5 + ], + "texture": "#6" + }, + "west": { + "uv": [ + 4.5, + 5, + 6, + 7.5 + ], + "texture": "#6" + }, + "up": { + "uv": [ + 9, + 4.5, + 7.5, + 3 + ], + "texture": "#6" + }, + "down": { + "uv": [ + 6, + 7.5, + 4.5, + 9 + ], + "texture": "#6" + } + } + }, + { + "from": [ + 0, + 8, + 13 + ], + "to": [ + 3, + 13, + 16 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 7.5, + 2.5 + ], + "texture": "#6" + }, + "east": { + "uv": [ + 6, + 2.5, + 7.5, + 5 + ], + "texture": "#6" + }, + "south": { + "uv": [ + 6, + 5, + 7.5, + 7.5 + ], + "texture": "#6" + }, + "west": { + "uv": [ + 0, + 7.5, + 1.5, + 10 + ], + "texture": "#6" + }, + "up": { + "uv": [ + 9, + 6, + 7.5, + 4.5 + ], + "texture": "#6" + }, + "down": { + "uv": [ + 7.5, + 7.5, + 6, + 9 + ], + "texture": "#6" + } + } + }, + { + "name": "顶层", + "from": [ + 0, + 13, + 0 + ], + "to": [ + 16, + 15, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 1 + ], + "texture": "#7" + }, + "east": { + "uv": [ + 8, + 1, + 16, + 2 + ], + "texture": "#7" + }, + "south": { + "uv": [ + 8, + 2, + 16, + 3 + ], + "texture": "#7" + }, + "west": { + "uv": [ + 8, + 3, + 16, + 4 + ], + "texture": "#7" + }, + "up": { + "uv": [ + 8, + 8, + 0, + 0 + ], + "texture": "#7" + }, + "down": { + "uv": [ + 8, + 8, + 0, + 16 + ], + "texture": "#7" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [ + 0, + 2.25, + 2.25 + ], + "scale": [ + 0.3, + 0.3, + 0.3 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + -90, + 0, + 0 + ], + "translation": [ + 0, + -2, + -2.5 + ], + "scale": [ + 0.3, + 0.3, + 0.3 + ] + }, + "ground": { + "scale": [ + 0.3, + 0.3, + 0.3 + ] + }, + "gui": { + "scale": [ + 0.7, + 0.7, + 0 + ] + }, + "fixed": { + "scale": [ + 0.7, + 0.7, + 0.7 + ] + } + }, + "groups": [ + 0, + { + "name": "底四角", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + { + "name": "四角柱", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 1, + 2, + 3, + 4 + ] + }, + { + "name": "四角壁", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 5, + 6, + 7, + 8 + ] + } + ] + }, + 9, + { + "name": "岩浆遮罩", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 10, + 11, + 12, + 13 + ] + }, + 14, + { + "name": "上四角", + "origin": [ + 8, + 8, + 8 + ], + "color": 0, + "children": [ + 15, + 16, + 17, + 18 + ] + }, + 19 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/grass_furnace.json b/src/main/resources/assets/compressed_grass/models/item/grass_furnace.json new file mode 100644 index 00000000..9e7e5b3c --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/grass_furnace.json @@ -0,0 +1,22 @@ +{ + "parent": "compressed_grass:block/grass_furnace", + "display": { + "thirdperson": { + "rotation": [ + 10, + -45, + 170 + ], + "translation": [ + 0, + 1.5, + -2.75 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_boots.json b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_boots.json new file mode 100644 index 00000000..3e6cc6e5 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/quaternarycompressedgrassarmor_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_chestplate.json b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_chestplate.json new file mode 100644 index 00000000..d9725fad --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/quaternarycompressedgrassarmor_body" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_helmet.json b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_helmet.json new file mode 100644 index 00000000..43021295 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/quaternarycompressedgrassarmor_head" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_leggings.json b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_leggings.json new file mode 100644 index 00000000..d3ceefe1 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/quaternary_compressed_grass_armor_armor_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/quaternarycompressedgrassarmor_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_boots.json b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_boots.json new file mode 100644 index 00000000..56416881 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/secondarycompressedgrassarmor_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_chestplate.json b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_chestplate.json new file mode 100644 index 00000000..3b7ea51f --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/secondarycompressedgrassarmor_body" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_helmet.json b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_helmet.json new file mode 100644 index 00000000..b2496630 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/secondarycompressedgrassarmor_head" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_leggings.json b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_leggings.json new file mode 100644 index 00000000..4febd223 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/secondary_compressed_grass_armor_armor_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/secondarycompressedgrassarmor_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_boots.json b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_boots.json new file mode 100644 index 00000000..fbd4949c --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/tertiarycompressedgrassarmor_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_chestplate.json b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_chestplate.json new file mode 100644 index 00000000..c13e31ee --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/tertiarycompressedgrassarmor_body" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_helmet.json b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_helmet.json new file mode 100644 index 00000000..caa92605 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/tertiarycompressedgrassarmor_head" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_leggings.json b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_leggings.json new file mode 100644 index 00000000..cd30eae1 --- /dev/null +++ b/src/main/resources/assets/compressed_grass/models/item/tertiary_compressed_grass_armor_armor_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "compressed_grass:item/tertiarycompressedgrassarmor_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacebottom.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacebottom.png new file mode 100644 index 00000000..c24702c7 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacebottom.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourcornersbelow.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourcornersbelow.png new file mode 100644 index 00000000..d3917ed2 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourcornersbelow.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourpillarsabove.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourpillarsabove.png new file mode 100644 index 00000000..e73ee2fd Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourpillarsabove.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourwallsbelow.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourwallsbelow.png new file mode 100644 index 00000000..2ddac3f6 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacefourwallsbelow.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnaceinterlayer.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnaceinterlayer.png new file mode 100644 index 00000000..0a30701c Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnaceinterlayer.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelava.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelava.png new file mode 100644 index 00000000..a87e1df4 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelava.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelavamask.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelavamask.png new file mode 100644 index 00000000..f3e66a5f Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacelavamask.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/block/grassfurnacetop.png b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacetop.png new file mode 100644 index 00000000..0dd45dec Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/block/grassfurnacetop.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternary_body.png b/src/main/resources/assets/compressed_grass/textures/item/quaternary_body.png new file mode 100644 index 00000000..ae0a470d Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternary_body.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternary_boots.png b/src/main/resources/assets/compressed_grass/textures/item/quaternary_boots.png new file mode 100644 index 00000000..8b31ce8c Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternary_boots.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternary_head.png b/src/main/resources/assets/compressed_grass/textures/item/quaternary_head.png new file mode 100644 index 00000000..bf76a19a Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternary_head.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternary_leggings.png b/src/main/resources/assets/compressed_grass/textures/item/quaternary_leggings.png new file mode 100644 index 00000000..4982bc61 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternary_leggings.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_body.png b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_body.png new file mode 100644 index 00000000..ae0a470d Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_body.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_boots.png b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_boots.png new file mode 100644 index 00000000..8b31ce8c Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_boots.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_head.png b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_head.png new file mode 100644 index 00000000..bf76a19a Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_head.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_leggings.png b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_leggings.png new file mode 100644 index 00000000..4982bc61 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/quaternarycompressedgrassarmor_leggings.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_body.png b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_body.png new file mode 100644 index 00000000..b5ff528d Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_body.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_boots.png b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_boots.png new file mode 100644 index 00000000..ed90bd68 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_boots.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_head.png b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_head.png new file mode 100644 index 00000000..7da79e02 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_head.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_leggings.png b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_leggings.png new file mode 100644 index 00000000..ba7423dc Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/secondarycompressedgrassarmor_leggings.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_body.png b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_body.png new file mode 100644 index 00000000..976fab7f Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_body.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_boots.png b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_boots.png new file mode 100644 index 00000000..0e7d2f33 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_boots.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_head.png b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_head.png new file mode 100644 index 00000000..d05aa97f Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_head.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_leggings.png b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_leggings.png new file mode 100644 index 00000000..2cb2a225 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/item/tertiarycompressedgrassarmor_leggings.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_1.png b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_1.png new file mode 100644 index 00000000..efd5189f Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_1.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_2.png b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_2.png new file mode 100644 index 00000000..4b91bf1a Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternary_layer_2.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_1.png b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_1.png new file mode 100644 index 00000000..efd5189f Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_1.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_2.png b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_2.png new file mode 100644 index 00000000..4b91bf1a Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/quaternarycompressedgrassarmor_layer_2.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_1.png b/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_1.png new file mode 100644 index 00000000..765e74f5 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_1.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_2.png b/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_2.png new file mode 100644 index 00000000..75b78eb7 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/secondarycompressedgrassarmor_layer_2.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_1.png b/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_1.png new file mode 100644 index 00000000..925bb1ac Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_1.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_2.png b/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_2.png new file mode 100644 index 00000000..cf492745 Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/models/armor/tertiarycompressedgrassarmor_layer_2.png differ diff --git a/src/main/resources/assets/compressed_grass/textures/screens/grass_furnace_gui.png b/src/main/resources/assets/compressed_grass/textures/screens/grass_furnace_gui.png new file mode 100644 index 00000000..adab7dff Binary files /dev/null and b/src/main/resources/assets/compressed_grass/textures/screens/grass_furnace_gui.png differ diff --git a/src/main/resources/data/compressed_grass/recipes/grass_furnace_synthesis.json b/src/main/resources/data/compressed_grass/recipes/grass_furnace_synthesis.json new file mode 100644 index 00000000..4dbc87f1 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/grass_furnace_synthesis.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "AGA", + "CLC", + "DRD" + ], + "key": { + "A": { + "item": "minecraft:andesite_wall" + }, + "G": { + "item": "compressed_grass:grass_ore_block" + }, + "C": { + "item": "minecraft:chiseled_deepslate" + }, + "L": { + "item": "minecraft:lava_bucket" + }, + "D": { + "item": "minecraft:deepslate_brick_wall" + }, + "R": { + "item": "compressed_grass:grass_ore_ingot" + } + }, + "result": { + "item": "compressed_grass:grass_furnace", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/grass_ore_ore_smelting.json b/src/main/resources/data/compressed_grass/recipes/grass_ore_ore_smelting.json index 1009e708..905522a6 100644 --- a/src/main/resources/data/compressed_grass/recipes/grass_ore_ore_smelting.json +++ b/src/main/resources/data/compressed_grass/recipes/grass_ore_ore_smelting.json @@ -1,8 +1,8 @@ { "type": "minecraft:smelting", "category": "misc", - "experience": 2.1, - "cookingtime": 200, + "experience": 5, + "cookingtime": 400, "ingredient": { "item": "compressed_grass:grass_ore_ore" }, diff --git a/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_boots_recipe.json b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_boots_recipe.json new file mode 100644 index 00000000..2d24f90e --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_boots_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "Q Q", + "Q Q" + ], + "key": { + "Q": { + "item": "compressed_grass:quaternary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:quaternary_compressed_grass_armor_armor_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_chestplate_recipe.json b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_chestplate_recipe.json new file mode 100644 index 00000000..efe22e77 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_chestplate_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "Q Q", + "QQQ", + "QQQ" + ], + "key": { + "Q": { + "item": "compressed_grass:quaternary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:quaternary_compressed_grass_armor_armor_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_helmet_recipe.json b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_helmet_recipe.json new file mode 100644 index 00000000..3996956c --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_helmet_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "QQQ", + "Q Q" + ], + "key": { + "Q": { + "item": "compressed_grass:quaternary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:quaternary_compressed_grass_armor_armor_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_leggings_recipe.json b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_leggings_recipe.json new file mode 100644 index 00000000..adbbd70e --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/quaternary_compressed_grass_armor_armor_leggings_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "QQQ", + "Q Q", + "Q Q" + ], + "key": { + "Q": { + "item": "compressed_grass:quaternary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:quaternary_compressed_grass_armor_armor_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_boots_recipe.json b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_boots_recipe.json new file mode 100644 index 00000000..c2d9b250 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_boots_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "S S", + "S S" + ], + "key": { + "S": { + "item": "compressed_grass:secondary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:secondary_compressed_grass_armor_armor_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_chestplate_recipe.json b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_chestplate_recipe.json new file mode 100644 index 00000000..9fc1db50 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_chestplate_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "S S", + "SSS", + "SSS" + ], + "key": { + "S": { + "item": "compressed_grass:secondary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:secondary_compressed_grass_armor_armor_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_helmet_recipe.json b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_helmet_recipe.json new file mode 100644 index 00000000..dc9cfaa1 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_helmet_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "SSS", + "S S" + ], + "key": { + "S": { + "item": "compressed_grass:secondary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:secondary_compressed_grass_armor_armor_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_leggings_recipe.json b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_leggings_recipe.json new file mode 100644 index 00000000..c7623192 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/secondary_compressed_grass_armor_armor_leggings_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "SSS", + "S S", + "S S" + ], + "key": { + "S": { + "item": "compressed_grass:secondary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:secondary_compressed_grass_armor_armor_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_boots_recipe.json b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_boots_recipe.json new file mode 100644 index 00000000..9c13aae9 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_boots_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "T T", + "T T" + ], + "key": { + "T": { + "item": "compressed_grass:tertiary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:tertiary_compressed_grass_armor_armor_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_chestplate_recipe.json b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_chestplate_recipe.json new file mode 100644 index 00000000..4d05d857 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_chestplate_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "T T", + "TTT", + "TTT" + ], + "key": { + "T": { + "item": "compressed_grass:tertiary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:tertiary_compressed_grass_armor_armor_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_helmet_recipe.json b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_helmet_recipe.json new file mode 100644 index 00000000..1c1ef9e6 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_helmet_recipe.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "TTT", + "T T" + ], + "key": { + "T": { + "item": "compressed_grass:tertiary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:tertiary_compressed_grass_armor_armor_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_leggings_recipe.json b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_leggings_recipe.json new file mode 100644 index 00000000..844ee9b6 --- /dev/null +++ b/src/main/resources/data/compressed_grass/recipes/tertiary_compressed_grass_armor_armor_leggings_recipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "TTT", + "T T", + "T T" + ], + "key": { + "T": { + "item": "compressed_grass:tertiary_compressed_grass" + } + }, + "result": { + "item": "compressed_grass:tertiary_compressed_grass_armor_armor_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/compressed_grass/worldgen/placed_feature/grass_ore_ore.json b/src/main/resources/data/compressed_grass/worldgen/placed_feature/grass_ore_ore.json index 68aaa037..3f393f08 100644 --- a/src/main/resources/data/compressed_grass/worldgen/placed_feature/grass_ore_ore.json +++ b/src/main/resources/data/compressed_grass/worldgen/placed_feature/grass_ore_ore.json @@ -3,7 +3,7 @@ "placement": [ { "type": "minecraft:count", - "count": 2 + "count": 1 }, { "type": "minecraft:in_square" @@ -13,10 +13,10 @@ "height": { "type": "minecraft:uniform", "min_inclusive": { - "absolute": -64 + "absolute": -40 }, "max_inclusive": { - "absolute": -32 + "absolute": -30 } } },