Skip to content

Commit 5d2ebfb

Browse files
committed
add easter egg if renaming omni-breaker, does not have proper textures yet
1 parent 1b43fdb commit 5d2ebfb

File tree

7 files changed

+57
-4
lines changed

7 files changed

+57
-4
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "gtmutils:item/meownibreaker"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/generated",
3+
"textures": {
4+
"layer0": "gtmutils:item/monibreaker"
5+
}
6+
}

src/generated/resources/assets/gtmutils/models/item/omnibreaker.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
{
22
"parent": "minecraft:item/generated",
3+
"overrides": [
4+
{
5+
"model": "gtmutils:item/monibreaker",
6+
"predicate": {
7+
"gtmutils:omnibreaker_name": 1.0
8+
}
9+
},
10+
{
11+
"model": "gtmutils:item/meownibreaker",
12+
"predicate": {
13+
"gtmutils:omnibreaker_name": 2.0
14+
}
15+
}
16+
],
317
"textures": {
418
"layer0": "gtmutils:item/omnibreaker"
519
}

src/main/java/net/neganote/gtutilities/GregTechModernUtilities.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@
1010
import com.gregtechceu.gtceu.common.data.GTCreativeModeTabs;
1111
import com.gregtechceu.gtceu.common.data.GTItems;
1212

13-
import net.minecraft.client.Minecraft;
13+
import net.minecraft.client.renderer.item.ItemProperties;
1414
import net.minecraft.resources.ResourceLocation;
1515
import net.minecraft.world.item.CreativeModeTab;
1616
import net.minecraft.world.item.Items;
1717
import net.minecraftforge.common.MinecraftForge;
1818
import net.minecraftforge.eventbus.api.IEventBus;
19+
import net.minecraftforge.eventbus.api.SubscribeEvent;
1920
import net.minecraftforge.fml.common.Mod;
2021
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
2122
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
@@ -98,8 +99,18 @@ private void commonSetup(final FMLCommonSetupEvent event) {
9899
});
99100
}
100101

101-
private void clientSetup(final FMLClientSetupEvent event) {
102-
LOGGER.info("Hey, we're on Minecraft version {}!", Minecraft.getInstance().getLaunchedVersion());
102+
@SubscribeEvent
103+
public void clientSetup(final FMLClientSetupEvent event) {
104+
event.enqueueWork(() -> ItemProperties.register(UtilItems.OMNIBREAKER.get(), id("omnibreaker_name"),
105+
(itemStack, clientLevel, livingEntity, i) -> {
106+
String hoverName = itemStack.getHoverName().getString().toLowerCase();
107+
if (hoverName.equals("monibreaker")) {
108+
return 1;
109+
} else if (hoverName.equals("meownibreaker")) {
110+
return 2;
111+
}
112+
return 0;
113+
}));
103114
}
104115

105116
// You MUST have this for custom materials.

src/main/java/net/neganote/gtutilities/common/item/UtilItems.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.gregtechceu.gtceu.api.item.component.ElectricStats;
55
import com.gregtechceu.gtceu.api.item.component.IItemComponent;
66

7+
import net.minecraft.resources.ResourceLocation;
78
import net.neganote.gtutilities.GregTechModernUtilities;
89
import net.neganote.gtutilities.config.UtilConfig;
910

@@ -27,7 +28,22 @@ public class UtilItems {
2728
OMNIBREAKER = REGISTRATE
2829
.item("omnibreaker", (p) -> OmniBreakerItem.create(p, OMNIBREAKER_TIER))
2930
.lang("Omni-breaker")
30-
.defaultModel()
31+
.model((ctx, prov) -> {
32+
ResourceLocation generatedItem = new ResourceLocation("item/generated");
33+
prov
34+
.withExistingParent(ctx.getName(), generatedItem)
35+
.texture("layer0", GregTechModernUtilities.id("item/omnibreaker"))
36+
.override()
37+
.predicate(GregTechModernUtilities.id("omnibreaker_name"), 1)
38+
.model(prov.withExistingParent("monibreaker", generatedItem)
39+
.texture("layer0", GregTechModernUtilities.id("item/monibreaker")))
40+
.end()
41+
.override()
42+
.predicate(GregTechModernUtilities.id("omnibreaker_name"), 2)
43+
.model(prov.withExistingParent("meownibreaker", generatedItem)
44+
.texture("layer0", GregTechModernUtilities.id("item/meownibreaker")))
45+
.end();
46+
})
3147
.properties(p -> p.stacksTo(1).durability(0))
3248
.onRegister(attach(
3349
ElectricStats.createElectricItem(UtilConfig.INSTANCE.features.omnibreakerEnergyCapacity,
168 Bytes
Loading
146 Bytes
Loading

0 commit comments

Comments
 (0)