From 4659bcc0421f8d8339e6f00a3934b4e2adbb30a0 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Tue, 15 Oct 2019 22:15:29 +0200 Subject: [PATCH] Fix pattern TESR rendering + pattern item color --- .../refinedstorage/ClientSetup.java | 9 ++++--- .../refinedstorage/item/PatternItem.java | 14 ++--------- .../refinedstorage/proxy/ProxyClient.java | 14 +---------- .../render/color/ItemColorPattern.java | 22 ---------------- .../render/color/PatternItemColor.java | 25 +++++++++++++++++++ .../BakedModelDiskManipulator.java | 2 +- .../model/{baked => }/DelegateBakedModel.java | 2 +- .../{baked => }/DiskDriveBakedModel.java | 2 +- .../{baked => }/FullbrightBakedModel.java | 2 +- .../model/{baked => }/PatternBakedModel.java | 2 +- .../model/{baked => }/TRSRBakedModel.java | 2 +- .../TileEntityItemStackRendererPattern.java | 14 ----------- .../PatternItemStackTileEntityRenderer.java | 17 +++++++++++++ ... => StorageMonitorTileEntityRenderer.java} | 2 +- 14 files changed, 58 insertions(+), 71 deletions(-) delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/color/PatternItemColor.java rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/BakedModelDiskManipulator.java (98%) rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/DelegateBakedModel.java (96%) rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/DiskDriveBakedModel.java (98%) rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/FullbrightBakedModel.java (98%) rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/PatternBakedModel.java (97%) rename src/main/java/com/raoulvdberge/refinedstorage/render/model/{baked => }/TRSRBakedModel.java (99%) delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/tesr/PatternItemStackTileEntityRenderer.java rename src/main/java/com/raoulvdberge/refinedstorage/render/tesr/{TileEntitySpecialRendererStorageMonitor.java => StorageMonitorTileEntityRenderer.java} (97%) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java b/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java index bd490a178..c08a83d9b 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java @@ -5,9 +5,10 @@ import com.raoulvdberge.refinedstorage.container.CrafterContainer; import com.raoulvdberge.refinedstorage.container.CrafterManagerContainer; import com.raoulvdberge.refinedstorage.container.slot.CrafterManagerSlot; import com.raoulvdberge.refinedstorage.render.BakedModelOverrideRegistry; -import com.raoulvdberge.refinedstorage.render.model.baked.DiskDriveBakedModel; -import com.raoulvdberge.refinedstorage.render.model.baked.FullbrightBakedModel; -import com.raoulvdberge.refinedstorage.render.model.baked.PatternBakedModel; +import com.raoulvdberge.refinedstorage.render.color.PatternItemColor; +import com.raoulvdberge.refinedstorage.render.model.DiskDriveBakedModel; +import com.raoulvdberge.refinedstorage.render.model.FullbrightBakedModel; +import com.raoulvdberge.refinedstorage.render.model.PatternBakedModel; import com.raoulvdberge.refinedstorage.screen.*; import com.raoulvdberge.refinedstorage.screen.factory.GridScreenFactory; import net.minecraft.client.Minecraft; @@ -122,6 +123,8 @@ public class ClientSetup { ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR); ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX); + + e.getMinecraftSupplier().get().getItemColors().register(new PatternItemColor(), RSItems.PATTERN); } @SubscribeEvent diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java b/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java index 4cb8e933e..28e0aa2a7 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/PatternItem.java @@ -6,6 +6,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; +import com.raoulvdberge.refinedstorage.render.tesr.PatternItemStackTileEntityRenderer; import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.screen.inventory.ContainerScreen; import net.minecraft.client.util.ITooltipFlag; @@ -44,22 +45,11 @@ public class PatternItem extends Item implements ICraftingPatternProvider { private static final int VERSION = 1; public PatternItem() { - super(new Item.Properties().group(RS.MAIN_GROUP)); + super(new Item.Properties().group(RS.MAIN_GROUP).setTEISR(() -> () -> new PatternItemStackTileEntityRenderer())); this.setRegistryName(RS.ID, "pattern"); } - /* TODO - Pattern rendering - @Override - @SideOnly(Side.CLIENT) - public void registerModels(IModelRegistration modelRegistration) { - modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory")); - - modelRegistration.addBakedModelOverride(info.getId(), BakedModelPattern::new); - - modelRegistration.addItemColor(this, new ItemColorPattern()); - }*/ - public static CraftingPattern fromCache(World world, ItemStack stack) { if (!CACHE.containsKey(stack)) { CACHE.put(stack, new CraftingPattern(world, null, stack)); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java index cb1bf943c..3f002b8ad 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java @@ -50,25 +50,13 @@ public class ProxyClient extends ProxyCommon implements IModelRegistration { } - /*private List> itemColors = new LinkedList<>(); - + /* @Override public void preInit(FMLPreInitializationEvent e) { super.preInit(e); MinecraftForge.EVENT_BUS.register(new BlockHighlightListener()); MinecraftForge.EVENT_BUS.register(new KeyInputListener()); - - RSItems.PATTERN.setTileEntityItemStackRenderer(new TileEntityItemStackRendererPattern()); - } - - @Override - public void init(FMLInitializationEvent e) { - super.init(e); - - RSKeyBindings.init(); - - itemColors.forEach(p -> Minecraft.getMinecraft().getItemColors().registerItemColorHandler(p.getRight(), p.getKey())); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java deleted file mode 100644 index 0f1603464..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.raoulvdberge.refinedstorage.render.color; - -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemStack; - -public class ItemColorPattern implements IItemColor { - @Override - public int getColor(ItemStack stack, int tintIndex) { - // TODO CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getInstance().world, stack); - - /* - if (BakedModelPattern.canDisplayOutput(stack, pattern)) { - int color = Minecraft.getInstance().getItemColors().getColor(pattern.getOutputs().get(0), tintIndex); - - if (color != -1) { - return color; - } - }*/ - - return 0xFFFFFF; - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/color/PatternItemColor.java b/src/main/java/com/raoulvdberge/refinedstorage/render/color/PatternItemColor.java new file mode 100644 index 000000000..6cd9a8276 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/color/PatternItemColor.java @@ -0,0 +1,25 @@ +package com.raoulvdberge.refinedstorage.render.color; + +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; +import com.raoulvdberge.refinedstorage.item.PatternItem; +import com.raoulvdberge.refinedstorage.render.model.PatternBakedModel; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.color.IItemColor; +import net.minecraft.item.ItemStack; + +public class PatternItemColor implements IItemColor { + @Override + public int getColor(ItemStack stack, int tintIndex) { + CraftingPattern pattern = PatternItem.fromCache(Minecraft.getInstance().world, stack); + + if (PatternBakedModel.canDisplayOutput(stack, pattern)) { + int color = Minecraft.getInstance().getItemColors().getColor(pattern.getOutputs().get(0), tintIndex); + + if (color != -1) { + return color; + } + } + + return 0xFFFFFF; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/BakedModelDiskManipulator.java similarity index 98% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/BakedModelDiskManipulator.java index d6a35c919..65599a2e3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/BakedModelDiskManipulator.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; /* import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DelegateBakedModel.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/DelegateBakedModel.java similarity index 96% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DelegateBakedModel.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/DelegateBakedModel.java index 5cec0e00e..d80541b72 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DelegateBakedModel.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/DelegateBakedModel.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; import net.minecraft.block.BlockState; import net.minecraft.client.renderer.model.BakedQuad; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DiskDriveBakedModel.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/DiskDriveBakedModel.java similarity index 98% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DiskDriveBakedModel.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/DiskDriveBakedModel.java index ef826ba7c..5826893be 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/DiskDriveBakedModel.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/DiskDriveBakedModel.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/FullbrightBakedModel.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/FullbrightBakedModel.java similarity index 98% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/FullbrightBakedModel.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/FullbrightBakedModel.java index b86344949..25307bae9 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/FullbrightBakedModel.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/FullbrightBakedModel.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/PatternBakedModel.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/PatternBakedModel.java similarity index 97% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/PatternBakedModel.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/PatternBakedModel.java index a63d11053..e6245428d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/PatternBakedModel.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/PatternBakedModel.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; import com.google.common.collect.ImmutableList; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternRenderHandler; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/TRSRBakedModel.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/TRSRBakedModel.java similarity index 99% rename from src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/TRSRBakedModel.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/model/TRSRBakedModel.java index da7a713ff..763229bcd 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/TRSRBakedModel.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/TRSRBakedModel.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.render.model.baked; +package com.raoulvdberge.refinedstorage.render.model; import com.google.common.collect.ImmutableList; import net.minecraft.block.BlockState; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java deleted file mode 100644 index a927c8785..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.raoulvdberge.refinedstorage.render.teisr; - -import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer; -import net.minecraft.item.ItemStack; - -public class TileEntityItemStackRendererPattern extends ItemStackTileEntityRenderer { - @Override - public void renderByItem(ItemStack stack) { - /* TODO CraftingPattern pattern = ItemPattern.getPatternFromCache(null, stack);*/ - //ItemStack outputStack = pattern.getOutputs().get(0); - - //outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack); - } -} \ No newline at end of file diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/PatternItemStackTileEntityRenderer.java b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/PatternItemStackTileEntityRenderer.java new file mode 100644 index 000000000..f71d183be --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/PatternItemStackTileEntityRenderer.java @@ -0,0 +1,17 @@ +package com.raoulvdberge.refinedstorage.render.tesr; + +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; +import com.raoulvdberge.refinedstorage.item.PatternItem; +import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer; +import net.minecraft.item.ItemStack; + +public class PatternItemStackTileEntityRenderer extends ItemStackTileEntityRenderer { + @Override + public void renderByItem(ItemStack stack) { + CraftingPattern pattern = PatternItem.fromCache(null, stack); + + ItemStack outputStack = pattern.getOutputs().get(0); + + outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack); + } +} \ No newline at end of file diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/StorageMonitorTileEntityRenderer.java similarity index 97% rename from src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java rename to src/main/java/com/raoulvdberge/refinedstorage/render/tesr/StorageMonitorTileEntityRenderer.java index f62e483c6..44911814f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/StorageMonitorTileEntityRenderer.java @@ -10,7 +10,7 @@ import net.minecraft.client.renderer.tileentity.TileEntityRenderer; import net.minecraftforge.client.ForgeHooksClient; import org.lwjgl.opengl.GL11; -public class TileEntitySpecialRendererStorageMonitor extends TileEntityRenderer { +public class StorageMonitorTileEntityRenderer extends TileEntityRenderer { @Override public void render(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) { setLightmapDisabled(true);