Skip to content

Commit 4fa014f

Browse files
committed
Fix
1 parent 2bb1421 commit 4fa014f

File tree

2 files changed

+82
-50
lines changed

2 files changed

+82
-50
lines changed

src/main/resources/forge-1.19.2/templates/elementinits/items.java.ftl

Lines changed: 70 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -87,60 +87,91 @@ package ${package}.init;
8787
</#list>
8888

8989
<#assign orderedItems = orderedCustomItems + orderedVanillaItems + orderedNullItems>
90+
<#assign chunks = orderedItems?chunk(2500)>
91+
<#assign has_chunks = chunks?size gt 1>
92+
9093
<#if hasItemsWithProperties>
9194
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
9295
</#if>
9396
public class ${JavaModName}Items {
9497

9598
public static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, ${JavaModName}.MODID);
9699

100+
<@javacompress>
97101
<#list orderedItems as item>
98102
<#if item.getModElement().getTypeString() == "armor">
99-
<#if item.enableHelmet>
100-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_HELMET =
101-
REGISTRY.register("${item.getModElement().getRegistryName()}_helmet", ${item.getModElement().getName()}Item.Helmet::new);
102-
</#if>
103-
<#if item.enableBody>
104-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_CHESTPLATE =
105-
REGISTRY.register("${item.getModElement().getRegistryName()}_chestplate", ${item.getModElement().getName()}Item.Chestplate::new);
106-
</#if>
107-
<#if item.enableLeggings>
108-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_LEGGINGS =
109-
REGISTRY.register("${item.getModElement().getRegistryName()}_leggings", ${item.getModElement().getName()}Item.Leggings::new);
110-
</#if>
111-
<#if item.enableBoots>
112-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_BOOTS =
113-
REGISTRY.register("${item.getModElement().getRegistryName()}_boots", ${item.getModElement().getName()}Item.Boots::new);
114-
</#if>
103+
<#if item.enableHelmet>public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_HELMET;</#if>
104+
<#if item.enableBody>public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_CHESTPLATE;</#if>
105+
<#if item.enableLeggings>public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_LEGGINGS;</#if>
106+
<#if item.enableBoots>public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_BOOTS;</#if>
115107
<#elseif item.getModElement().getTypeString() == "livingentity">
116-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG =
117-
REGISTRY.register("${item.getModElement().getRegistryName()}_spawn_egg", () -> new ForgeSpawnEggItem(${JavaModName}Entities.${item.getModElement().getRegistryNameUpper()},
118-
${item.spawnEggBaseColor.getRGB()}, ${item.spawnEggDotColor.getRGB()}, new Item.Properties().tab(<@CreativeTabs item.creativeTabs/>)));
119-
<#elseif item.getModElement().getTypeString() == "dimension" && item.hasIgniter()>
120-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()} =
121-
REGISTRY.register("${item.getModElement().getRegistryName()}", ${item.getModElement().getName()}Item::new);
108+
public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG;
122109
<#elseif item.getModElement().getTypeString() == "fluid" && item.generateBucket>
123-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_BUCKET =
124-
REGISTRY.register("${item.getModElement().getRegistryName()}_bucket", ${item.getModElement().getName()}Item::new);
125-
<#elseif item.getModElement().getTypeString() == "block" || item.getModElement().getTypeString() == "plant">
126-
<#assign customProp = item.hasCustomItemProperties()>
127-
<#if item.isDoubleBlock()>
128-
<#assign hasDoubleBlocks = true>
129-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()} =
110+
public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()}_BUCKET;
111+
<#else>
112+
public static <#if !has_chunks>final</#if> RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()};
113+
</#if>
114+
</#list>
115+
</@javacompress>
116+
117+
<#list chunks as sub_items>
118+
<#if has_chunks>public static void register${sub_items?index}()<#else>static</#if> {
119+
<#list sub_items as item>
120+
<#if item.getModElement().getTypeString() == "armor">
121+
<#if item.enableHelmet>
122+
${item.getModElement().getRegistryNameUpper()}_HELMET =
123+
REGISTRY.register("${item.getModElement().getRegistryName()}_helmet", ${item.getModElement().getName()}Item.Helmet::new);
124+
</#if>
125+
<#if item.enableBody>
126+
${item.getModElement().getRegistryNameUpper()}_CHESTPLATE =
127+
REGISTRY.register("${item.getModElement().getRegistryName()}_chestplate", ${item.getModElement().getName()}Item.Chestplate::new);
128+
</#if>
129+
<#if item.enableLeggings>
130+
${item.getModElement().getRegistryNameUpper()}_LEGGINGS =
131+
REGISTRY.register("${item.getModElement().getRegistryName()}_leggings", ${item.getModElement().getName()}Item.Leggings::new);
132+
</#if>
133+
<#if item.enableBoots>
134+
${item.getModElement().getRegistryNameUpper()}_BOOTS =
135+
REGISTRY.register("${item.getModElement().getRegistryName()}_boots", ${item.getModElement().getName()}Item.Boots::new);
136+
</#if>
137+
<#elseif item.getModElement().getTypeString() == "livingentity">
138+
${item.getModElement().getRegistryNameUpper()}_SPAWN_EGG =
139+
REGISTRY.register("${item.getModElement().getRegistryName()}_spawn_egg",
140+
() -> new ForgeSpawnEggItem(${JavaModName}Entities.${item.getModElement().getRegistryNameUpper()},
141+
${item.spawnEggBaseColor.getRGB()}, ${item.spawnEggDotColor.getRGB()}, new Item.Properties().tab(<@CreativeTabs item.creativeTabs/>)));
142+
<#elseif item.getModElement().getTypeString() == "dimension" && item.hasIgniter()>
143+
${item.getModElement().getRegistryNameUpper()} =
144+
REGISTRY.register("${item.getModElement().getRegistryName()}", ${item.getModElement().getName()}Item::new);
145+
<#elseif item.getModElement().getTypeString() == "fluid" && item.generateBucket>
146+
${item.getModElement().getRegistryNameUpper()}_BUCKET =
147+
REGISTRY.register("${item.getModElement().getRegistryName()}_bucket", ${item.getModElement().getName()}Item::new);
148+
<#elseif item.getModElement().getTypeString() == "block" || item.getModElement().getTypeString() == "plant">
149+
<#assign customProp = item.hasCustomItemProperties()>
150+
<#if item.isDoubleBlock()>
151+
<#assign hasDoubleBlocks = true>
152+
${item.getModElement().getRegistryNameUpper()} =
130153
doubleBlock<#if !customProp>CMT</#if>(${JavaModName}Blocks.${item.getModElement().getRegistryNameUpper()},
131154
<#if customProp><@blockItemProperties item/><#else><@CreativeTabs item.creativeTabs/></#if>);
132-
<#else>
133-
<#assign hasBlocks = true>
134-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()} =
155+
<#else>
156+
<#assign hasBlocks = true>
157+
${item.getModElement().getRegistryNameUpper()} =
135158
block<#if !customProp>CMT</#if>(${JavaModName}Blocks.${item.getModElement().getRegistryNameUpper()},
136159
<#if customProp><@blockItemProperties item/><#else><@CreativeTabs item.creativeTabs/></#if>);
160+
</#if>
161+
<#else>
162+
${item.getModElement().getRegistryNameUpper()} =
163+
REGISTRY.register("${item.getModElement().getRegistryName()}", ${item.getModElement().getName()}Item::new);
137164
</#if>
138-
<#else>
139-
public static final RegistryObject<Item> ${item.getModElement().getRegistryNameUpper()} =
140-
REGISTRY.register("${item.getModElement().getRegistryName()}", ${item.getModElement().getName()}Item::new);
141-
</#if>
165+
</#list>
166+
}
142167
</#list>
143168

