67 lines
2.8 KiB
Java
67 lines
2.8 KiB
Java
package assemblyline.client.render;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import assemblyline.common.machine.imprinter.ItemImprinter;
|
|
import assemblyline.common.machine.imprinter.TileEntityFilterable;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.entity.EntityClientPlayerMP;
|
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
|
|
public abstract class RenderImprintable extends TileEntitySpecialRenderer {
|
|
@Override
|
|
public void
|
|
renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float var8) {
|
|
EntityClientPlayerMP player;
|
|
MovingObjectPosition objectPosition;
|
|
TileEntityFilterable tileFilterable;
|
|
ItemStack filter;
|
|
if (tileEntity != null && tileEntity instanceof TileEntityFilterable
|
|
&& (filter = (tileFilterable = (TileEntityFilterable) tileEntity).getFilter())
|
|
!= null
|
|
&& (objectPosition
|
|
= (player = Minecraft.getMinecraft().thePlayer).rayTrace(8.0, 1.0f))
|
|
!= null
|
|
&& objectPosition.blockX == tileFilterable.xCoord
|
|
&& objectPosition.blockY == tileFilterable.yCoord
|
|
&& objectPosition.blockZ == tileFilterable.zCoord) {
|
|
ArrayList filters = ItemImprinter.getFilters(filter);
|
|
for (int i = 0; i < filters.size(); ++i) {
|
|
if (((TileEntityFilterable) tileEntity).isInverted()) {
|
|
RenderHelper.renderFloatingText(
|
|
((ItemStack) filters.get(i))
|
|
.getTooltip(
|
|
(EntityPlayer) player,
|
|
Minecraft.getMinecraft().gameSettings.advancedItemTooltips
|
|
)
|
|
.get(0)
|
|
.toString(),
|
|
(float) x + 0.5f,
|
|
(float) y + (float) i * 0.25f - 1.0f,
|
|
(float) z + 0.5f,
|
|
0xFF8888
|
|
);
|
|
continue;
|
|
}
|
|
RenderHelper.renderFloatingText(
|
|
((ItemStack) filters.get(i))
|
|
.getTooltip(
|
|
(EntityPlayer) player,
|
|
Minecraft.getMinecraft().gameSettings.advancedItemTooltips
|
|
)
|
|
.get(0)
|
|
.toString(),
|
|
(float) x + 0.5f,
|
|
(float) y + (float) i * 0.25f - 1.0f,
|
|
(float) z + 0.5f,
|
|
0x88FF88
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|