diff --git a/src/main/java/net/zepalesque/redux/data/gen/ReduxItemModelGen.java b/src/main/java/net/zepalesque/redux/data/gen/ReduxItemModelGen.java index 097292526..54477d670 100644 --- a/src/main/java/net/zepalesque/redux/data/gen/ReduxItemModelGen.java +++ b/src/main/java/net/zepalesque/redux/data/gen/ReduxItemModelGen.java @@ -27,21 +27,20 @@ protected void registerModels() { this.itemBlock(ReduxBlocks.SENTRY_STONE_BASE.get()); this.itemBlock(ReduxBlocks.SENTRY_STONE_PILLAR.get()); - this.itemLockedDungeonBlock(ReduxBlocks.LOCKED_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get()); - this.itemLockedDungeonBlock(ReduxBlocks.LOCKED_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get()); - this.itemLockedDungeonBlock(ReduxBlocks.LOCKED_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get()); - this.itemLockedDungeonBlock(ReduxBlocks.LOCKED_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get()); - - this.itemTrappedDungeonBlock(ReduxBlocks.TRAPPED_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get()); - this.itemTrappedDungeonBlock(ReduxBlocks.TRAPPED_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get()); - this.itemTrappedDungeonBlock(ReduxBlocks.TRAPPED_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get()); - this.itemTrappedDungeonBlock(ReduxBlocks.TRAPPED_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get()); - - this.itemBossDoorwayDungeonBlock(ReduxBlocks.BOSS_DOORWAY_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get()); - this.itemBossDoorwayDungeonBlock(ReduxBlocks.BOSS_DOORWAY_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get()); - this.itemBossDoorwayDungeonBlock(ReduxBlocks.BOSS_DOORWAY_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get()); - this.itemBossDoorwayDungeonBlock(ReduxBlocks.BOSS_DOORWAY_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get()); - - + this.itemOverlayBlock(ReduxBlocks.LOCKED_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get(), "dungeon/lock"); + this.itemOverlayBlock(ReduxBlocks.LOCKED_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get(), "dungeon/lock"); + this.itemOverlayBlock(ReduxBlocks.LOCKED_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get(), "dungeon/lock"); + this.itemOverlayBlock(ReduxBlocks.LOCKED_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get(), "dungeon/lock"); + + this.itemOverlayBlock(ReduxBlocks.TRAPPED_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get(), "dungon/exclamation"); + this.itemOverlayBlock(ReduxBlocks.TRAPPED_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get(), "dungon/exclamation"); + this.itemOverlayBlock(ReduxBlocks.TRAPPED_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get(), "dungon/exclamation"); + this.itemOverlayBlock(ReduxBlocks.TRAPPED_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get(), "dungon/exclamation"); + + this.itemOverlayBlock(ReduxBlocks.BOSS_DOORWAY_CARVED_STONE_BASE.get(), ReduxBlocks.CARVED_STONE_BASE.get(), "dungeon/door"); + this.itemOverlayBlock(ReduxBlocks.BOSS_DOORWAY_CARVED_STONE_PILLAR.get(), ReduxBlocks.CARVED_STONE_PILLAR.get(), "dungeon/door"); + this.itemOverlayBlock(ReduxBlocks.BOSS_DOORWAY_SENTRY_STONE_BASE.get(), ReduxBlocks.SENTRY_STONE_BASE.get(), "dungeon/door"); + this.itemOverlayBlock(ReduxBlocks.BOSS_DOORWAY_SENTRY_STONE_PILLAR.get(), ReduxBlocks.SENTRY_STONE_PILLAR.get(), "dungeon/door"); } + } diff --git a/src/main/java/net/zepalesque/redux/data/prov/ReduxItemModelProvider.java b/src/main/java/net/zepalesque/redux/data/prov/ReduxItemModelProvider.java index 1330849f5..1491c9ae8 100644 --- a/src/main/java/net/zepalesque/redux/data/prov/ReduxItemModelProvider.java +++ b/src/main/java/net/zepalesque/redux/data/prov/ReduxItemModelProvider.java @@ -1,7 +1,11 @@ package net.zepalesque.redux.data.prov; +import com.aetherteam.aether.Aether; import com.aetherteam.aether.data.providers.AetherItemModelProvider; +import net.minecraft.core.Direction; import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.client.model.generators.ItemModelBuilder; import net.neoforged.neoforge.common.data.ExistingFileHelper; @@ -23,4 +27,19 @@ public ItemModelBuilder itemBlockFlatCustomTexture(Supplier blo return withExistingParent(blockName(block.get()), mcLoc("item/generated")) .texture("layer0", texture(locationPlusName)); } + + public void itemOverlayBlock(Block block, Block baseBlock, String overlay) { + this.withExistingParent(this.blockName(block), this.blockName(baseBlock)) + .texture("overlay", new ResourceLocation(Aether.MODID, "block/" + overlay)) + .element().from(0.0F, 0.0F, -0.1F).to(16.0F, 16.0F, -0.1F).rotation().angle(0.0F).axis(Direction.Axis.Y).origin(8.0F, 8.0F, 6.9F).end().face(Direction.NORTH).texture("#overlay").emissivity(15, 15).end().end() + .transforms() + .transform(ItemDisplayContext.THIRD_PERSON_RIGHT_HAND).rotation(75.0F, 45.0F, 0.0F).translation(0.0F, 2.5F, 0.0F).scale(0.375F, 0.375F, 0.375F).end() + .transform(ItemDisplayContext.THIRD_PERSON_LEFT_HAND).rotation(75.0F, 45.0F, 0.0F).translation(0.0F, 2.5F, 0.0F).scale(0.375F, 0.375F, 0.375F).end() + .transform(ItemDisplayContext.FIRST_PERSON_RIGHT_HAND).rotation(-90.0F, -180.0F, -45.0F).scale(0.4F, 0.4F, 0.4F).end() + .transform(ItemDisplayContext.FIRST_PERSON_LEFT_HAND).rotation(-90.0F, -180.0F, -45.0F).scale(0.4F, 0.4F, 0.4F).end() + .transform(ItemDisplayContext.GROUND).rotation(90.0F, 0.0F, 0.0F).translation(0.0F, 3.0F, 0.0F).scale(0.25F, 0.25F, 0.25F).end() + .transform(ItemDisplayContext.GUI).rotation(30.0F, 135.0F, 0.0F).scale(0.625F, 0.625F, 0.625F).end() + .transform(ItemDisplayContext.FIXED).scale(0.5F, 0.5F, 0.5F).end() + .end(); + } }