Skip to content

Commit 7c54434

Browse files
szuendDream-Master
authored andcommitted
cleanup: LogisticsNewPipeItemBoxRenderer takes an ItemIdentifierStack (#44)
For doRenderItem there is no need to convert first to an ItemStack and then back to an ItemIdentifierStack on the hotpath if we can just pass the ItemIdentifierStack directly. This is a follow up to #40. (cherry picked from commit 02af086)
1 parent 3838018 commit 7c54434

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

src/main/java/logisticspipes/proxy/buildcraft/BCLPPipeTransportItemsRenderer.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import buildcraft.transport.TravelingItem;
55
import buildcraft.transport.render.PipeTransportItemsRenderer;
66
import logisticspipes.renderer.LogisticsRenderPipe;
7+
import logisticspipes.utils.item.ItemIdentifierStack;
78

89
public class BCLPPipeTransportItemsRenderer extends PipeTransportItemsRenderer {
910

@@ -14,8 +15,9 @@ public void doRenderItem(TravelingItem travellingItem, double x, double y, doubl
1415
if (travellingItem.getItemStack().getTagCompound().getString("LogsitcsPipes_ITEM_ON_TRANSPORTATION")
1516
.equals("YES")) {
1617
if (LogisticsRenderPipe.boxRenderer != null) {
17-
LogisticsRenderPipe.boxRenderer
18-
.doRenderItem(travellingItem.getItemStack(), light, x, y + 0.25, z, 1.0D);
18+
ItemIdentifierStack itemIdentifierStack = ItemIdentifierStack
19+
.getFromStack(travellingItem.getItemStack());
20+
LogisticsRenderPipe.boxRenderer.doRenderItem(itemIdentifierStack, light, x, y + 0.25, z, 1.0D);
1921
}
2022
}
2123
}

src/main/java/logisticspipes/renderer/LogisticsRenderPipe.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -251,17 +251,18 @@ private void renderSolids(CoreUnroutedPipe pipe, double x, double y, double z, f
251251
GL11.glPopMatrix();
252252
}
253253

254-
public void doRenderItem(ItemIdentifierStack itemstack, World worldObj, double x, double y, double z, float light,
255-
float renderScale, double boxScale, float partialTickTime) {
254+
public void doRenderItem(ItemIdentifierStack itemIdentifierStack, World worldObj, double x, double y, double z,
255+
float light, float renderScale, double boxScale, float partialTickTime) {
256256
if (LogisticsRenderPipe.config.isUseNewRenderer() && boxScale != 0) {
257-
LogisticsRenderPipe.boxRenderer.doRenderItem(itemstack.makeNormalStack(), light, x, y, z, boxScale);
257+
LogisticsRenderPipe.boxRenderer.doRenderItem(itemIdentifierStack, light, x, y, z, boxScale);
258258
}
259259

260260
GL11.glPushMatrix();
261261
GL11.glTranslated(x, y, z);
262262
GL11.glScalef(renderScale, renderScale, renderScale);
263263
GL11.glTranslatef(0.0F, -0.1F, 0.0F);
264-
itemRenderer.setItemIdentifierStack(itemstack).setWorldObj(worldObj).setPartialTickTime(partialTickTime);
264+
itemRenderer.setItemIdentifierStack(itemIdentifierStack).setWorldObj(worldObj)
265+
.setPartialTickTime(partialTickTime);
265266
itemRenderer.renderInWorld();
266267
GL11.glPopMatrix();
267268
}

src/main/java/logisticspipes/renderer/newpipe/LogisticsNewPipeItemBoxRenderer.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import net.minecraft.client.Minecraft;
77
import net.minecraft.client.renderer.GLAllocation;
88
import net.minecraft.client.renderer.Tessellator;
9-
import net.minecraft.item.ItemStack;
109
import net.minecraft.util.ResourceLocation;
1110
import net.minecraftforge.fluids.FluidStack;
1211

@@ -28,7 +27,8 @@ public class LogisticsNewPipeItemBoxRenderer {
2827
private static final ResourceLocation BLOCKS = new ResourceLocation("textures/atlas/blocks.png");
2928
private static final Map<FluidIdentifier, int[]> renderLists = new HashMap<>();
3029

31-
public void doRenderItem(ItemStack itemstack, float light, double x, double y, double z, double boxScale) {
30+
public void doRenderItem(ItemIdentifierStack itemIdentifierStack, float light, double x, double y, double z,
31+
double boxScale) {
3232
if (LogisticsNewRenderPipe.innerTransportBox == null) return;
3333
GL11.glPushMatrix();
3434

@@ -51,9 +51,8 @@ public void doRenderItem(ItemStack itemstack, float light, double x, double y, d
5151
GL11.glScaled(1 / boxScale, 1 / boxScale, 1 / boxScale);
5252
GL11.glTranslated(-0.5, -0.5, -0.5);
5353

54-
if (itemstack != null && itemstack.getItem() instanceof LogisticsFluidContainer) {
55-
FluidStack f = SimpleServiceLocator.logisticsFluidManager
56-
.getFluidFromContainer(ItemIdentifierStack.getFromStack(itemstack));
54+
if (itemIdentifierStack != null && itemIdentifierStack.getItem().item instanceof LogisticsFluidContainer) {
55+
FluidStack f = SimpleServiceLocator.logisticsFluidManager.getFluidFromContainer(itemIdentifierStack);
5756
if (f != null) {
5857
FluidContainerRenderer.skipNext = true;
5958
int list = getRenderListFor(f);

0 commit comments

Comments
 (0)