169+
<#if has_chunks>
170+
static {
171+
<#list 0..chunks?size-1 as i>register${i}();</#list>
172+
}
173+
</#if>
174+
144175
// Start of user code block custom items
145176
// End of user code block custom items
146177

@@ -165,10 +196,9 @@ public class ${JavaModName}Items {
165196
</#if>
166197

167198
<#if hasItemsWithProperties>
168-
<#compress>
169-
@SubscribeEvent @OnlyIn(Dist.CLIENT) public static void clientLoad(FMLClientSetupEvent event) {
199+
@SubscribeEvent @OnlyIn(Dist.CLIENT) public static void clientLoad(FMLClientSetupEvent event) {
170200
event.enqueueWork(() -> {
171-
<#compress>
201+
<@javacompress>
172202
<#list items as item>
173203
<#if item.getModElement().getTypeString() == "item">
174204
<#list item.customProperties.entrySet() as property>
@@ -192,10 +222,9 @@ public class ${JavaModName}Items {
192222
ItemProperties.getProperty(Items.SHIELD, new ResourceLocation("minecraft:blocking")));
193223
</#if>
194224
</#list>
195-
</#compress>
225+
</@javacompress>
196226
});
197227
}
198-
</#compress>
199228
</#if>
200229
}
201230
<#macro blockItemProperties block>

src/main/resources/forge-1.19.2/templates/item/item_renderer.java.ftl

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ package ${package}.client.renderer.item;
6363
</#list>
6464
}
6565

