Skip to content

Commit

Permalink
Partial fix #449
Browse files Browse the repository at this point in the history
  • Loading branch information
Goldorion committed Mar 15, 2024
1 parent cb82c99 commit 81ddc38
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 47 deletions.
2 changes: 2 additions & 0 deletions 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
Expand Down
Expand Up @@ -37,6 +37,5 @@ public class ${JavaModName}BlockEntities {
${JavaModName}Blocks.${blockentity.getModElement().getRegistryNameUpper()}).build(null));
</#list>
}

}
<#-- @formatter:on -->
7 changes: 5 additions & 2 deletions src/fabric-1.20.1/templates/elementinits/blocks.java.ftl
Expand Up @@ -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());
</#if>
</#list>
}
Expand All @@ -49,6 +48,10 @@ public class ${JavaModName}Blocks {
</#list>
}

private static Block register(String registryName, Block block) {
return Registry.register(BuiltInRegistries.BLOCK, new ResourceLocation(${JavaModName}.MODID, registryName), block);
}

}

<#-- @formatter:on -->
81 changes: 40 additions & 41 deletions src/fabric-1.20.1/templates/elementinits/items.java.ftl
Expand Up @@ -21,6 +21,7 @@
* MCreator note: This file will be REGENERATED on each build.
*/

<#compress>
package ${package}.init;

<#assign hasBlocks = false>
Expand Down Expand Up @@ -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>
<#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>
<#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>
<#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());
</#if>
<#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));
</#if>
<#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>
<#if item.enableBody>
${item.getModElement().getRegistryNameUpper()}_CHESTPLATE = register("${item.getModElement().getRegistryName()}_chestplate", new ${item.getModElement().getName()}Item.Chestplate());
</#if>
<#if item.enableLeggings>
${item.getModElement().getRegistryNameUpper()}_LEGGINGS = register("${item.getModElement().getRegistryName()}_leggings", new ${item.getModElement().getName()}Item.Leggings());
</#if>
<#if item.enableBoots>
${item.getModElement().getRegistryNameUpper()}_BOOTS = register("${item.getModElement().getRegistryName()}_boots", new ${item.getModElement().getName()}Item.Boots());
</#if>
<#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));
</#if>
<#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()}));
</#if>
<#else>
<#if item.getModElement().getTypeString() != "dimension">
${item.getModElement().getRegistryNameUpper()} = register("${item.getModElement().getRegistryName()}", new ${item.getModElement().getName()}Item());
</#if>
<#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());
</#if>
</#if>
</#list>
}

<#compress>
public static void clientLoad() {
<#if hasItemsWithProperties>
<#list items as item>
Expand All @@ -115,14 +108,20 @@ public class ${JavaModName}Items {
);
</#list>
<#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());
</#if>
</#list>
</#if>
}
</#compress>

}
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")));
}

}
</#compress>
<#-- @formatter:on -->
Expand Up @@ -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());
</#list>
}

private static Item register(String registryName, MobEffect element) {
return Registry.register(BuiltInRegistries.MOB_EFFECT, new ResourceLocation(${JavaModName}.MODID, registryName), element);
}
}

<#-- @formatter:on -->
8 changes: 6 additions & 2 deletions src/fabric-1.20.1/templates/elementinits/potions.java.ftl
Expand Up @@ -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>,</#if>
</#list>));
</#list>
}

private static Item register(String registryName, Potion element) {
return Registry.register(BuiltInRegistries.POTION, new ResourceLocation(${JavaModName}.MODID, registryName), element);
}

}

<#-- @formatter:on -->

0 comments on commit 81ddc38

Please sign in to comment.