From 53b3c14e7fec1acd6b1445338366d42131ddfb55 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Mon, 4 Mar 2019 13:43:48 +0100 Subject: [PATCH] Fixed Crafting Pattern not rendering tile entity items like a chest. Fixes #609 --- CHANGELOG.md | 1 + .../refinedstorage/item/ItemPattern.java | 4 ++++ .../TileEntityItemStackRendererPattern.java | 24 +++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 42a05330f..9199c50d9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Updated Chinese translation (KoderX) - Fixed wrong item count for oredict patterns (the-eater) - Fixed autocrafting duplication bug (Radviger / notcake) +- Fixed Crafting Pattern not rendering tile entity items like a chest (zhykzhykzhyk / raoulvdberge) - Let Constructor and Destructor interact with world using their owner's profile (Radviger) ### 1.6.12 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemPattern.java index a64dd4550..fd04dc27a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemPattern.java @@ -11,9 +11,11 @@ import com.raoulvdberge.refinedstorage.item.info.ItemInfo; import com.raoulvdberge.refinedstorage.render.IModelRegistration; import com.raoulvdberge.refinedstorage.render.color.ItemColorPattern; import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelPattern; +import com.raoulvdberge.refinedstorage.render.teisr.TileEntityItemStackRendererPattern; import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.client.renderer.tileentity.TileEntityItemStackRenderer; import net.minecraft.client.resources.I18n; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; @@ -49,6 +51,8 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider { public ItemPattern() { super(new ItemInfo(RS.ID, "pattern")); + + setTileEntityItemStackRenderer(new TileEntityItemStackRendererPattern()); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java new file mode 100644 index 000000000..a0d4e7f4e --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/teisr/TileEntityItemStackRendererPattern.java @@ -0,0 +1,24 @@ +package com.raoulvdberge.refinedstorage.render.teisr; + +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; +import com.raoulvdberge.refinedstorage.item.ItemPattern; +import net.minecraft.client.renderer.tileentity.TileEntityItemStackRenderer; +import net.minecraft.item.ItemStack; + +public class TileEntityItemStackRendererPattern extends TileEntityItemStackRenderer { + @Override + public void renderByItem(ItemStack stack) { + CraftingPattern pattern = ItemPattern.getPatternFromCache(null, stack); + ItemStack outputStack = pattern.getOutputs().get(0); + + outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack); + } + + @Override + public void renderByItem(ItemStack stack, float partialTicks) { + CraftingPattern pattern = ItemPattern.getPatternFromCache(null, stack); + ItemStack outputStack = pattern.getOutputs().get(0); + + outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack, partialTicks); + } +} \ No newline at end of file