66-
@Override public void renderByItem(ItemStack itemstack, ItemDisplayContext displayContext, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
66+
@Override public void renderByItem(ItemStack itemstack, ItemTransforms.TransformType displayContext, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
6767
<#if data.hasCustomJAVAModel() && data.animations?has_content>
6868
updateRenderState(itemstack);
6969
</#if>
@@ -87,7 +87,7 @@ package ${package}.client.renderer.item;
8787
Minecraft.getInstance().getItemRenderer().getModel(this.transformSource, null, null, 0).applyTransform(displayContext, poseStack, isLeftHand(displayContext));
8888
poseStack.translate(0.5, isInventory(displayContext) ? 1.5 : 2, 0.5);
8989
poseStack.mulPose(Axis.ZP.rotationDegrees(180.0F));
90-
poseStack.scale(1, 1, displayContext == ItemDisplayContext.GUI ? -1 : 1);
90+
poseStack.scale(1, 1, displayContext == ItemTransforms.TransformType.GUI ? -1 : 1);
9191
VertexConsumer vertexConsumer = ItemRenderer.getFoilBufferDirect(bufferSource, model.renderType(texture), false, itemstack.hasFoil());
9292
<#if data.hasCustomJAVAModel() && data.animations?has_content>
9393
if (model instanceof AnimatedModel animatedModel)
@@ -99,12 +99,12 @@ package ${package}.client.renderer.item;
9999
poseStack.popPose();
100100
}
101101

102-
private static boolean isLeftHand(ItemDisplayContext type) {
103-
return type == ItemDisplayContext.FIRST_PERSON_LEFT_HAND || type == ItemDisplayContext.THIRD_PERSON_LEFT_HAND;
102+
private static boolean isLeftHand(ItemTransforms.TransformType type) {
103+
return type == ItemTransforms.TransformType.FIRST_PERSON_LEFT_HAND || type == ItemTransforms.TransformType.THIRD_PERSON_LEFT_HAND;
104104
}
105105

106-
private static boolean isInventory(ItemDisplayContext type) {
107-
return type == ItemDisplayContext.GUI || type == ItemDisplayContext.FIXED;
106+
private static boolean isInventory(ItemTransforms.TransformType type) {
107+
return type == ItemTransforms.TransformType.GUI || type == ItemTransforms.TransformType.FIXED;
108108
}
109109

110110
<#if data.hasCustomJAVAModel() && data.animations?has_content>
@@ -118,16 +118,19 @@ package ${package}.client.renderer.item;
118118
int tickCount = (int) (System.currentTimeMillis() - start) / 50;
119119
<#list data.animations as animation>
120120
<#if hasProcedure(animation.condition)>
121-
getAnimationState(itemstack).get(${animation?index}).animateWhen(<@procedureCode animation.condition, {
121+
if(<@procedureCode animation.condition, {
122122
"itemstack": "itemstack",
123123
"x": "Minecraft.getInstance().player.getX()",
124124
"y": "Minecraft.getInstance().player.getY()",
125125
"z": "Minecraft.getInstance().player.getZ()",
126126
"entity": "Minecraft.getInstance().player",
127127
"world": "Minecraft.getInstance().level"
128-
}, false/>, tickCount);
128+
}, false/>)
129+
getAnimationState(itemstack).get(${animation?index}).startIfStopped(tickCount);
130+
else
131+
getAnimationState(itemstack).get(${animation?index}).stop();
129132
<#else>
130-
getAnimationState(itemstack).get(${animation?index}).animateWhen(true, tickCount);
133+
getAnimationState(itemstack).get(${animation?index}).startIfStopped(tickCount);
131134
</#if>
132135
</#list>
133136
}

0 commit comments

Comments
 (0)