diff --git a/src/main/java/appeng/block/misc/ChargerBlock.java b/src/main/java/appeng/block/misc/ChargerBlock.java index dbd445a88..0bf2dc0e6 100644 --- a/src/main/java/appeng/block/misc/ChargerBlock.java +++ b/src/main/java/appeng/block/misc/ChargerBlock.java @@ -19,24 +19,15 @@ package appeng.block.misc; import java.util.Random; -import java.util.function.Function; import javax.annotation.Nullable; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.ShapeContext; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; -import net.minecraft.client.render.block.entity.BlockEntityRenderer; -import net.minecraft.client.render.model.json.Transformation; -import net.minecraft.client.util.math.AffineTransformation; -import net.minecraft.client.util.math.Vector3f; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; @@ -53,8 +44,6 @@ import net.minecraft.world.World; import appeng.api.util.AEAxisAlignedBB; import appeng.block.AEBaseTileBlock; import appeng.client.render.effects.ParticleTypes; -import appeng.client.render.renderable.ItemRenderable; -import appeng.client.render.tesr.ModularTESR; import appeng.core.AEConfig; import appeng.core.Api; import appeng.core.AppEng; @@ -176,16 +165,4 @@ public class ChargerBlock extends AEBaseTileBlock { return VoxelShapes.cuboid(new Box(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)); } - @Environment(EnvType.CLIENT) - public static Function> createTesr() { - return dispatcher -> new ModularTESR<>(dispatcher, new ItemRenderable<>(ChargerBlock::getRenderedItem)); - } - - @Environment(EnvType.CLIENT) - private static Pair getRenderedItem(ChargerBlockEntity tile) { - Transformation transform = new Transformation(new Vector3f(), new Vector3f(0.5f, 0.375f, 0.5f), - new Vector3f(1f, 1f, 1f)); - return new ImmutablePair<>(tile.getInternalInventory().getInvStack(0), transform); - } - } diff --git a/src/main/java/appeng/client/render/tesr/ChargerTESR.java b/src/main/java/appeng/client/render/tesr/ChargerTESR.java new file mode 100644 index 000000000..0bb65eac0 --- /dev/null +++ b/src/main/java/appeng/client/render/tesr/ChargerTESR.java @@ -0,0 +1,30 @@ +package appeng.client.render.tesr; + +import java.util.function.Function; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + +import net.minecraft.client.renderer.tileentity.TileEntityRenderer; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.vector.TransformationMatrix; +import net.minecraft.util.math.vector.Vector3f; + +import appeng.client.render.renderable.ItemRenderable; +import appeng.tile.misc.ChargerTileEntity; + +public final class ChargerTESR { + + private ChargerTESR() { + } + + public static Function> FACTORY = dispatcher -> new ModularTESR<>( + dispatcher, new ItemRenderable<>(ChargerTESR::getRenderedItem)); + + private static Pair getRenderedItem(ChargerTileEntity tile) { + TransformationMatrix transform = new TransformationMatrix(new Vector3f(0.5f, 0.375f, 0.5f), null, null, null); + return new ImmutablePair<>(tile.getInternalInventory().getStackInSlot(0), transform); + } + +} diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index 72bc15c5c..efcf4b829 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -98,6 +98,7 @@ import appeng.client.render.crafting.CraftingMonitorTESR; import appeng.client.render.crafting.MonitorBakedModel; import appeng.client.render.model.AutoRotatingBakedModel; import appeng.client.render.spatial.SpatialPylonRendering; +import appeng.client.render.tesr.ChargerTESR; import appeng.client.render.tesr.ChestTileEntityRenderer; import appeng.client.render.tesr.CrankTESR; import appeng.client.render.tesr.DriveLedTileEntityRenderer; @@ -376,7 +377,7 @@ public final class ApiBlocks implements IBlocks { @Override @Environment(EnvType.CLIENT) public void customize(TileEntityRendering rendering) { - rendering.tileEntityRenderer(ChargerBlock.createTesr()); + rendering.tileEntityRenderer(ChargerTESR.FACTORY); } }).build()) .build();