diff --git a/build.gradle b/build.gradle index 320ece576..67489efed 100755 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.9:3.1.+" + deobfCompile "mezz.jei:jei_1.9:3.2.+" } processResources { diff --git a/src/main/java/refinedstorage/block/BlockBase.java b/src/main/java/refinedstorage/block/BlockBase.java index 2ebb9c78b..61f15ef2a 100755 --- a/src/main/java/refinedstorage/block/BlockBase.java +++ b/src/main/java/refinedstorage/block/BlockBase.java @@ -9,7 +9,6 @@ import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; @@ -18,6 +17,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageBlocks; +import refinedstorage.item.ItemBlockBase; import refinedstorage.tile.TileBase; import refinedstorage.util.InventoryUtils; @@ -128,6 +128,6 @@ public abstract class BlockBase extends Block { } public Item createItemForBlock() { - return new ItemBlock(this).setRegistryName(getRegistryName()); + return new ItemBlockBase(this, false); } } diff --git a/src/main/java/refinedstorage/block/BlockController.java b/src/main/java/refinedstorage/block/BlockController.java index 2794c6d5f..2f8e9d75e 100755 --- a/src/main/java/refinedstorage/block/BlockController.java +++ b/src/main/java/refinedstorage/block/BlockController.java @@ -8,7 +8,6 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; @@ -18,7 +17,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; -import refinedstorage.item.ItemBlockController; +import refinedstorage.item.ItemBlockBase; import refinedstorage.tile.TileController; import java.util.List; @@ -100,7 +99,7 @@ public class BlockController extends BlockBase { } @Override - public ItemBlock createItemForBlock() { - return new ItemBlockController(); + public Item createItemForBlock() { + return new ItemBlockBase(this, true); } } diff --git a/src/main/java/refinedstorage/block/BlockGrid.java b/src/main/java/refinedstorage/block/BlockGrid.java index 2848c8b5b..49ea2a100 100755 --- a/src/main/java/refinedstorage/block/BlockGrid.java +++ b/src/main/java/refinedstorage/block/BlockGrid.java @@ -7,7 +7,6 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; @@ -16,7 +15,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; -import refinedstorage.item.ItemBlockGrid; +import refinedstorage.item.ItemBlockBase; import refinedstorage.tile.grid.TileGrid; import java.util.List; @@ -69,7 +68,7 @@ public class BlockGrid extends BlockMachine { } @Override - public ItemBlock createItemForBlock() { - return new ItemBlockGrid(); + public Item createItemForBlock() { + return new ItemBlockBase(this, true); } } diff --git a/src/main/java/refinedstorage/block/BlockStorage.java b/src/main/java/refinedstorage/block/BlockStorage.java index 4c2fb01df..17c190dec 100755 --- a/src/main/java/refinedstorage/block/BlockStorage.java +++ b/src/main/java/refinedstorage/block/BlockStorage.java @@ -8,7 +8,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -116,7 +115,7 @@ public class BlockStorage extends BlockMachine { } @Override - public ItemBlock createItemForBlock() { + public Item createItemForBlock() { return new ItemBlockStorage(); } } diff --git a/src/main/java/refinedstorage/container/ContainerGrid.java b/src/main/java/refinedstorage/container/ContainerGrid.java index 3d2ed1b76..3abd7ac64 100755 --- a/src/main/java/refinedstorage/container/ContainerGrid.java +++ b/src/main/java/refinedstorage/container/ContainerGrid.java @@ -9,6 +9,7 @@ import refinedstorage.container.slot.SlotGridCraftingResult; import refinedstorage.tile.TileController; import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.TileGrid; +import refinedstorage.tile.grid.WirelessGrid; import java.util.ArrayList; import java.util.List; @@ -80,7 +81,7 @@ public class ContainerGrid extends ContainerBase { public void onContainerClosed(EntityPlayer player) { super.onContainerClosed(player); - if (grid.getController() instanceof TileController && grid.isWireless()) { + if (grid instanceof WirelessGrid && ((WirelessGrid) grid).getBoundTile() instanceof TileController) { grid.getController().onCloseWirelessGrid(player); } } diff --git a/src/main/java/refinedstorage/gui/GuiGrid.java b/src/main/java/refinedstorage/gui/GuiGrid.java index b85438a63..f3d7c1e62 100755 --- a/src/main/java/refinedstorage/gui/GuiGrid.java +++ b/src/main/java/refinedstorage/gui/GuiGrid.java @@ -23,6 +23,7 @@ import refinedstorage.storage.ItemGroup; import refinedstorage.tile.TileController; import refinedstorage.tile.grid.IGrid; import refinedstorage.tile.grid.TileGrid; +import refinedstorage.tile.grid.WirelessGrid; import java.io.IOException; import java.util.*; @@ -165,7 +166,7 @@ public class GuiGrid extends GuiBase { public void drawForeground(int mouseX, int mouseY) { scrollbar.update(this, mouseX, mouseY); - drawString(7, 7, t(grid.isWireless() ? "gui.refinedstorage:wireless_grid" : "gui.refinedstorage:grid")); + drawString(7, 7, t(grid instanceof WirelessGrid ? "gui.refinedstorage:wireless_grid" : "gui.refinedstorage:grid")); if (grid.getType() == EnumGridType.CRAFTING) { drawString(7, 94, t("container.crafting")); diff --git a/src/main/java/refinedstorage/item/ItemBlockBase.java b/src/main/java/refinedstorage/item/ItemBlockBase.java index 14d8d2de4..647af94f3 100755 --- a/src/main/java/refinedstorage/item/ItemBlockBase.java +++ b/src/main/java/refinedstorage/item/ItemBlockBase.java @@ -1,18 +1,32 @@ package refinedstorage.item; import net.minecraft.block.Block; -import net.minecraft.item.ItemColored; +import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -public abstract class ItemBlockBase extends ItemColored { - public ItemBlockBase(Block block) { - super(block, true); +public class ItemBlockBase extends ItemBlock { + public ItemBlockBase(Block block, boolean subtypes) { + super(block); setRegistryName(block.getRegistryName()); + + if (subtypes) { + setMaxDamage(0); + setHasSubtypes(true); + } + } + + @Override + public int getMetadata(int damage) { + return damage; } @Override public String getUnlocalizedName(ItemStack stack) { - return getUnlocalizedName() + "." + stack.getItemDamage(); + if (getHasSubtypes()) { + return getUnlocalizedName() + "." + stack.getItemDamage(); + } + + return getUnlocalizedName(); } } diff --git a/src/main/java/refinedstorage/item/ItemBlockController.java b/src/main/java/refinedstorage/item/ItemBlockController.java deleted file mode 100755 index 0d7c33c41..000000000 --- a/src/main/java/refinedstorage/item/ItemBlockController.java +++ /dev/null @@ -1,9 +0,0 @@ -package refinedstorage.item; - -import refinedstorage.RefinedStorageBlocks; - -public class ItemBlockController extends ItemBlockBase { - public ItemBlockController() { - super(RefinedStorageBlocks.CONTROLLER); - } -} diff --git a/src/main/java/refinedstorage/item/ItemBlockGrid.java b/src/main/java/refinedstorage/item/ItemBlockGrid.java deleted file mode 100755 index 3c813813b..000000000 --- a/src/main/java/refinedstorage/item/ItemBlockGrid.java +++ /dev/null @@ -1,9 +0,0 @@ -package refinedstorage.item; - -import refinedstorage.RefinedStorageBlocks; - -public class ItemBlockGrid extends ItemBlockBase { - public ItemBlockGrid() { - super(RefinedStorageBlocks.GRID); - } -} diff --git a/src/main/java/refinedstorage/item/ItemBlockStorage.java b/src/main/java/refinedstorage/item/ItemBlockStorage.java index 7310b2ffb..9b949ab05 100755 --- a/src/main/java/refinedstorage/item/ItemBlockStorage.java +++ b/src/main/java/refinedstorage/item/ItemBlockStorage.java @@ -14,7 +14,7 @@ import java.util.List; public class ItemBlockStorage extends ItemBlockBase { public ItemBlockStorage() { - super(RefinedStorageBlocks.STORAGE); + super(RefinedStorageBlocks.STORAGE, true); } @Override diff --git a/src/main/java/refinedstorage/tile/grid/IGrid.java b/src/main/java/refinedstorage/tile/grid/IGrid.java index e44ce3f80..a57a2e022 100755 --- a/src/main/java/refinedstorage/tile/grid/IGrid.java +++ b/src/main/java/refinedstorage/tile/grid/IGrid.java @@ -24,6 +24,4 @@ public interface IGrid { IRedstoneModeConfig getRedstoneModeSetting(); boolean isConnected(); - - boolean isWireless(); } diff --git a/src/main/java/refinedstorage/tile/grid/TileGrid.java b/src/main/java/refinedstorage/tile/grid/TileGrid.java index 3f3bb2c7d..bf75e5aee 100755 --- a/src/main/java/refinedstorage/tile/grid/TileGrid.java +++ b/src/main/java/refinedstorage/tile/grid/TileGrid.java @@ -209,11 +209,6 @@ public class TileGrid extends TileMachine implements IGrid { return this; } - @Override - public boolean isWireless() { - return false; - } - public void setSearchBoxMode(int searchBoxMode) { this.searchBoxMode = searchBoxMode; } diff --git a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java index 7ff41b239..552515bff 100755 --- a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java +++ b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java @@ -1,6 +1,7 @@ package refinedstorage.tile.grid; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -33,9 +34,13 @@ public class WirelessGrid implements IGrid { return EnumGridType.NORMAL; } + public TileEntity getBoundTile() { + return world.getTileEntity(new BlockPos(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack))); + } + @Override public TileController getController() { - return (TileController) world.getTileEntity(new BlockPos(ItemWirelessGrid.getX(stack), ItemWirelessGrid.getY(stack), ItemWirelessGrid.getZ(stack))); + return (TileController) getBoundTile(); } @Override @@ -81,11 +86,6 @@ public class WirelessGrid implements IGrid { @Override public boolean isConnected() { - return getController() instanceof TileController && getController().isActiveClientSide(); - } - - @Override - public boolean isWireless() { - return true; + return getBoundTile() instanceof TileController && getController().isActiveClientSide(); } }