Skip to content

Commit 374ca5e

Browse files
committed
make generated action templates with item icons usable
1 parent 1c6018d commit 374ca5e

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

‎src/main/java/dev/dfonline/codeclient/hypercube/actiondump/Action.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import dev.dfonline.codeclient.hypercube.template.Argument;
1010
import dev.dfonline.codeclient.hypercube.template.Bracket;
1111
import net.minecraft.item.ItemStack;
12+
import net.minecraft.item.Items;
1213
import org.jetbrains.annotations.Nullable;
1314

1415
import java.io.IOException;
@@ -43,7 +44,7 @@ public CodeBlock getCodeBlock() {
4344

4445
@Override
4546
public ItemStack getItem() {
46-
ItemStack item = icon.getItem();
47+
ItemStack item = icon.getItem(Items.ENDER_CHEST);
4748
JsonObject CodeTemplateData = new JsonObject();
4849
CodeTemplateData.addProperty("author", CodeClient.MC.getSession().getUsername());
4950
CodeTemplateData.addProperty("name", icon.name);

‎src/main/java/dev/dfonline/codeclient/hypercube/actiondump/Icon.java‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import dev.dfonline.codeclient.hypercube.item.Sound;
1010
import dev.dfonline.codeclient.hypercube.item.VarItem;
1111
import dev.dfonline.codeclient.hypercube.item.*;
12+
import net.minecraft.component.DataComponentTypes;
1213
import net.minecraft.item.Item;
1314
import net.minecraft.item.ItemStack;
1415
import net.minecraft.item.Items;
@@ -26,6 +27,7 @@
2627
import java.util.ArrayList;
2728
import java.util.List;
2829
import java.util.Locale;
30+
import java.util.Objects;
2931

3032
public class Icon {
3133
private static final TextColor GOLD = TextColor.fromFormatting(Formatting.GOLD);
@@ -59,7 +61,16 @@ public String getCleanName() {
5961
}
6062

6163
public ItemStack getItem() {
62-
ItemStack item = Registries.ITEM.get(Identifier.ofVanilla(material.toLowerCase())).getDefaultStack();
64+
return getItem(null);
65+
}
66+
public ItemStack getItem(@Nullable Item realMaterial) {
67+
Identifier materialIdentifier = Identifier.ofVanilla(this.material.toLowerCase());
68+
ItemStack item = realMaterial == null
69+
? Registries.ITEM.get(materialIdentifier).getDefaultStack()
70+
: realMaterial.getDefaultStack();
71+
if (realMaterial != null) {
72+
item.set(DataComponentTypes.ITEM_MODEL, materialIdentifier);
73+
}
6374

6475
DFItem dfItem = DFItem.of(item);
6576
ItemData data = dfItem.getItemData();

0 commit comments

Comments
 (0)