Skip to content

Commit 3f7a479

Browse files
committed
Updated workflow + armor ME improvements
1 parent 70fab98 commit 3f7a479

File tree

2 files changed

+66
-47
lines changed

2 files changed

+66
-47
lines changed

.github/workflows/test.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ jobs:
2727
- name: Set up JDK 21
2828
uses: actions/setup-java@v4
2929
with:
30-
java-version: '21.0.7+6.0.LTS'
30+
java-version: '21.0.8+9.0.LTS'
3131
distribution: 'temurin'
32+
- name: Setup Gradle
33+
uses: gradle/actions/setup-gradle@v4
3234
- name: Cache Gradle Packages
3335
uses: actions/cache@v4
3436
with:
@@ -40,12 +42,10 @@ jobs:
4042
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
4143
restore-keys: |
4244
${{ runner.os }}-gradle-
43-
- name: Grant execute permission for gradlew
44-
run: chmod +x ./gradlew
45-
- name: Run MCreator Test With Plugin
46-
run: xvfb-run -a ./gradlew test --project-prop mcreator_path=${{ github.workspace }}/mcreator
45+
- name: Build and Test Using Gradle
46+
run: xvfb-run -a gradle test --project-prop mcreator_path=${{ github.workspace }}/mcreator
4747
- name: Test Javadoc Generation
48-
run: ./gradlew javadoc
48+
run: gradle javadoc
4949
- name: Publish Test Report
5050
uses: mikepenz/action-junit-report@9379f0ccddcab154835d4e2487555ee79614fe95
5151
if: always() # always run even if the previous step fails

src/main/resources/neoforge-1.21.4/templates/armor.java.ftl

Lines changed: 60 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,22 @@ import net.minecraft.client.model.Model;
6666
<#if data.enableHelmet>
6767
event.registerItem(new IClientItemExtensions() {
6868
<#if data.helmetModelName != "Default" && data.getHelmetModel()??>
69+
private HumanoidModel armorModel = null;
6970
@Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(ItemStack itemStack, EquipmentClientInfo.LayerType layerType, Model original) {
70-
return new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
71-
"head", new ModelPart(Collections.emptyList(), Map.of(
72-
"head", new ${data.helmetModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.helmetModelName}.LAYER_LOCATION)).${data.helmetModelPart},
73-
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
74-
)),
75-
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
76-
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
77-
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
78-
"right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
79-
"left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())
80-
)));
71+
if (armorModel == null) {
72+
armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
73+
"head", new ModelPart(Collections.emptyList(), Map.of(
74+
"head", new ${data.helmetModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.helmetModelName}.LAYER_LOCATION)).${data.helmetModelPart},
75+
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
76+
)),
77+
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
78+
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
79+
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
80+
"right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
81+
"left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())
82+
)));
83+
}
84+
return armorModel;
8185
}
8286
</#if>
8387

@@ -94,17 +98,22 @@ import net.minecraft.client.model.Model;
9498
<#if data.enableBody>
9599
event.registerItem(new IClientItemExtensions() {
96100
<#if data.bodyModelName != "Default" && data.getBodyModel()??>
101+
private HumanoidModel armorModel = null;
97102
@Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(ItemStack itemStack, EquipmentClientInfo.LayerType layerType, Model original) {
98-
return new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
99-
"body", new ${data.bodyModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bodyModelName}.LAYER_LOCATION)).${data.bodyModelPart},
100-
"left_arm", new ${data.bodyModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bodyModelName}.LAYER_LOCATION)).${data.armsModelPartL},
101-
"right_arm", new ${data.bodyModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bodyModelName}.LAYER_LOCATION)).${data.armsModelPartR},
102-
"head", new ModelPart(Collections.emptyList(), Map.of(
103-
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
104-
)),
105-
"right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
106-
"left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())
107-
)));
103+
if (armorModel == null) {
104+
${data.bodyModelName} model = new ${data.bodyModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bodyModelName}.LAYER_LOCATION));
105+
armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
106+
"body", model.${data.bodyModelPart},
107+
"left_arm", model.${data.armsModelPartL},
108+
"right_arm", model.${data.armsModelPartR},
109+
"head", new ModelPart(Collections.emptyList(), Map.of(
110+
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
111+
)),
112+
"right_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
113+
"left_leg", new ModelPart(Collections.emptyList(), Collections.emptyMap())
114+
)));
115+
}
116+
return armorModel;
108117
}
109118
</#if>
110119

@@ -121,17 +130,22 @@ import net.minecraft.client.model.Model;
121130
<#if data.enableLeggings>
122131
event.registerItem(new IClientItemExtensions() {
123132
<#if data.leggingsModelName != "Default" && data.getLeggingsModel()??>
133+
private HumanoidModel armorModel = null;
124134
@Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(ItemStack itemStack, EquipmentClientInfo.LayerType layerType, Model original) {
125-
return new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
126-
"left_leg", new ${data.leggingsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.leggingsModelName}.LAYER_LOCATION)).${data.leggingsModelPartL},
127-
"right_leg", new ${data.leggingsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.leggingsModelName}.LAYER_LOCATION)).${data.leggingsModelPartR},
128-
"head", new ModelPart(Collections.emptyList(), Map.of(
129-
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
130-
)),
131-
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
132-
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
133-
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())
134-
)));
135+
if (armorModel == null) {
136+
${data.leggingsModelName} model = new ${data.leggingsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.leggingsModelName}.LAYER_LOCATION));
137+
armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
138+
"left_leg", model.${data.leggingsModelPartL},
139+
"right_leg", model.${data.leggingsModelPartR},
140+
"head", new ModelPart(Collections.emptyList(), Map.of(
141+
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
142+
)),
143+
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
144+
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
145+
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())
146+
)));
147+
}
148+
return armorModel;
135149
}
136150
</#if>
137151

@@ -148,17 +162,22 @@ import net.minecraft.client.model.Model;
148162
<#if data.enableBoots>
149163
event.registerItem(new IClientItemExtensions() {
150164
<#if data.bootsModelName != "Default" && data.getBootsModel()??>
165+
private HumanoidModel armorModel = null;
151166
@Override @OnlyIn(Dist.CLIENT) public HumanoidModel getHumanoidArmorModel(ItemStack itemStack, EquipmentClientInfo.LayerType layerType, Model original) {
152-
return new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
153-
"left_leg", new ${data.bootsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bootsModelName}.LAYER_LOCATION)).${data.bootsModelPartL},
154-
"right_leg", new ${data.bootsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bootsModelName}.LAYER_LOCATION)).${data.bootsModelPartR},
155-
"head", new ModelPart(Collections.emptyList(), Map.of(
156-
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
157-
)),
158-
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
159-
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
160-
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())
161-
)));
167+
if (armorModel == null) {
168+
${data.bootsModelName} model = new ${data.bootsModelName}(Minecraft.getInstance().getEntityModels().bakeLayer(${data.bootsModelName}.LAYER_LOCATION));
169+
armorModel = new HumanoidModel(new ModelPart(Collections.emptyList(), Map.of(
170+
"left_leg", model.${data.bootsModelPartL},
171+
"right_leg", model.${data.bootsModelPartR},
172+
"head", new ModelPart(Collections.emptyList(), Map.of(
173+
"hat", new ModelPart(Collections.emptyList(), Collections.emptyMap())
174+
)),
175+
"body", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
176+
"right_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap()),
177+
"left_arm", new ModelPart(Collections.emptyList(), Collections.emptyMap())
178+
)));
179+
}
180+
return armorModel;
162181
}
163182
</#if>
164183

0 commit comments

Comments
 (0)