diff --git a/src/main/java/storagecraft/block/BlockBase.java b/src/main/java/storagecraft/block/BlockBase.java index d98641d62..7c9fdec87 100644 --- a/src/main/java/storagecraft/block/BlockBase.java +++ b/src/main/java/storagecraft/block/BlockBase.java @@ -1,11 +1,8 @@ package storagecraft.block; -import java.util.ArrayList; -import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; @@ -21,8 +18,6 @@ public abstract class BlockBase extends Block { private String name; - protected List states = new ArrayList(); - public BlockBase(String name) { super(Material.rock); diff --git a/src/main/java/storagecraft/block/BlockDetector.java b/src/main/java/storagecraft/block/BlockDetector.java index a41bb6c49..09d88b07a 100644 --- a/src/main/java/storagecraft/block/BlockDetector.java +++ b/src/main/java/storagecraft/block/BlockDetector.java @@ -10,7 +10,7 @@ import storagecraft.StorageCraft; import storagecraft.StorageCraftGUI; import storagecraft.tile.TileDetector; -// @TODO: This too other textures +// @TODO: This texture behaves differently public class BlockDetector extends BlockMachine { public BlockDetector() diff --git a/src/main/java/storagecraft/gui/GuiBase.java b/src/main/java/storagecraft/gui/GuiBase.java index bd58df12a..404dbd57e 100644 --- a/src/main/java/storagecraft/gui/GuiBase.java +++ b/src/main/java/storagecraft/gui/GuiBase.java @@ -1,19 +1,18 @@ package storagecraft.gui; -import com.google.common.base.Joiner; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; import storagecraft.StorageCraft; import storagecraft.gui.sidebutton.SideButton; @@ -146,27 +145,31 @@ public abstract class GuiBase extends GuiContainer public void drawItem(int x, int y, ItemStack stack, boolean withOverlay) { - zLevel = 100; - itemRender.zLevel = 100; + GlStateManager.translate(0.0F, 0.0F, 32.0F); - GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); + zLevel = 200.0F; + itemRender.zLevel = 200.0F; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glEnable(GL11.GL_DEPTH_TEST); + FontRenderer font = null; - RenderHelper.enableGUIStandardItemLighting(); - - // @TODO: itemRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.renderEngine, stack, x, y); - if (withOverlay) + if (stack != null) { - // @TODO: itemRender.renderItemOverlayIntoGUI(fontRendererObj, mc.renderEngine, stack, x, y); + font = stack.getItem().getFontRenderer(stack); + } + if (font == null) + { + font = fontRendererObj; } - GL11.glPopAttrib(); + itemRender.func_180450_b(stack, x, y); - itemRender.zLevel = 0; - zLevel = 0; + if (withOverlay) + { + itemRender.func_180453_a(font, stack, x, y, null); + } + + zLevel = 0.0F; + itemRender.zLevel = 0.0F; } public void drawString(int x, int y, String message) @@ -179,115 +182,14 @@ public abstract class GuiBase extends GuiContainer fontRendererObj.drawString(message, x, y, color); } - // https://github.com/AppliedEnergistics/Applied-Energistics-2/blob/master/src/main/java/appeng/client/gui/AEBaseGui.java public void drawTooltip(int x, int y, String message) { - GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - - RenderHelper.disableStandardItemLighting(); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - - String[] lines = message.split("\n"); - - if (lines.length > 0) - { - int var5 = 0; - int var6; - int var7; - - for (var6 = 0; var6 < lines.length; ++var6) - { - var7 = this.fontRendererObj.getStringWidth(lines[var6]); - - if (var7 > var5) - { - var5 = var7; - } - } - - var6 = x + 12; - var7 = y - 12; - int var9 = 8; - - if (lines.length > 1) - { - var9 += 2 + (lines.length - 1) * 10; - } - - if (this.guiTop + var7 + var9 + 6 > this.height) - { - var7 = this.height - var9 - this.guiTop - 6; - } - - zLevel = 300.0F; - itemRender.zLevel = 300.0F; - - int var10 = -267386864; - - drawGradientRect(var6 - 3, var7 - 4, var6 + var5 + 3, var7 - 3, var10, var10); - drawGradientRect(var6 - 3, var7 + var9 + 3, var6 + var5 + 3, var7 + var9 + 4, var10, var10); - drawGradientRect(var6 - 3, var7 - 3, var6 + var5 + 3, var7 + var9 + 3, var10, var10); - drawGradientRect(var6 - 4, var7 - 3, var6 - 3, var7 + var9 + 3, var10, var10); - drawGradientRect(var6 + var5 + 3, var7 - 3, var6 + var5 + 4, var7 + var9 + 3, var10, var10); - - int var11 = 1347420415; - int var12 = (var11 & 16711422) >> 1 | var11 & -16777216; - - drawGradientRect(var6 - 3, var7 - 3 + 1, var6 - 3 + 1, var7 + var9 + 3 - 1, var11, var12); - drawGradientRect(var6 + var5 + 2, var7 - 3 + 1, var6 + var5 + 3, var7 + var9 + 3 - 1, var11, var12); - drawGradientRect(var6 - 3, var7 - 3, var6 + var5 + 3, var7 - 3 + 1, var11, var11); - drawGradientRect(var6 - 3, var7 + var9 + 2, var6 + var5 + 3, var7 + var9 + 3, var12, var12); - - for (int var13 = 0; var13 < lines.length; ++var13) - { - String var14 = lines[var13]; - - if (var13 == 0) - { - var14 = '\u00a7' + Integer.toHexString(15) + var14; - } - else - { - var14 = "\u00a77" + var14; - } - - // @TODO: fontRendererObj.drawStringWithShadow(var14, var6, var7, -1); - if (var13 == 0) - { - var7 += 2; - } - - var7 += 10; - } - - zLevel = 0.0F; - itemRender.zLevel = 0.0F; - } - - GL11.glPopAttrib(); + drawHoveringText(Arrays.asList(message.split("\n")), x, y); } public void drawTooltip(int x, int y, ItemStack stack) { - List list = stack.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips); - - for (int i = 0; i < list.size(); ++i) - { - if (i == 0) - { - list.set(i, stack.getRarity().rarityColor + (String) list.get(i)); - } - else - { - list.set(i, EnumChatFormatting.GRAY + (String) list.get(i)); - } - } - - drawTooltip(x, y, Joiner.on("\n").join(list)); + renderToolTip(stack, x, y); } public String t(String name, Object... format) diff --git a/src/main/java/storagecraft/gui/GuiDetector.java b/src/main/java/storagecraft/gui/GuiDetector.java index 950370d5b..2692857f0 100644 --- a/src/main/java/storagecraft/gui/GuiDetector.java +++ b/src/main/java/storagecraft/gui/GuiDetector.java @@ -32,7 +32,7 @@ public class GuiDetector extends GuiBase addSideButton(new SideButtonDetectorMode(detector)); - amountField = new GuiTextField(0, fontRendererObj, x + 62 + 1, y + 23 + 1, 25, fontRendererObj.FONT_HEIGHT); // @TODO: Is this the right id? + amountField = new GuiTextField(0, fontRendererObj, x + 62 + 1, y + 23 + 1, 25, fontRendererObj.FONT_HEIGHT); amountField.setText(String.valueOf(detector.getAmount())); amountField.setEnableBackgroundDrawing(false); amountField.setVisible(true); diff --git a/src/main/java/storagecraft/gui/GuiGrid.java b/src/main/java/storagecraft/gui/GuiGrid.java index 05b2201f9..09b67291f 100644 --- a/src/main/java/storagecraft/gui/GuiGrid.java +++ b/src/main/java/storagecraft/gui/GuiGrid.java @@ -61,7 +61,7 @@ public class GuiGrid extends GuiBase addSideButton(new SideButtonGridSortingDirection()); addSideButton(new SideButtonGridSortingType()); - searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT); // @TODO: Is this the right id? + searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT); searchField.setEnableBackgroundDrawing(false); searchField.setVisible(true); searchField.setTextColor(16777215); diff --git a/src/main/java/storagecraft/item/ItemBase.java b/src/main/java/storagecraft/item/ItemBase.java index dab0b0c1f..ae9902aa4 100644 --- a/src/main/java/storagecraft/item/ItemBase.java +++ b/src/main/java/storagecraft/item/ItemBase.java @@ -13,7 +13,6 @@ public abstract class ItemBase extends Item this.name = name; setCreativeTab(StorageCraft.TAB); - // @TODO: ... setTextureName("storagecraft:" + name); } @Override diff --git a/src/main/java/storagecraft/render/BlockCableRenderer.java b/src/main/java/storagecraft/render/BlockCableRenderer.java index 06527b2c3..74770e725 100644 --- a/src/main/java/storagecraft/render/BlockCableRenderer.java +++ b/src/main/java/storagecraft/render/BlockCableRenderer.java @@ -11,7 +11,7 @@ public class BlockCableRenderer extends TileEntitySpecialRenderer public static final CableModel CABLE_MODEL = new CableModel(); @Override - public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale, int a) // @TODO: Find out what a is + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale, int a) { GL11.glPushMatrix(); GL11.glTranslatef((float) x, (float) y, (float) z); diff --git a/src/main/java/storagecraft/tile/TileMachine.java b/src/main/java/storagecraft/tile/TileMachine.java index e9e325223..746b986b1 100644 --- a/src/main/java/storagecraft/tile/TileMachine.java +++ b/src/main/java/storagecraft/tile/TileMachine.java @@ -27,7 +27,10 @@ public abstract class TileMachine extends TileBase implements INetworkTile, IRed { connected = false; - worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, false)); + if (!worldObj.isAirBlock(pos)) + { + worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, false)); + } } @Override