From 9eb093d865704b874a1dabdfa1f841ce2f1519a6 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Mon, 3 Oct 2016 17:32:57 +0200 Subject: [PATCH] Fixes #2392: Using the Minecraft version of Matrix4f will not set it to identity in the constructor, causing the item to disappear. --- src/main/java/appeng/block/misc/BlockCharger.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/appeng/block/misc/BlockCharger.java b/src/main/java/appeng/block/misc/BlockCharger.java index fcacb655..ffda7d98 100644 --- a/src/main/java/appeng/block/misc/BlockCharger.java +++ b/src/main/java/appeng/block/misc/BlockCharger.java @@ -22,16 +22,16 @@ package appeng.block.misc; import java.util.Collections; import java.util.List; import java.util.Random; - import javax.annotation.Nullable; import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; +import org.lwjgl.util.vector.Matrix4f; import org.lwjgl.util.vector.Vector3f; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.Matrix4f; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -192,6 +192,15 @@ public class BlockCharger extends AEBaseTileBlock implements ICustomCollision @SideOnly( Side.CLIENT ) public static TileEntitySpecialRenderer createTesr() { - return new ModularTESR<>( new ItemRenderable( tile -> new ImmutablePair<>( tile.getStackInSlot( 0 ), new Matrix4f().translate( new Vector3f( 0.5f, 0.4f, 0.5f ) ) ) ) ); + return new ModularTESR<>( new ItemRenderable<>( BlockCharger::getRenderedItem ) ); } + + @SideOnly( Side.CLIENT ) + private static Pair getRenderedItem( TileCharger tile ) + { + Matrix4f transform = new Matrix4f(); + transform.translate( new Vector3f( 0.5f, 0.4f, 0.5f ) ); + return new ImmutablePair<>( tile.getStackInSlot( 0 ), transform ); + } + }