From 81ddc380176cb274aa30c845466078ef15defc8f Mon Sep 17 00:00:00 2001 From: Goldorion <38427877+Goldorion@users.noreply.github.com> Date: Fri, 15 Mar 2024 01:10:14 -0400 Subject: [PATCH] Partial fix #449 --- changelog.md | 2 + .../elementinits/blockentities.java.ftl | 1 - .../templates/elementinits/blocks.java.ftl | 7 +- .../templates/elementinits/items.java.ftl | 81 +++++++++---------- .../elementinits/potioneffects.java.ftl | 6 +- .../templates/elementinits/potions.java.ftl | 8 +- 6 files changed, 58 insertions(+), 47 deletions(-) diff --git a/changelog.md b/changelog.md index 111d6098..fc05991a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,8 @@ # Changelogs: ## 1.9.13 +* [#449] Increased the number of possible elements for blocks, items, potions and potion effects in a same workspace + * Note: This improvement doesn't fix for good the "Code too large" error, but it should give you some more space for ideas. * [Bugfix #506] Using a custom potion item caused a build error * [Bugfix #510] "Has glowing effect" parameter caused a build error * [Bugfix #512] Overlays failed to build if a component was used diff --git a/src/fabric-1.20.1/templates/elementinits/blockentities.java.ftl b/src/fabric-1.20.1/templates/elementinits/blockentities.java.ftl index ec9ae304..9cff3a92 100644 --- a/src/fabric-1.20.1/templates/elementinits/blockentities.java.ftl +++ b/src/fabric-1.20.1/templates/elementinits/blockentities.java.ftl @@ -37,6 +37,5 @@ public class ${JavaModName}BlockEntities { ${JavaModName}Blocks.${blockentity.getModElement().getRegistryNameUpper()}).build(null)); } - } <#-- @formatter:on --> \ No newline at end of file diff --git a/src/fabric-1.20.1/templates/elementinits/blocks.java.ftl b/src/fabric-1.20.1/templates/elementinits/blocks.java.ftl index e457abd6..7f88f369 100644 --- a/src/fabric-1.20.1/templates/elementinits/blocks.java.ftl +++ b/src/fabric-1.20.1/templates/elementinits/blocks.java.ftl @@ -35,8 +35,7 @@ public class ${JavaModName}Blocks { public static void load() { <#list blocks as block> <#if block.getModElement().getTypeString() != "dimension"> - ${block.getModElement().getRegistryNameUpper()} = Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(${JavaModName}.MODID, - "${block.getModElement().getRegistryName()}"), new ${block.getModElement().getName()}Block()); + ${block.getModElement().getRegistryNameUpper()} = register("${block.getModElement().getRegistryName()}", new ${block.getModElement().getName()}Block()); } @@ -49,6 +48,10 @@ public class ${JavaModName}Blocks { } + private static Block register(String registryName, Block block) { + return Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(${JavaModName}.MODID, registryName), block); + } + } <#-- @formatter:on --> \ No newline at end of file diff --git a/src/fabric-1.20.1/templates/elementinits/items.java.ftl b/src/fabric-1.20.1/templates/elementinits/items.java.ftl index fb53a886..945ea8c0 100644 --- a/src/fabric-1.20.1/templates/elementinits/items.java.ftl +++ b/src/fabric-1.20.1/templates/elementinits/items.java.ftl @@ -21,6 +21,7 @@ * MCreator note: This file will be REGENERATED on each build. */ +<#compress> package ${package}.init; <#assign hasBlocks = false> @@ -52,48 +53,40 @@ public class ${JavaModName}Items { public static void load() { <#list items as item> - <#if item.getModElement().getTypeString() == "armor"> - <#if item.enableHelmet> - ${item.getModElement().getRegistryNameUpper()}_HELMET = Registry.register(BuiltInRegistries.ITEM, - new ResourceLocation(${JavaModName}.MODID, "${item.getModElement().getRegistryName()}_helmet"), new ${item.getModElement().getName()}Item.Helmet()); - - <#if item.enableBody> - ${item.getModElement().getRegistryNameUpper()}_CHESTPLATE = Registry.register(BuiltInRegistries.ITEM, - new ResourceLocation(${JavaModName}.MODID, "${item.getModElement().getRegistryName()}_chestplate"), new ${item.getModElement().getName()}Item.Chestplate()); - - <#if item.enableLeggings> - ${item.getModElement().getRegistryNameUpper()}_LEGGINGS = Registry.register(BuiltInRegistries.ITEM, - new ResourceLocation(${JavaModName}.MODID, "${item.getModElement().getRegistryName()}_leggings"), new ${item.getModElement().getName()}Item.Leggings()); - - <#if item.enableBoots> - ${item.getModElement().getRegistryNameUpper()}_BOOTS = Registry.register(BuiltInRegistries.ITEM, - new ResourceLocation(${JavaModName}.MODID, "${item.getModElement().getRegistryName()}_boots"), new ${item.getModElement().getName()}Item.Boots()); - - <#elseif item.getModElement().getTypeString() == "livingentity"> - ${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG = Registry.register(BuiltInRegistries.ITEM,new ResourceLocation(${JavaModName}.MODID, - "${item.getModElement().getRegistryName()}_spawn_egg"), new SpawnEggItem(${JavaModName}Entities.${item.getModElement().getRegistryNameUpper()}, - ${item.spawnEggBaseColor.getRGB()}, ${item.spawnEggDotColor.getRGB()}, new Item.Properties())); - <#if item.creativeTab.getUnmappedValue() != "No creative tab entry"> - ItemGroupEvents.modifyEntriesEvent(${item.creativeTab}).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG)); - <#else> - ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.SPAWN_EGGS).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG)); - - <#elseif item.getModElement().getTypeString() == "block" || item.getModElement().getTypeString() == "plant"> - ${item.getModElement().getRegistryNameUpper()} = Registry.register(BuiltInRegistries.ITEM,new ResourceLocation(${JavaModName}.MODID, - "${item.getModElement().getRegistryName()}"), new BlockItem(${JavaModName}Blocks.${item.getModElement().getRegistryNameUpper()}, new Item.Properties())); + <#if item.getModElement().getTypeString() == "armor"> + <#if item.enableHelmet> + ${item.getModElement().getRegistryNameUpper()}_HELMET = register("${item.getModElement().getRegistryName()}_helmet", new ${item.getModElement().getName()}Item.Helmet()); + + <#if item.enableBody> + ${item.getModElement().getRegistryNameUpper()}_CHESTPLATE = register("${item.getModElement().getRegistryName()}_chestplate", new ${item.getModElement().getName()}Item.Chestplate()); + + <#if item.enableLeggings> + ${item.getModElement().getRegistryNameUpper()}_LEGGINGS = register("${item.getModElement().getRegistryName()}_leggings", new ${item.getModElement().getName()}Item.Leggings()); + + <#if item.enableBoots> + ${item.getModElement().getRegistryNameUpper()}_BOOTS = register("${item.getModElement().getRegistryName()}_boots", new ${item.getModElement().getName()}Item.Boots()); + + <#elseif item.getModElement().getTypeString() == "livingentity"> + ${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG = register("${item.getModElement().getRegistryName()}_spawn_egg", new SpawnEggItem(${JavaModName}Entities.${item.getModElement().getRegistryNameUpper()}, + ${item.spawnEggBaseColor.getRGB()}, ${item.spawnEggDotColor.getRGB()}, new Item.Properties())); <#if item.creativeTab.getUnmappedValue() != "No creative tab entry"> - ItemGroupEvents.modifyEntriesEvent(${item.creativeTab}).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()})); + ItemGroupEvents.modifyEntriesEvent(${item.creativeTab}).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG)); + <#else> + ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.SPAWN_EGGS).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG)); + + <#elseif item.getModElement().getTypeString() == "block" || item.getModElement().getTypeString() == "plant"> + ${item.getModElement().getRegistryNameUpper()} = register("${item.getModElement().getRegistryName()}", new BlockItem(${JavaModName}Blocks.${item.getModElement().getRegistryNameUpper()}, new Item.Properties())); + <#if item.creativeTab.getUnmappedValue() != "No creative tab entry"> + ItemGroupEvents.modifyEntriesEvent(${item.creativeTab}).register(content -> content.accept(${item.getModElement().getRegistryNameUpper()})); + + <#else> + <#if item.getModElement().getTypeString() != "dimension"> + ${item.getModElement().getRegistryNameUpper()} = register("${item.getModElement().getRegistryName()}", new ${item.getModElement().getName()}Item()); - <#else> - <#if item.getModElement().getTypeString() != "dimension"> - ${item.getModElement().getRegistryNameUpper()} = Registry.register(BuiltInRegistries.ITEM, - new ResourceLocation(${JavaModName}.MODID, "${item.getModElement().getRegistryName()}"), new ${item.getModElement().getName()}Item()); - } - <#compress> public static void clientLoad() { <#if hasItemsWithProperties> <#list items as item> @@ -115,14 +108,20 @@ public class ${JavaModName}Items { ); <#elseif item.getModElement().getTypeString() == "tool" && item.toolType == "Shield"> - ItemProperties.register(${item.getModElement().getRegistryNameUpper()}, new ResourceLocation("blocking"), - ItemProperties.getProperty(Items.SHIELD, new ResourceLocation("blocking"))); + registerBlockingProperty(${item.getModElement().getRegistryNameUpper()); } - -} + private static Item register(String registryName, Item item) { + return Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(${JavaModName}.MODID, registryName), item); + } -<#-- @formatter:on --> + private static void registerBlockingProperty(Item item) { + ItemProperties.register(item, new ResourceLocation("blocking"), ItemProperties.getProperty(Items.SHIELD, new ResourceLocation("blocking"))); + } + +} + +<#-- @formatter:on --> \ No newline at end of file diff --git a/src/fabric-1.20.1/templates/elementinits/potioneffects.java.ftl b/src/fabric-1.20.1/templates/elementinits/potioneffects.java.ftl index 743480f4..d5db112c 100644 --- a/src/fabric-1.20.1/templates/elementinits/potioneffects.java.ftl +++ b/src/fabric-1.20.1/templates/elementinits/potioneffects.java.ftl @@ -32,9 +32,13 @@ public class ${JavaModName}MobEffects { public static void load() { <#list potioneffects as effect> - ${effect.getModElement().getRegistryNameUpper()} = Registry.register(BuiltInRegistries.MOB_EFFECT, new ResourceLocation(${JavaModName}.MODID, "${effect.getModElement().getRegistryName()}"), new ${effect.getModElement().getName()}MobEffect()); + ${effect.getModElement().getRegistryNameUpper()} = register("${effect.getModElement().getRegistryName()}", new ${effect.getModElement().getName()}MobEffect()); } + + private static Item register(String registryName, MobEffect element) { + return Registry.register(BuiltInRegistries.MOB_EFFECT, new ResourceLocation(${JavaModName}.MODID, registryName), element); + } } <#-- @formatter:on --> \ No newline at end of file diff --git a/src/fabric-1.20.1/templates/elementinits/potions.java.ftl b/src/fabric-1.20.1/templates/elementinits/potions.java.ftl index 13e19e42..04584989 100644 --- a/src/fabric-1.20.1/templates/elementinits/potions.java.ftl +++ b/src/fabric-1.20.1/templates/elementinits/potions.java.ftl @@ -32,14 +32,18 @@ public class ${JavaModName}Potions { public static void load() { <#list potions as potion> - ${potion.getModElement().getRegistryNameUpper()} = Registry.register(BuiltInRegistries.POTION, new ResourceLocation(${JavaModName}.MODID, "${potion.getModElement().getRegistryName()}"), - new Potion( + ${potion.getModElement().getRegistryNameUpper()} = register("${potion.getModElement().getRegistryName()}", + new Potion( <#list potion.effects as effect> new MobEffectInstance(${effect.effect}, ${effect.duration}, ${effect.amplifier}, ${effect.ambient}, ${effect.showParticles})<#if effect?has_next>, )); } + private static Item register(String registryName, Potion element) { + return Registry.register(BuiltInRegistries.POTION, new ResourceLocation(${JavaModName}.MODID, registryName), element); + } + } <#-- @formatter:on --> \ No newline at end of file