Switch to IntelliJ
0
.gitignore
vendored
Normal file → Executable file
0
LICENSE.md
Normal file → Executable file
0
build.gradle
Normal file → Executable file
0
gradlew.bat
vendored
Normal file → Executable file
0
logo.png
Normal file → Executable file
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
0
screenshots/crafting_grid.png
Normal file → Executable file
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
0
screenshots/interface.png
Normal file → Executable file
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
0
screenshots/overview.png
Normal file → Executable file
Before Width: | Height: | Size: 558 KiB After Width: | Height: | Size: 558 KiB |
0
screenshots/relays.png
Normal file → Executable file
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
0
screenshots/storage_block.png
Normal file → Executable file
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
0
src/main/java/cofh/api/CoFHAPIProps.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/EnergyStorage.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyConnection.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyContainerItem.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyHandler.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyProvider.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyReceiver.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/IEnergyStorage.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/ItemEnergyContainer.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/TileEnergyHandler.java
Normal file → Executable file
0
src/main/java/cofh/api/energy/package-info.java
Normal file → Executable file
0
src/main/java/cofh/api/package-info.java
Normal file → Executable file
67
src/main/java/refinedstorage/RefinedStorage.java
Normal file → Executable file
@@ -16,49 +16,42 @@ import refinedstorage.item.ItemStorageCell;
|
||||
import refinedstorage.proxy.CommonProxy;
|
||||
|
||||
@Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION)
|
||||
public final class RefinedStorage
|
||||
{
|
||||
public static final String ID = "refinedstorage";
|
||||
public static final String VERSION = "0.5";
|
||||
public final class RefinedStorage {
|
||||
public static final String ID = "refinedstorage";
|
||||
public static final String VERSION = "0.5";
|
||||
|
||||
public static final SimpleNetworkWrapper NETWORK = NetworkRegistry.INSTANCE.newSimpleChannel(ID);
|
||||
public static final SimpleNetworkWrapper NETWORK = NetworkRegistry.INSTANCE.newSimpleChannel(ID);
|
||||
|
||||
public static final CreativeTabs TAB = new CreativeTabs(ID)
|
||||
{
|
||||
@Override
|
||||
public ItemStack getIconItemStack()
|
||||
{
|
||||
return new ItemStack(RefinedStorageItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_1K);
|
||||
}
|
||||
public static final CreativeTabs TAB = new CreativeTabs(ID) {
|
||||
@Override
|
||||
public ItemStack getIconItemStack() {
|
||||
return new ItemStack(RefinedStorageItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_1K);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getTabIconItem()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
};
|
||||
@Override
|
||||
public Item getTabIconItem() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
|
||||
public static CommonProxy PROXY;
|
||||
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
|
||||
public static CommonProxy PROXY;
|
||||
|
||||
@Instance
|
||||
public static RefinedStorage INSTANCE;
|
||||
@Instance
|
||||
public static RefinedStorage INSTANCE;
|
||||
|
||||
@EventHandler
|
||||
public void preInit(FMLPreInitializationEvent e)
|
||||
{
|
||||
PROXY.preInit(e);
|
||||
}
|
||||
@EventHandler
|
||||
public void preInit(FMLPreInitializationEvent e) {
|
||||
PROXY.preInit(e);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void init(FMLInitializationEvent e)
|
||||
{
|
||||
PROXY.init(e);
|
||||
}
|
||||
@EventHandler
|
||||
public void init(FMLInitializationEvent e) {
|
||||
PROXY.init(e);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void postInit(FMLPostInitializationEvent e)
|
||||
{
|
||||
PROXY.postInit(e);
|
||||
}
|
||||
@EventHandler
|
||||
public void postInit(FMLPostInitializationEvent e) {
|
||||
PROXY.postInit(e);
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/RefinedStorageBlocks.java
Normal file → Executable file
@@ -2,22 +2,21 @@ package refinedstorage;
|
||||
|
||||
import refinedstorage.block.*;
|
||||
|
||||
public final class RefinedStorageBlocks
|
||||
{
|
||||
public static final BlockController CONTROLLER = new BlockController();
|
||||
public static final BlockCable CABLE = new BlockCable();
|
||||
public static final BlockGrid GRID = new BlockGrid();
|
||||
public static final BlockDrive DRIVE = new BlockDrive();
|
||||
public static final BlockExternalStorage EXTERNAL_STORAGE = new BlockExternalStorage();
|
||||
public static final BlockImporter IMPORTER = new BlockImporter();
|
||||
public static final BlockExporter EXPORTER = new BlockExporter();
|
||||
public static final BlockDetector DETECTOR = new BlockDetector();
|
||||
public static final BlockMachineCasing MACHINE_CASING = new BlockMachineCasing();
|
||||
public static final BlockSolderer SOLDERER = new BlockSolderer();
|
||||
public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter();
|
||||
public static final BlockDestructor DESTRUCTOR = new BlockDestructor();
|
||||
public static final BlockConstructor CONSTRUCTOR = new BlockConstructor();
|
||||
public static final BlockStorage STORAGE = new BlockStorage();
|
||||
public static final BlockRelay RELAY = new BlockRelay();
|
||||
public static final BlockInterface INTERFACE = new BlockInterface();
|
||||
public final class RefinedStorageBlocks {
|
||||
public static final BlockController CONTROLLER = new BlockController();
|
||||
public static final BlockCable CABLE = new BlockCable();
|
||||
public static final BlockGrid GRID = new BlockGrid();
|
||||
public static final BlockDrive DRIVE = new BlockDrive();
|
||||
public static final BlockExternalStorage EXTERNAL_STORAGE = new BlockExternalStorage();
|
||||
public static final BlockImporter IMPORTER = new BlockImporter();
|
||||
public static final BlockExporter EXPORTER = new BlockExporter();
|
||||
public static final BlockDetector DETECTOR = new BlockDetector();
|
||||
public static final BlockMachineCasing MACHINE_CASING = new BlockMachineCasing();
|
||||
public static final BlockSolderer SOLDERER = new BlockSolderer();
|
||||
public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter();
|
||||
public static final BlockDestructor DESTRUCTOR = new BlockDestructor();
|
||||
public static final BlockConstructor CONSTRUCTOR = new BlockConstructor();
|
||||
public static final BlockStorage STORAGE = new BlockStorage();
|
||||
public static final BlockRelay RELAY = new BlockRelay();
|
||||
public static final BlockInterface INTERFACE = new BlockInterface();
|
||||
}
|
||||
|
29
src/main/java/refinedstorage/RefinedStorageGui.java
Normal file → Executable file
@@ -1,18 +1,17 @@
|
||||
package refinedstorage;
|
||||
|
||||
public final class RefinedStorageGui
|
||||
{
|
||||
public static final int CONTROLLER = 0;
|
||||
public static final int GRID = 1;
|
||||
public static final int DRIVE = 2;
|
||||
public static final int IMPORTER = 4;
|
||||
public static final int EXPORTER = 5;
|
||||
public static final int DETECTOR = 6;
|
||||
public static final int SOLDERER = 7;
|
||||
public static final int WIRELESS_TRANSMITTER = 8;
|
||||
public static final int DESTRUCTOR = 9;
|
||||
public static final int CONSTRUCTOR = 10;
|
||||
public static final int STORAGE = 11;
|
||||
public static final int RELAY = 12;
|
||||
public static final int INTERFACE = 13;
|
||||
public final class RefinedStorageGui {
|
||||
public static final int CONTROLLER = 0;
|
||||
public static final int GRID = 1;
|
||||
public static final int DRIVE = 2;
|
||||
public static final int IMPORTER = 4;
|
||||
public static final int EXPORTER = 5;
|
||||
public static final int DETECTOR = 6;
|
||||
public static final int SOLDERER = 7;
|
||||
public static final int WIRELESS_TRANSMITTER = 8;
|
||||
public static final int DESTRUCTOR = 9;
|
||||
public static final int CONSTRUCTOR = 10;
|
||||
public static final int STORAGE = 11;
|
||||
public static final int RELAY = 12;
|
||||
public static final int INTERFACE = 13;
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/RefinedStorageItems.java
Normal file → Executable file
@@ -2,14 +2,13 @@ package refinedstorage;
|
||||
|
||||
import refinedstorage.item.*;
|
||||
|
||||
public final class RefinedStorageItems
|
||||
{
|
||||
public static final ItemStorageCell STORAGE_CELL = new ItemStorageCell();
|
||||
public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid();
|
||||
public static final ItemWirelessGridPlate WIRELESS_GRID_PLATE = new ItemWirelessGridPlate();
|
||||
public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = new ItemQuartzEnrichedIron();
|
||||
public static final ItemCore CORE = new ItemCore();
|
||||
public static final ItemSilicon SILICON = new ItemSilicon();
|
||||
public static final ItemProcessor PROCESSOR = new ItemProcessor();
|
||||
public static final ItemStoragePart STORAGE_PART = new ItemStoragePart();
|
||||
public final class RefinedStorageItems {
|
||||
public static final ItemStorageCell STORAGE_CELL = new ItemStorageCell();
|
||||
public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid();
|
||||
public static final ItemWirelessGridPlate WIRELESS_GRID_PLATE = new ItemWirelessGridPlate();
|
||||
public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = new ItemQuartzEnrichedIron();
|
||||
public static final ItemCore CORE = new ItemCore();
|
||||
public static final ItemSilicon SILICON = new ItemSilicon();
|
||||
public static final ItemProcessor PROCESSOR = new ItemProcessor();
|
||||
public static final ItemStoragePart STORAGE_PART = new ItemStoragePart();
|
||||
}
|
||||
|
158
src/main/java/refinedstorage/block/BlockBase.java
Normal file → Executable file
@@ -18,117 +18,101 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.tile.TileBase;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public abstract class BlockBase extends Block
|
||||
{
|
||||
public static final PropertyDirection DIRECTION = PropertyDirection.create("direction");
|
||||
public abstract class BlockBase extends Block {
|
||||
public static final PropertyDirection DIRECTION = PropertyDirection.create("direction");
|
||||
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
public BlockBase(String name)
|
||||
{
|
||||
super(Material.rock);
|
||||
public BlockBase(String name) {
|
||||
super(Material.rock);
|
||||
|
||||
this.name = name;
|
||||
this.name = name;
|
||||
|
||||
setHardness(0.6F);
|
||||
setCreativeTab(RefinedStorage.TAB);
|
||||
}
|
||||
setHardness(0.6F);
|
||||
setCreativeTab(RefinedStorage.TAB);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName()
|
||||
{
|
||||
return "block." + RefinedStorage.ID + ":" + name;
|
||||
}
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "block." + RefinedStorage.ID + ":" + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return getDefaultState();
|
||||
}
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return getDefaultState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase)
|
||||
{
|
||||
return state.withProperty(DIRECTION, ((TileBase) tile).getDirection());
|
||||
}
|
||||
if (tile instanceof TileBase) {
|
||||
return state.withProperty(DIRECTION, ((TileBase) tile).getDirection());
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped(IBlockState state)
|
||||
{
|
||||
return getMetaFromState(state);
|
||||
}
|
||||
@Override
|
||||
public int damageDropped(IBlockState state) {
|
||||
return getMetaFromState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis)
|
||||
{
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
@Override
|
||||
public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase)
|
||||
{
|
||||
EnumFacing dir = ((TileBase) tile).getDirection();
|
||||
if (tile instanceof TileBase) {
|
||||
EnumFacing dir = ((TileBase) tile).getDirection();
|
||||
|
||||
int newDir = dir.ordinal() + 1;
|
||||
int newDir = dir.ordinal() + 1;
|
||||
|
||||
if (newDir > EnumFacing.VALUES.length - 1)
|
||||
{
|
||||
newDir = 0;
|
||||
}
|
||||
if (newDir > EnumFacing.VALUES.length - 1) {
|
||||
newDir = 0;
|
||||
}
|
||||
|
||||
((TileBase) tile).setDirection(EnumFacing.getFront(newDir));
|
||||
((TileBase) tile).setDirection(EnumFacing.getFront(newDir));
|
||||
|
||||
world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 2 | 4);
|
||||
world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 2 | 4);
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack)
|
||||
{
|
||||
super.onBlockPlacedBy(world, pos, state, player, itemStack);
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) {
|
||||
super.onBlockPlacedBy(world, pos, state, player, itemStack);
|
||||
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase)
|
||||
{
|
||||
((TileBase) tile).setDirection(BlockPistonBase.getFacingFromEntity(pos, player));
|
||||
}
|
||||
}
|
||||
if (tile instanceof TileBase) {
|
||||
((TileBase) tile).setDirection(BlockPistonBase.getFacingFromEntity(pos, player));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state)
|
||||
{
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
|
||||
if (tile instanceof TileBase && ((TileBase) tile).getDroppedInventory() != null)
|
||||
{
|
||||
InventoryUtils.dropInventory(world, ((TileBase) tile).getDroppedInventory(), pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
if (tile instanceof TileBase && ((TileBase) tile).getDroppedInventory() != null) {
|
||||
InventoryUtils.dropInventory(world, ((TileBase) tile).getDroppedInventory(), pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
}
|
||||
|
126
src/main/java/refinedstorage/block/BlockCable.java
Normal file → Executable file
@@ -11,82 +11,72 @@ import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.tile.TileCable;
|
||||
|
||||
public class BlockCable extends BlockBase
|
||||
{
|
||||
public static final PropertyBool NORTH = PropertyBool.create("north");
|
||||
public static final PropertyBool EAST = PropertyBool.create("east");
|
||||
public static final PropertyBool SOUTH = PropertyBool.create("south");
|
||||
public static final PropertyBool WEST = PropertyBool.create("west");
|
||||
public static final PropertyBool UP = PropertyBool.create("up");
|
||||
public static final PropertyBool DOWN = PropertyBool.create("down");
|
||||
public class BlockCable extends BlockBase {
|
||||
public static final PropertyBool NORTH = PropertyBool.create("north");
|
||||
public static final PropertyBool EAST = PropertyBool.create("east");
|
||||
public static final PropertyBool SOUTH = PropertyBool.create("south");
|
||||
public static final PropertyBool WEST = PropertyBool.create("west");
|
||||
public static final PropertyBool UP = PropertyBool.create("up");
|
||||
public static final PropertyBool DOWN = PropertyBool.create("down");
|
||||
|
||||
public BlockCable()
|
||||
{
|
||||
super("cable");
|
||||
}
|
||||
public BlockCable() {
|
||||
super("cable");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
NORTH,
|
||||
EAST,
|
||||
SOUTH,
|
||||
WEST,
|
||||
UP,
|
||||
DOWN,
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
NORTH,
|
||||
EAST,
|
||||
SOUTH,
|
||||
WEST,
|
||||
UP,
|
||||
DOWN,
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(NORTH, TileCable.hasConnectionWith(world, pos.north()))
|
||||
.withProperty(EAST, TileCable.hasConnectionWith(world, pos.east()))
|
||||
.withProperty(SOUTH, TileCable.hasConnectionWith(world, pos.south()))
|
||||
.withProperty(WEST, TileCable.hasConnectionWith(world, pos.west()))
|
||||
.withProperty(UP, TileCable.hasConnectionWith(world, pos.up()))
|
||||
.withProperty(DOWN, TileCable.hasConnectionWith(world, pos.down()));
|
||||
}
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(NORTH, TileCable.hasConnectionWith(world, pos.north()))
|
||||
.withProperty(EAST, TileCable.hasConnectionWith(world, pos.east()))
|
||||
.withProperty(SOUTH, TileCable.hasConnectionWith(world, pos.south()))
|
||||
.withProperty(WEST, TileCable.hasConnectionWith(world, pos.west()))
|
||||
.withProperty(UP, TileCable.hasConnectionWith(world, pos.up()))
|
||||
.withProperty(DOWN, TileCable.hasConnectionWith(world, pos.down()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
float pixel = 1F / 16F;
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
float pixel = 1F / 16F;
|
||||
|
||||
return new AxisAlignedBB(4 * pixel, 4 * pixel, 4 * pixel, 1 - 4 * pixel, 1 - 4 * pixel, 1 - 4 * pixel);
|
||||
}
|
||||
return new AxisAlignedBB(4 * pixel, 4 * pixel, 4 * pixel, 1 - 4 * pixel, 1 - 4 * pixel, 1 - 4 * pixel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState state, World world, BlockPos pos)
|
||||
{
|
||||
return getBoundingBox(state, world, pos);
|
||||
}
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState state, World world, BlockPos pos) {
|
||||
return getBoundingBox(state, world, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileCable();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileCable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockConstructor.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileConstructor;
|
||||
|
||||
public class BlockConstructor extends BlockMachine
|
||||
{
|
||||
public BlockConstructor()
|
||||
{
|
||||
super("constructor");
|
||||
}
|
||||
public class BlockConstructor extends BlockMachine {
|
||||
public BlockConstructor() {
|
||||
super("constructor");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileConstructor();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileConstructor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONSTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONSTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
142
src/main/java/refinedstorage/block/BlockController.java
Normal file → Executable file
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.properties.PropertyInteger;
|
||||
@@ -20,95 +19,82 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileController;
|
||||
|
||||
public class BlockController extends BlockBase
|
||||
{
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumControllerType.class);
|
||||
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8);
|
||||
import java.util.List;
|
||||
|
||||
public BlockController()
|
||||
{
|
||||
super("controller");
|
||||
}
|
||||
public class BlockController extends BlockBase {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumControllerType.class);
|
||||
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8);
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems)
|
||||
{
|
||||
for (int i = 0; i <= 1; i++)
|
||||
{
|
||||
subItems.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
public BlockController() {
|
||||
super("controller");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
TYPE,
|
||||
ENERGY
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
subItems.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumControllerType.NORMAL : EnumControllerType.CREATIVE);
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
TYPE,
|
||||
ENERGY
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return state.getValue(TYPE) == EnumControllerType.NORMAL ? 0 : 1;
|
||||
}
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumControllerType.NORMAL : EnumControllerType.CREATIVE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(8));
|
||||
}
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return state.getValue(TYPE) == EnumControllerType.NORMAL ? 0 : 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(8));
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileController();
|
||||
}
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileController();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state)
|
||||
{
|
||||
((TileController) world.getTileEntity(pos)).onDestroyed();
|
||||
return true;
|
||||
}
|
||||
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||
((TileController) world.getTileEntity(pos)).onDestroyed();
|
||||
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride(IBlockState state)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos)
|
||||
{
|
||||
return ((TileController) world.getTileEntity(pos)).getEnergyScaled(15);
|
||||
}
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos) {
|
||||
return ((TileController) world.getTileEntity(pos)).getEnergyScaled(15);
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockDestructor.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileDestructor;
|
||||
|
||||
public class BlockDestructor extends BlockMachine
|
||||
{
|
||||
public BlockDestructor()
|
||||
{
|
||||
super("destructor");
|
||||
}
|
||||
public class BlockDestructor extends BlockMachine {
|
||||
public BlockDestructor() {
|
||||
super("destructor");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileDestructor();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileDestructor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DESTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DESTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
103
src/main/java/refinedstorage/block/BlockDetector.java
Normal file → Executable file
@@ -16,72 +16,61 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileDetector;
|
||||
|
||||
public class BlockDetector extends BlockMachine
|
||||
{
|
||||
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||
public class BlockDetector extends BlockMachine {
|
||||
public static final PropertyBool POWERED = PropertyBool.create("powered");
|
||||
|
||||
public BlockDetector()
|
||||
{
|
||||
super("detector");
|
||||
}
|
||||
public BlockDetector() {
|
||||
super("detector");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
POWERED
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
POWERED
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
|
||||
}
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileDetector();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileDetector();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
|
||||
{
|
||||
TileDetector detector = (TileDetector) world.getTileEntity(pos);
|
||||
@Override
|
||||
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
|
||||
TileDetector detector = (TileDetector) world.getTileEntity(pos);
|
||||
|
||||
if (detector.getDirection() == side.getOpposite())
|
||||
{
|
||||
return detector.isPowered() ? 15 : 0;
|
||||
}
|
||||
if (detector.getDirection() == side.getOpposite()) {
|
||||
return detector.isPowered() ? 15 : 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
|
||||
{
|
||||
return getWeakPower(state, world, pos, side);
|
||||
}
|
||||
@Override
|
||||
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
|
||||
return getWeakPower(state, world, pos, side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canProvidePower(IBlockState state)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean canProvidePower(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockDrive.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileDrive;
|
||||
|
||||
public class BlockDrive extends BlockMachine
|
||||
{
|
||||
public BlockDrive()
|
||||
{
|
||||
super("drive");
|
||||
}
|
||||
public class BlockDrive extends BlockMachine {
|
||||
public BlockDrive() {
|
||||
super("drive");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileDrive();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileDrive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockExporter.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileExporter;
|
||||
|
||||
public class BlockExporter extends BlockMachine
|
||||
{
|
||||
public BlockExporter()
|
||||
{
|
||||
super("exporter");
|
||||
}
|
||||
public class BlockExporter extends BlockMachine {
|
||||
public BlockExporter() {
|
||||
super("exporter");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileExporter();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileExporter();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockExternalStorage.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileExternalStorage;
|
||||
|
||||
public class BlockExternalStorage extends BlockMachine
|
||||
{
|
||||
public BlockExternalStorage()
|
||||
{
|
||||
super("external_storage");
|
||||
}
|
||||
public class BlockExternalStorage extends BlockMachine {
|
||||
public BlockExternalStorage() {
|
||||
super("external_storage");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileExternalStorage();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileExternalStorage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
91
src/main/java/refinedstorage/block/BlockGrid.java
Normal file → Executable file
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
@@ -18,61 +17,53 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class BlockGrid extends BlockMachine
|
||||
{
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
|
||||
import java.util.List;
|
||||
|
||||
public BlockGrid()
|
||||
{
|
||||
super("grid");
|
||||
}
|
||||
public class BlockGrid extends BlockMachine {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileGrid();
|
||||
}
|
||||
public BlockGrid() {
|
||||
super("grid");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems)
|
||||
{
|
||||
for (int i = 0; i <= 1; i++)
|
||||
{
|
||||
subItems.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileGrid();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
subItems.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : EnumGridType.CRAFTING);
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : 1;
|
||||
}
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : EnumGridType.CRAFTING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.GRID, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : 1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.GRID, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockImporter.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileImporter;
|
||||
|
||||
public class BlockImporter extends BlockMachine
|
||||
{
|
||||
public BlockImporter()
|
||||
{
|
||||
super("importer");
|
||||
}
|
||||
public class BlockImporter extends BlockMachine {
|
||||
public BlockImporter() {
|
||||
super("importer");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileImporter();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileImporter();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.IMPORTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.IMPORTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockInterface.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileInterface;
|
||||
|
||||
public class BlockInterface extends BlockMachine
|
||||
{
|
||||
public BlockInterface()
|
||||
{
|
||||
super("interface");
|
||||
}
|
||||
public class BlockInterface extends BlockMachine {
|
||||
public BlockInterface() {
|
||||
super("interface");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileInterface();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileInterface();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
49
src/main/java/refinedstorage/block/BlockMachine.java
Normal file → Executable file
@@ -8,35 +8,30 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import refinedstorage.tile.TileMachine;
|
||||
|
||||
public abstract class BlockMachine extends BlockBase
|
||||
{
|
||||
public static final PropertyBool CONNECTED = PropertyBool.create("connected");
|
||||
public abstract class BlockMachine extends BlockBase {
|
||||
public static final PropertyBool CONNECTED = PropertyBool.create("connected");
|
||||
|
||||
public BlockMachine(String name)
|
||||
{
|
||||
super(name);
|
||||
}
|
||||
public BlockMachine(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(CONNECTED, ((TileMachine) world.getTileEntity(pos)).isConnected());
|
||||
}
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(CONNECTED, ((TileMachine) world.getTileEntity(pos)).isConnected());
|
||||
}
|
||||
}
|
||||
|
10
src/main/java/refinedstorage/block/BlockMachineCasing.java
Normal file → Executable file
@@ -1,9 +1,7 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
public class BlockMachineCasing extends BlockBase
|
||||
{
|
||||
public BlockMachineCasing()
|
||||
{
|
||||
super("machine_casing");
|
||||
}
|
||||
public class BlockMachineCasing extends BlockBase {
|
||||
public BlockMachineCasing() {
|
||||
super("machine_casing");
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockRelay.java
Normal file → Executable file
@@ -12,27 +12,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileRelay;
|
||||
|
||||
public class BlockRelay extends BlockMachine
|
||||
{
|
||||
public BlockRelay()
|
||||
{
|
||||
super("relay");
|
||||
}
|
||||
public class BlockRelay extends BlockMachine {
|
||||
public BlockRelay() {
|
||||
super("relay");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileRelay();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileRelay();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.RELAY, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.RELAY, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/block/BlockSolderer.java
Normal file → Executable file
@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileSolderer;
|
||||
|
||||
public class BlockSolderer extends BlockMachine
|
||||
{
|
||||
public BlockSolderer()
|
||||
{
|
||||
super("solderer");
|
||||
}
|
||||
public class BlockSolderer extends BlockMachine {
|
||||
public BlockSolderer() {
|
||||
super("solderer");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileSolderer();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileSolderer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
159
src/main/java/refinedstorage/block/BlockStorage.java
Normal file → Executable file
@@ -1,7 +1,5 @@
|
||||
package refinedstorage.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
@@ -24,111 +22,98 @@ import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.item.ItemBlockStorage;
|
||||
import refinedstorage.tile.TileStorage;
|
||||
|
||||
public class BlockStorage extends BlockMachine
|
||||
{
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public BlockStorage()
|
||||
{
|
||||
super("storage");
|
||||
}
|
||||
public class BlockStorage extends BlockMachine {
|
||||
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems)
|
||||
{
|
||||
for (int i = 0; i <= 4; i++)
|
||||
{
|
||||
subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
|
||||
}
|
||||
}
|
||||
public BlockStorage() {
|
||||
super("storage");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
|
||||
for (int i = 0; i <= 4; i++) {
|
||||
subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return getDefaultState().withProperty(TYPE, EnumStorageType.getById(meta));
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
TYPE
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return ((EnumStorageType) state.getValue(TYPE)).getId();
|
||||
}
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return getDefaultState().withProperty(TYPE, EnumStorageType.getById(meta));
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileStorage();
|
||||
}
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return ((EnumStorageType) state.getValue(TYPE)).getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileStorage();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack)
|
||||
{
|
||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||
return true;
|
||||
}
|
||||
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
|
||||
super.onBlockPlacedBy(world, pos, state, player, stack);
|
||||
|
||||
if (tag != null && tag.hasKey(TileStorage.NBT_STORAGE))
|
||||
{
|
||||
((TileStorage) world.getTileEntity(pos)).setStorageTag((NBTTagCompound) tag.getTag(TileStorage.NBT_STORAGE));
|
||||
}
|
||||
}
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
|
||||
{
|
||||
List<ItemStack> drops = new ArrayList<ItemStack>();
|
||||
if (tag != null && tag.hasKey(TileStorage.NBT_STORAGE)) {
|
||||
((TileStorage) world.getTileEntity(pos)).setStorageTag((NBTTagCompound) tag.getTag(TileStorage.NBT_STORAGE));
|
||||
}
|
||||
}
|
||||
|
||||
ItemStack stack = new ItemStack(RefinedStorageBlocks.STORAGE, 1, RefinedStorageBlocks.STORAGE.getMetaFromState(state));
|
||||
@Override
|
||||
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
List<ItemStack> drops = new ArrayList<ItemStack>();
|
||||
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
ItemStack stack = new ItemStack(RefinedStorageBlocks.STORAGE, 1, RefinedStorageBlocks.STORAGE.getMetaFromState(state));
|
||||
|
||||
tag.setTag(TileStorage.NBT_STORAGE, ((TileStorage) world.getTileEntity(pos)).getStorageTag());
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
|
||||
stack.setTagCompound(tag);
|
||||
tag.setTag(TileStorage.NBT_STORAGE, ((TileStorage) world.getTileEntity(pos)).getStorageTag());
|
||||
|
||||
drops.add(stack);
|
||||
stack.setTagCompound(tag);
|
||||
|
||||
return drops;
|
||||
}
|
||||
drops.add(stack);
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest)
|
||||
{
|
||||
if (willHarvest)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return drops;
|
||||
}
|
||||
|
||||
return super.removedByPlayer(state, world, pos, player, willHarvest);
|
||||
}
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) {
|
||||
if (willHarvest) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvestBlock(World world, EntityPlayer player, BlockPos pos, IBlockState state, TileEntity tile, ItemStack stack)
|
||||
{
|
||||
super.harvestBlock(world, player, pos, state, tile, stack);
|
||||
return super.removedByPlayer(state, world, pos, player, willHarvest);
|
||||
}
|
||||
|
||||
world.setBlockToAir(pos);
|
||||
}
|
||||
@Override
|
||||
public void harvestBlock(World world, EntityPlayer player, BlockPos pos, IBlockState state, TileEntity tile, ItemStack stack) {
|
||||
super.harvestBlock(world, player, pos, state, tile, stack);
|
||||
|
||||
world.setBlockToAir(pos);
|
||||
}
|
||||
}
|
||||
|
67
src/main/java/refinedstorage/block/BlockWirelessTransmitter.java
Normal file → Executable file
@@ -16,47 +16,40 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.TileWirelessTransmitter;
|
||||
|
||||
public class BlockWirelessTransmitter extends BlockMachine
|
||||
{
|
||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
||||
public class BlockWirelessTransmitter extends BlockMachine {
|
||||
public static final PropertyBool WORKING = PropertyBool.create("working");
|
||||
|
||||
public BlockWirelessTransmitter()
|
||||
{
|
||||
super("wireless_transmitter");
|
||||
}
|
||||
public BlockWirelessTransmitter() {
|
||||
super("wireless_transmitter");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState()
|
||||
{
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
WORKING
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
return new BlockStateContainer(this, new IProperty[]
|
||||
{
|
||||
DIRECTION,
|
||||
CONNECTED,
|
||||
WORKING
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking());
|
||||
}
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
return super.getActualState(state, world, pos)
|
||||
.withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state)
|
||||
{
|
||||
return new TileWirelessTransmitter();
|
||||
}
|
||||
@Override
|
||||
public TileEntity createTileEntity(World world, IBlockState state) {
|
||||
return new TileWirelessTransmitter();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
45
src/main/java/refinedstorage/block/EnumControllerType.java
Normal file → Executable file
@@ -2,34 +2,29 @@ package refinedstorage.block;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public enum EnumControllerType implements IStringSerializable
|
||||
{
|
||||
NORMAL(0, "normal"),
|
||||
CREATIVE(1, "creative");
|
||||
public enum EnumControllerType implements IStringSerializable {
|
||||
NORMAL(0, "normal"),
|
||||
CREATIVE(1, "creative");
|
||||
|
||||
private int id;
|
||||
private String name;
|
||||
private int id;
|
||||
private String name;
|
||||
|
||||
EnumControllerType(int id, String name)
|
||||
{
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
EnumControllerType(int id, String name) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
45
src/main/java/refinedstorage/block/EnumGridType.java
Normal file → Executable file
@@ -2,35 +2,30 @@ package refinedstorage.block;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public enum EnumGridType implements IStringSerializable
|
||||
{
|
||||
NORMAL(0, "normal"),
|
||||
CRAFTING(1, "crafting");
|
||||
public enum EnumGridType implements IStringSerializable {
|
||||
NORMAL(0, "normal"),
|
||||
CRAFTING(1, "crafting");
|
||||
|
||||
private int id;
|
||||
private String name;
|
||||
private int id;
|
||||
private String name;
|
||||
|
||||
EnumGridType(int id, String name)
|
||||
{
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
EnumGridType(int id, String name) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
}
|
||||
|
81
src/main/java/refinedstorage/block/EnumStorageType.java
Normal file → Executable file
@@ -2,57 +2,48 @@ package refinedstorage.block;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public enum EnumStorageType implements IStringSerializable
|
||||
{
|
||||
TYPE_1K(0, 1000, "1k"),
|
||||
TYPE_4K(1, 4000, "4k"),
|
||||
TYPE_16K(2, 16000, "16k"),
|
||||
TYPE_64K(3, 64000, "64k"),
|
||||
TYPE_CREATIVE(4, -1, "creative");
|
||||
public enum EnumStorageType implements IStringSerializable {
|
||||
TYPE_1K(0, 1000, "1k"),
|
||||
TYPE_4K(1, 4000, "4k"),
|
||||
TYPE_16K(2, 16000, "16k"),
|
||||
TYPE_64K(3, 64000, "64k"),
|
||||
TYPE_CREATIVE(4, -1, "creative");
|
||||
|
||||
private int id;
|
||||
private int capacity;
|
||||
private String name;
|
||||
private int id;
|
||||
private int capacity;
|
||||
private String name;
|
||||
|
||||
EnumStorageType(int id, int capacity, String name)
|
||||
{
|
||||
this.id = id;
|
||||
this.capacity = capacity;
|
||||
this.name = name;
|
||||
}
|
||||
EnumStorageType(int id, int capacity, String name) {
|
||||
this.id = id;
|
||||
this.capacity = capacity;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getCapacity()
|
||||
{
|
||||
return capacity;
|
||||
}
|
||||
public int getCapacity() {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public static EnumStorageType getById(int id)
|
||||
{
|
||||
for (EnumStorageType type : EnumStorageType.values())
|
||||
{
|
||||
if (type.getId() == id)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
public static EnumStorageType getById(int id) {
|
||||
for (EnumStorageType type : EnumStorageType.values()) {
|
||||
if (type.getId() == id) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
196
src/main/java/refinedstorage/container/ContainerBase.java
Normal file → Executable file
@@ -1,7 +1,5 @@
|
||||
package refinedstorage.container;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ClickType;
|
||||
@@ -11,141 +9,113 @@ import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.container.slot.SlotDisabled;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
|
||||
public abstract class ContainerBase extends Container
|
||||
{
|
||||
private EntityPlayer player;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
private List<Slot> playerInventorySlots = new ArrayList<Slot>();
|
||||
public abstract class ContainerBase extends Container {
|
||||
private EntityPlayer player;
|
||||
|
||||
public ContainerBase(EntityPlayer player)
|
||||
{
|
||||
this.player = player;
|
||||
}
|
||||
private List<Slot> playerInventorySlots = new ArrayList<Slot>();
|
||||
|
||||
public EntityPlayer getPlayer()
|
||||
{
|
||||
return player;
|
||||
}
|
||||
public ContainerBase(EntityPlayer player) {
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
protected void addPlayerInventory(int xInventory, int yInventory)
|
||||
{
|
||||
int id = 0;
|
||||
public EntityPlayer getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 9; i++)
|
||||
{
|
||||
Slot slot = new Slot(player.inventory, id, xInventory + i * 18, yInventory + 4 + (3 * 18));
|
||||
protected void addPlayerInventory(int xInventory, int yInventory) {
|
||||
int id = 0;
|
||||
|
||||
playerInventorySlots.add(slot);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
Slot slot = new Slot(player.inventory, id, xInventory + i * 18, yInventory + 4 + (3 * 18));
|
||||
|
||||
addSlotToContainer(slot);
|
||||
playerInventorySlots.add(slot);
|
||||
|
||||
id++;
|
||||
}
|
||||
addSlotToContainer(slot);
|
||||
|
||||
for (int y = 0; y < 3; y++)
|
||||
{
|
||||
for (int x = 0; x < 9; x++)
|
||||
{
|
||||
Slot slot = new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18);
|
||||
id++;
|
||||
}
|
||||
|
||||
playerInventorySlots.add(slot);
|
||||
for (int y = 0; y < 3; y++) {
|
||||
for (int x = 0; x < 9; x++) {
|
||||
Slot slot = new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18);
|
||||
|
||||
addSlotToContainer(slot);
|
||||
playerInventorySlots.add(slot);
|
||||
|
||||
id++;
|
||||
}
|
||||
}
|
||||
}
|
||||
addSlotToContainer(slot);
|
||||
|
||||
@Override
|
||||
public ItemStack func_184996_a(int id, int clickedButton, ClickType clickType, EntityPlayer player)
|
||||
{
|
||||
Slot slot = id >= 0 ? getSlot(id) : null;
|
||||
id++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (slot instanceof SlotSpecimen)
|
||||
{
|
||||
if (((SlotSpecimen) slot).isSizeAllowed())
|
||||
{
|
||||
if (player.inventory.getItemStack() != null)
|
||||
{
|
||||
int amount = player.inventory.getItemStack().stackSize;
|
||||
@Override
|
||||
public ItemStack func_184996_a(int id, int clickedButton, ClickType clickType, EntityPlayer player) {
|
||||
Slot slot = id >= 0 ? getSlot(id) : null;
|
||||
|
||||
if (clickedButton == 1)
|
||||
{
|
||||
amount = 1;
|
||||
}
|
||||
if (slot instanceof SlotSpecimen) {
|
||||
if (((SlotSpecimen) slot).isSizeAllowed()) {
|
||||
if (player.inventory.getItemStack() != null) {
|
||||
int amount = player.inventory.getItemStack().stackSize;
|
||||
|
||||
ItemStack toPut = player.inventory.getItemStack().copy();
|
||||
toPut.stackSize = amount;
|
||||
if (clickedButton == 1) {
|
||||
amount = 1;
|
||||
}
|
||||
|
||||
slot.putStack(toPut);
|
||||
}
|
||||
else if (slot.getStack() != null)
|
||||
{
|
||||
if (GuiScreen.isShiftKeyDown())
|
||||
{
|
||||
slot.putStack(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
int amount = slot.getStack().stackSize;
|
||||
ItemStack toPut = player.inventory.getItemStack().copy();
|
||||
toPut.stackSize = amount;
|
||||
|
||||
if (clickedButton == 0)
|
||||
{
|
||||
amount++;
|
||||
slot.putStack(toPut);
|
||||
} else if (slot.getStack() != null) {
|
||||
if (GuiScreen.isShiftKeyDown()) {
|
||||
slot.putStack(null);
|
||||
} else {
|
||||
int amount = slot.getStack().stackSize;
|
||||
|
||||
if (amount > 64)
|
||||
{
|
||||
amount = 64;
|
||||
}
|
||||
}
|
||||
else if (clickedButton == 1)
|
||||
{
|
||||
amount--;
|
||||
if (clickedButton == 0) {
|
||||
amount++;
|
||||
|
||||
if (amount < 1)
|
||||
{
|
||||
amount = 1;
|
||||
}
|
||||
}
|
||||
if (amount > 64) {
|
||||
amount = 64;
|
||||
}
|
||||
} else if (clickedButton == 1) {
|
||||
amount--;
|
||||
|
||||
slot.getStack().stackSize = amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (player.inventory.getItemStack() == null)
|
||||
{
|
||||
slot.putStack(null);
|
||||
}
|
||||
else if (slot.isItemValid(player.inventory.getItemStack()))
|
||||
{
|
||||
slot.putStack(player.inventory.getItemStack().copy());
|
||||
}
|
||||
if (amount < 1) {
|
||||
amount = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return player.inventory.getItemStack();
|
||||
}
|
||||
else if (slot instanceof SlotDisabled)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
slot.getStack().stackSize = amount;
|
||||
}
|
||||
}
|
||||
} else if (player.inventory.getItemStack() == null) {
|
||||
slot.putStack(null);
|
||||
} else if (slot.isItemValid(player.inventory.getItemStack())) {
|
||||
slot.putStack(player.inventory.getItemStack().copy());
|
||||
}
|
||||
|
||||
return super.func_184996_a(id, clickedButton, clickType, player);
|
||||
}
|
||||
return player.inventory.getItemStack();
|
||||
} else if (slot instanceof SlotDisabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return super.func_184996_a(id, clickedButton, clickType, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<Slot> getPlayerInventorySlots()
|
||||
{
|
||||
return playerInventorySlots;
|
||||
}
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<Slot> getPlayerInventorySlots() {
|
||||
return playerInventorySlots;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/container/ContainerConstructor.java
Normal file → Executable file
@@ -7,28 +7,23 @@ import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.TileConstructor;
|
||||
|
||||
public class ContainerConstructor extends ContainerBase
|
||||
{
|
||||
class SlotConstructor extends SlotSpecimen
|
||||
{
|
||||
public SlotConstructor(IInventory inventory, int id, int x, int y)
|
||||
{
|
||||
super(inventory, id, x, y, false);
|
||||
}
|
||||
public class ContainerConstructor extends ContainerBase {
|
||||
class SlotConstructor extends SlotSpecimen {
|
||||
public SlotConstructor(IInventory inventory, int id, int x, int y) {
|
||||
super(inventory, id, x, y, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack)
|
||||
{
|
||||
return stack.getItem() instanceof ItemBlock;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return stack.getItem() instanceof ItemBlock;
|
||||
}
|
||||
}
|
||||
|
||||
public ContainerConstructor(EntityPlayer player, TileConstructor constructor)
|
||||
{
|
||||
super(player);
|
||||
public ContainerConstructor(EntityPlayer player, TileConstructor constructor) {
|
||||
super(player);
|
||||
|
||||
addSlotToContainer(new SlotConstructor(constructor.getInventory(), 0, 80, 20));
|
||||
addSlotToContainer(new SlotConstructor(constructor.getInventory(), 0, 80, 20));
|
||||
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
12
src/main/java/refinedstorage/container/ContainerController.java
Normal file → Executable file
@@ -2,12 +2,10 @@ package refinedstorage.container;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class ContainerController extends ContainerBase
|
||||
{
|
||||
public ContainerController(EntityPlayer player)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerController extends ContainerBase {
|
||||
public ContainerController(EntityPlayer player) {
|
||||
super(player);
|
||||
|
||||
addPlayerInventory(8, 99);
|
||||
}
|
||||
addPlayerInventory(8, 99);
|
||||
}
|
||||
}
|
||||
|
12
src/main/java/refinedstorage/container/ContainerDestructor.java
Normal file → Executable file
@@ -2,12 +2,10 @@ package refinedstorage.container;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class ContainerDestructor extends ContainerBase
|
||||
{
|
||||
public ContainerDestructor(EntityPlayer player)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerDestructor extends ContainerBase {
|
||||
public ContainerDestructor(EntityPlayer player) {
|
||||
super(player);
|
||||
|
||||
addPlayerInventory(8, 50);
|
||||
}
|
||||
addPlayerInventory(8, 50);
|
||||
}
|
||||
}
|
||||
|
14
src/main/java/refinedstorage/container/ContainerDetector.java
Normal file → Executable file
@@ -4,14 +4,12 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.TileDetector;
|
||||
|
||||
public class ContainerDetector extends ContainerBase
|
||||
{
|
||||
public ContainerDetector(EntityPlayer player, TileDetector detector)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerDetector extends ContainerBase {
|
||||
public ContainerDetector(EntityPlayer player, TileDetector detector) {
|
||||
super(player);
|
||||
|
||||
addSlotToContainer(new SlotSpecimen(detector.getInventory(), 0, 107, 20, false));
|
||||
addSlotToContainer(new SlotSpecimen(detector.getInventory(), 0, 107, 20, false));
|
||||
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
24
src/main/java/refinedstorage/container/ContainerDrive.java
Normal file → Executable file
@@ -6,20 +6,16 @@ import refinedstorage.container.slot.BasicItemValidator;
|
||||
import refinedstorage.container.slot.SlotFiltered;
|
||||
import refinedstorage.tile.TileDrive;
|
||||
|
||||
public class ContainerDrive extends ContainerStorage
|
||||
{
|
||||
public ContainerDrive(EntityPlayer player, TileDrive drive)
|
||||
{
|
||||
super(player, drive.getInventory());
|
||||
public class ContainerDrive extends ContainerStorage {
|
||||
public ContainerDrive(EntityPlayer player, TileDrive drive) {
|
||||
super(player, drive.getInventory());
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotFiltered(drive, i, 98 + (i * 18), 78, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
|
||||
}
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
addSlotToContainer(new SlotFiltered(drive, i, 98 + (i * 18), 78, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotFiltered(drive, 4 + i, 98 + (i * 18), 96, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
addSlotToContainer(new SlotFiltered(drive, 4 + i, 98 + (i * 18), 96, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/container/ContainerExporter.java
Normal file → Executable file
@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.TileExporter;
|
||||
|
||||
public class ContainerExporter extends ContainerBase
|
||||
{
|
||||
public ContainerExporter(EntityPlayer player, TileExporter exporter)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerExporter extends ContainerBase {
|
||||
public ContainerExporter(EntityPlayer player, TileExporter exporter) {
|
||||
super(player);
|
||||
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotSpecimen(exporter.getInventory(), i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new SlotSpecimen(exporter.getInventory(), i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
45
src/main/java/refinedstorage/container/ContainerGrid.java
Normal file → Executable file
@@ -6,37 +6,32 @@ import refinedstorage.block.EnumGridType;
|
||||
import refinedstorage.container.slot.SlotGridCraftingResult;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class ContainerGrid extends ContainerBase
|
||||
{
|
||||
private TileGrid grid;
|
||||
public class ContainerGrid extends ContainerBase {
|
||||
private TileGrid grid;
|
||||
|
||||
public ContainerGrid(EntityPlayer player, TileGrid grid)
|
||||
{
|
||||
super(player);
|
||||
public ContainerGrid(EntityPlayer player, TileGrid grid) {
|
||||
super(player);
|
||||
|
||||
this.grid = grid;
|
||||
this.grid = grid;
|
||||
|
||||
addPlayerInventory(8, grid.getType() == EnumGridType.CRAFTING ? 174 : 108);
|
||||
addPlayerInventory(8, grid.getType() == EnumGridType.CRAFTING ? 174 : 108);
|
||||
|
||||
if (grid.getType() == EnumGridType.CRAFTING)
|
||||
{
|
||||
int x = 25;
|
||||
int y = 106;
|
||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||
int x = 25;
|
||||
int y = 106;
|
||||
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
|
||||
|
||||
x += 18;
|
||||
x += 18;
|
||||
|
||||
if ((i + 1) % 3 == 0)
|
||||
{
|
||||
y += 18;
|
||||
x = 25;
|
||||
}
|
||||
}
|
||||
if ((i + 1) % 3 == 0) {
|
||||
y += 18;
|
||||
x = 25;
|
||||
}
|
||||
}
|
||||
|
||||
addSlotToContainer(new SlotGridCraftingResult(player, grid.getCraftingInventory(), grid.getCraftingResultInventory(), grid, 0, 133 + 4, 120 + 4));
|
||||
}
|
||||
}
|
||||
addSlotToContainer(new SlotGridCraftingResult(player, grid.getCraftingInventory(), grid.getCraftingResultInventory(), grid, 0, 133 + 4, 120 + 4));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/container/ContainerImporter.java
Normal file → Executable file
@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.TileImporter;
|
||||
|
||||
public class ContainerImporter extends ContainerBase
|
||||
{
|
||||
public ContainerImporter(EntityPlayer player, TileImporter importer)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerImporter extends ContainerBase {
|
||||
public ContainerImporter(EntityPlayer player, TileImporter importer) {
|
||||
super(player);
|
||||
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotSpecimen(importer.getInventory(), i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new SlotSpecimen(importer.getInventory(), i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
84
src/main/java/refinedstorage/container/ContainerInterface.java
Normal file → Executable file
@@ -7,63 +7,49 @@ import refinedstorage.container.slot.SlotOutput;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.TileInterface;
|
||||
|
||||
public class ContainerInterface extends ContainerBase
|
||||
{
|
||||
public ContainerInterface(EntityPlayer player, TileInterface tile)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerInterface extends ContainerBase {
|
||||
public ContainerInterface(EntityPlayer player, TileInterface tile) {
|
||||
super(player);
|
||||
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
addSlotToContainer(new Slot(tile, i, 8 + (18 * i), 20));
|
||||
}
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new Slot(tile, i, 8 + (18 * i), 20));
|
||||
}
|
||||
|
||||
for (int i = 9; i < 18; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotSpecimen(tile, i, 8 + (18 * (i - 9)), 54, true));
|
||||
}
|
||||
for (int i = 9; i < 18; ++i) {
|
||||
addSlotToContainer(new SlotSpecimen(tile, i, 8 + (18 * (i - 9)), 54, true));
|
||||
}
|
||||
|
||||
for (int i = 18; i < 27; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100));
|
||||
}
|
||||
for (int i = 18; i < 27; ++i) {
|
||||
addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 136);
|
||||
}
|
||||
addPlayerInventory(8, 136);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index)
|
||||
{
|
||||
ItemStack stack = null;
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||
ItemStack stack = null;
|
||||
|
||||
Slot slot = getSlot(index);
|
||||
Slot slot = getSlot(index);
|
||||
|
||||
if (slot != null && slot.getHasStack())
|
||||
{
|
||||
stack = slot.getStack().copy();
|
||||
if (slot != null && slot.getHasStack()) {
|
||||
stack = slot.getStack().copy();
|
||||
|
||||
if (index < 9)
|
||||
{
|
||||
if (!mergeItemStack(stack, 9, inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!mergeItemStack(stack, 0, 9, false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (index < 9) {
|
||||
if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else if (!mergeItemStack(stack, 0, 9, false)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (stack.stackSize == 0)
|
||||
{
|
||||
slot.putStack(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
if (stack.stackSize == 0) {
|
||||
slot.putStack(null);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
|
12
src/main/java/refinedstorage/container/ContainerRelay.java
Normal file → Executable file
@@ -2,12 +2,10 @@ package refinedstorage.container;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class ContainerRelay extends ContainerBase
|
||||
{
|
||||
public ContainerRelay(EntityPlayer player)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerRelay extends ContainerBase {
|
||||
public ContainerRelay(EntityPlayer player) {
|
||||
super(player);
|
||||
|
||||
addPlayerInventory(8, 50);
|
||||
}
|
||||
addPlayerInventory(8, 50);
|
||||
}
|
||||
}
|
||||
|
78
src/main/java/refinedstorage/container/ContainerSolderer.java
Normal file → Executable file
@@ -6,60 +6,48 @@ import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.container.slot.SlotOutput;
|
||||
import refinedstorage.tile.TileSolderer;
|
||||
|
||||
public class ContainerSolderer extends ContainerBase
|
||||
{
|
||||
public ContainerSolderer(EntityPlayer player, TileSolderer solderer)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerSolderer extends ContainerBase {
|
||||
public ContainerSolderer(EntityPlayer player, TileSolderer solderer) {
|
||||
super(player);
|
||||
|
||||
int x = 44;
|
||||
int y = 20;
|
||||
int x = 44;
|
||||
int y = 20;
|
||||
|
||||
for (int i = 0; i < 3; ++i)
|
||||
{
|
||||
addSlotToContainer(new Slot(solderer, i, x, y));
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
addSlotToContainer(new Slot(solderer, i, x, y));
|
||||
|
||||
y += 18;
|
||||
}
|
||||
y += 18;
|
||||
}
|
||||
|
||||
addSlotToContainer(new SlotOutput(solderer, 3, 134, 38));
|
||||
addSlotToContainer(new SlotOutput(solderer, 3, 134, 38));
|
||||
|
||||
addPlayerInventory(8, 95);
|
||||
}
|
||||
addPlayerInventory(8, 95);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index)
|
||||
{
|
||||
ItemStack stack = null;
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||
ItemStack stack = null;
|
||||
|
||||
Slot slot = getSlot(index);
|
||||
Slot slot = getSlot(index);
|
||||
|
||||
if (slot != null && slot.getHasStack())
|
||||
{
|
||||
stack = slot.getStack().copy();
|
||||
if (slot != null && slot.getHasStack()) {
|
||||
stack = slot.getStack().copy();
|
||||
|
||||
if (index < 3)
|
||||
{
|
||||
if (!mergeItemStack(stack, 3, inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!mergeItemStack(stack, 0, 3, false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (index < 3) {
|
||||
if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else if (!mergeItemStack(stack, 0, 3, false)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (stack.stackSize == 0)
|
||||
{
|
||||
slot.putStack(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
if (stack.stackSize == 0) {
|
||||
slot.putStack(null);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/container/ContainerStorage.java
Normal file → Executable file
@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
|
||||
public class ContainerStorage extends ContainerBase
|
||||
{
|
||||
public ContainerStorage(EntityPlayer player, IInventory inventory)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerStorage extends ContainerBase {
|
||||
public ContainerStorage(EntityPlayer player, IInventory inventory) {
|
||||
super(player);
|
||||
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
addSlotToContainer(new SlotSpecimen(inventory, i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new SlotSpecimen(inventory, i, 8 + (18 * i), 20, false));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 129);
|
||||
}
|
||||
addPlayerInventory(8, 129);
|
||||
}
|
||||
}
|
||||
|
69
src/main/java/refinedstorage/container/ContainerWirelessTransmitter.java
Normal file → Executable file
@@ -10,52 +10,41 @@ import refinedstorage.container.slot.SlotFiltered;
|
||||
import refinedstorage.container.slot.SlotOutput;
|
||||
import refinedstorage.tile.TileWirelessTransmitter;
|
||||
|
||||
public class ContainerWirelessTransmitter extends ContainerBase
|
||||
{
|
||||
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter)
|
||||
{
|
||||
super(player);
|
||||
public class ContainerWirelessTransmitter extends ContainerBase {
|
||||
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) {
|
||||
super(player);
|
||||
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, 0, 8, 20, new BasicItemValidator(Items.ender_pearl)));
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, 1, 101, 20, new BasicItemValidator(RefinedStorageItems.WIRELESS_GRID)));
|
||||
addSlotToContainer(new SlotOutput(wirelessTransmitter, 2, 152, 20));
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, 0, 8, 20, new BasicItemValidator(Items.ender_pearl)));
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, 1, 101, 20, new BasicItemValidator(RefinedStorageItems.WIRELESS_GRID)));
|
||||
addSlotToContainer(new SlotOutput(wirelessTransmitter, 2, 152, 20));
|
||||
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index)
|
||||
{
|
||||
ItemStack stack = null;
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||
ItemStack stack = null;
|
||||
|
||||
Slot slot = getSlot(index);
|
||||
Slot slot = getSlot(index);
|
||||
|
||||
if (slot != null && slot.getHasStack())
|
||||
{
|
||||
stack = slot.getStack().copy();
|
||||
if (slot != null && slot.getHasStack()) {
|
||||
stack = slot.getStack().copy();
|
||||
|
||||
if (index < 3)
|
||||
{
|
||||
if (!mergeItemStack(stack, 3, inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!mergeItemStack(stack, 0, 3, false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (index < 3) {
|
||||
if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else if (!mergeItemStack(stack, 0, 3, false)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (stack.stackSize == 0)
|
||||
{
|
||||
slot.putStack(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
if (stack.stackSize == 0) {
|
||||
slot.putStack(null);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
|
21
src/main/java/refinedstorage/container/slot/BasicItemValidator.java
Normal file → Executable file
@@ -3,18 +3,15 @@ package refinedstorage.container.slot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class BasicItemValidator implements IItemValidator
|
||||
{
|
||||
private Item item;
|
||||
public class BasicItemValidator implements IItemValidator {
|
||||
private Item item;
|
||||
|
||||
public BasicItemValidator(Item item)
|
||||
{
|
||||
this.item = item;
|
||||
}
|
||||
public BasicItemValidator(Item item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(ItemStack stack)
|
||||
{
|
||||
return item == stack.getItem();
|
||||
}
|
||||
@Override
|
||||
public boolean isValid(ItemStack stack) {
|
||||
return item == stack.getItem();
|
||||
}
|
||||
}
|
||||
|
5
src/main/java/refinedstorage/container/slot/IItemValidator.java
Normal file → Executable file
@@ -2,7 +2,6 @@ package refinedstorage.container.slot;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IItemValidator
|
||||
{
|
||||
public boolean isValid(ItemStack stack);
|
||||
public interface IItemValidator {
|
||||
public boolean isValid(ItemStack stack);
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/container/slot/SlotDisabled.java
Normal file → Executable file
@@ -4,16 +4,13 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotDisabled extends Slot
|
||||
{
|
||||
public SlotDisabled(IInventory inventory, int id, int x, int y)
|
||||
{
|
||||
super(inventory, id, x, y);
|
||||
}
|
||||
public class SlotDisabled extends Slot {
|
||||
public SlotDisabled(IInventory inventory, int id, int x, int y) {
|
||||
super(inventory, id, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
23
src/main/java/refinedstorage/container/slot/SlotFiltered.java
Normal file → Executable file
@@ -4,20 +4,17 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotFiltered extends Slot
|
||||
{
|
||||
private IItemValidator validator;
|
||||
public class SlotFiltered extends Slot {
|
||||
private IItemValidator validator;
|
||||
|
||||
public SlotFiltered(IInventory inventory, int id, int x, int y, IItemValidator validator)
|
||||
{
|
||||
super(inventory, id, x, y);
|
||||
public SlotFiltered(IInventory inventory, int id, int x, int y, IItemValidator validator) {
|
||||
super(inventory, id, x, y);
|
||||
|
||||
this.validator = validator;
|
||||
}
|
||||
this.validator = validator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack item)
|
||||
{
|
||||
return validator.isValid(item);
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack item) {
|
||||
return validator.isValid(item);
|
||||
}
|
||||
}
|
||||
|
43
src/main/java/refinedstorage/container/slot/SlotGridCraftingResult.java
Normal file → Executable file
@@ -7,34 +7,29 @@ import net.minecraft.inventory.SlotCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SlotGridCraftingResult extends SlotCrafting
|
||||
{
|
||||
private IInventory craftingMatrix;
|
||||
private TileGrid grid;
|
||||
public class SlotGridCraftingResult extends SlotCrafting {
|
||||
private IInventory craftingMatrix;
|
||||
private TileGrid grid;
|
||||
|
||||
public SlotGridCraftingResult(EntityPlayer player, InventoryCrafting craftingMatrix, IInventory craftingResult, TileGrid grid, int id, int x, int y)
|
||||
{
|
||||
super(player, craftingMatrix, craftingResult, id, x, y);
|
||||
public SlotGridCraftingResult(EntityPlayer player, InventoryCrafting craftingMatrix, IInventory craftingResult, TileGrid grid, int id, int x, int y) {
|
||||
super(player, craftingMatrix, craftingResult, id, x, y);
|
||||
|
||||
this.craftingMatrix = craftingMatrix;
|
||||
this.grid = grid;
|
||||
}
|
||||
this.craftingMatrix = craftingMatrix;
|
||||
this.grid = grid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPickupFromSlot(EntityPlayer player, ItemStack stack)
|
||||
{
|
||||
ItemStack[] matrixSlots = new ItemStack[craftingMatrix.getSizeInventory()];
|
||||
@Override
|
||||
public void onPickupFromSlot(EntityPlayer player, ItemStack stack) {
|
||||
ItemStack[] matrixSlots = new ItemStack[craftingMatrix.getSizeInventory()];
|
||||
|
||||
for (int i = 0; i < craftingMatrix.getSizeInventory(); ++i)
|
||||
{
|
||||
if (craftingMatrix.getStackInSlot(i) != null)
|
||||
{
|
||||
matrixSlots[i] = craftingMatrix.getStackInSlot(i).copy();
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < craftingMatrix.getSizeInventory(); ++i) {
|
||||
if (craftingMatrix.getStackInSlot(i) != null) {
|
||||
matrixSlots[i] = craftingMatrix.getStackInSlot(i).copy();
|
||||
}
|
||||
}
|
||||
|
||||
super.onPickupFromSlot(player, stack);
|
||||
super.onPickupFromSlot(player, stack);
|
||||
|
||||
grid.onCrafted(matrixSlots);
|
||||
}
|
||||
grid.onCrafted(matrixSlots);
|
||||
}
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/container/slot/SlotOutput.java
Normal file → Executable file
@@ -4,16 +4,13 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotOutput extends Slot
|
||||
{
|
||||
public SlotOutput(IInventory inventory, int id, int x, int y)
|
||||
{
|
||||
super(inventory, id, x, y);
|
||||
}
|
||||
public class SlotOutput extends Slot {
|
||||
public SlotOutput(IInventory inventory, int id, int x, int y) {
|
||||
super(inventory, id, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
55
src/main/java/refinedstorage/container/slot/SlotSpecimen.java
Normal file → Executable file
@@ -5,42 +5,35 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class SlotSpecimen extends Slot
|
||||
{
|
||||
private boolean sizeAllowed;
|
||||
public class SlotSpecimen extends Slot {
|
||||
private boolean sizeAllowed;
|
||||
|
||||
public SlotSpecimen(IInventory inventory, int id, int x, int y, boolean allowSize)
|
||||
{
|
||||
super(inventory, id, x, y);
|
||||
public SlotSpecimen(IInventory inventory, int id, int x, int y, boolean allowSize) {
|
||||
super(inventory, id, x, y);
|
||||
|
||||
this.sizeAllowed = allowSize;
|
||||
}
|
||||
this.sizeAllowed = allowSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canTakeStack(EntityPlayer player)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public boolean canTakeStack(EntityPlayer player) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValid(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putStack(ItemStack stack)
|
||||
{
|
||||
if (stack != null && !sizeAllowed)
|
||||
{
|
||||
stack.stackSize = 1;
|
||||
}
|
||||
@Override
|
||||
public void putStack(ItemStack stack) {
|
||||
if (stack != null && !sizeAllowed) {
|
||||
stack.stackSize = 1;
|
||||
}
|
||||
|
||||
super.putStack(stack);
|
||||
}
|
||||
super.putStack(stack);
|
||||
}
|
||||
|
||||
public boolean isSizeAllowed()
|
||||
{
|
||||
return sizeAllowed;
|
||||
}
|
||||
public boolean isSizeAllowed() {
|
||||
return sizeAllowed;
|
||||
}
|
||||
}
|
||||
|
312
src/main/java/refinedstorage/gui/GuiBase.java
Normal file → Executable file
@@ -1,9 +1,5 @@
|
||||
package refinedstorage.gui;
|
||||
|
||||
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;
|
||||
@@ -15,222 +11,196 @@ import org.lwjgl.opengl.GL11;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.sidebutton.SideButton;
|
||||
|
||||
public abstract class GuiBase extends GuiContainer
|
||||
{
|
||||
public static final int SIDE_BUTTON_WIDTH = 20;
|
||||
public static final int SIDE_BUTTON_HEIGHT = 20;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
private List<SideButton> sideButtons = new ArrayList<SideButton>();
|
||||
public abstract class GuiBase extends GuiContainer {
|
||||
public static final int SIDE_BUTTON_WIDTH = 20;
|
||||
public static final int SIDE_BUTTON_HEIGHT = 20;
|
||||
|
||||
private int lastButtonId = 0;
|
||||
private int lastSideButtonY = 6;
|
||||
private List<SideButton> sideButtons = new ArrayList<SideButton>();
|
||||
|
||||
protected int width;
|
||||
protected int height;
|
||||
private int lastButtonId = 0;
|
||||
private int lastSideButtonY = 6;
|
||||
|
||||
public GuiBase(Container container, int width, int height)
|
||||
{
|
||||
super(container);
|
||||
protected int width;
|
||||
protected int height;
|
||||
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.xSize = width;
|
||||
this.ySize = height;
|
||||
}
|
||||
public GuiBase(Container container, int width, int height) {
|
||||
super(container);
|
||||
|
||||
@Override
|
||||
public void initGui()
|
||||
{
|
||||
if (sideButtons.size() > 0)
|
||||
{
|
||||
xSize -= SIDE_BUTTON_WIDTH;
|
||||
}
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.xSize = width;
|
||||
this.ySize = height;
|
||||
}
|
||||
|
||||
super.initGui();
|
||||
@Override
|
||||
public void initGui() {
|
||||
if (sideButtons.size() > 0) {
|
||||
xSize -= SIDE_BUTTON_WIDTH;
|
||||
}
|
||||
|
||||
sideButtons.clear();
|
||||
super.initGui();
|
||||
|
||||
lastButtonId = 0;
|
||||
lastSideButtonY = 6;
|
||||
sideButtons.clear();
|
||||
|
||||
init(guiLeft, guiTop);
|
||||
lastButtonId = 0;
|
||||
lastSideButtonY = 6;
|
||||
|
||||
if (sideButtons.size() > 0)
|
||||
{
|
||||
xSize += SIDE_BUTTON_WIDTH;
|
||||
}
|
||||
}
|
||||
init(guiLeft, guiTop);
|
||||
|
||||
@Override
|
||||
public void updateScreen()
|
||||
{
|
||||
super.updateScreen();
|
||||
if (sideButtons.size() > 0) {
|
||||
xSize += SIDE_BUTTON_WIDTH;
|
||||
}
|
||||
}
|
||||
|
||||
update(guiLeft, guiTop);
|
||||
}
|
||||
@Override
|
||||
public void updateScreen() {
|
||||
super.updateScreen();
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float renderPartialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
update(guiLeft, guiTop);
|
||||
}
|
||||
|
||||
drawBackground(guiLeft, guiTop, mouseX, mouseY);
|
||||
}
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float renderPartialTicks, int mouseX, int mouseY) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
|
||||
{
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
drawBackground(guiLeft, guiTop, mouseX, mouseY);
|
||||
}
|
||||
|
||||
mouseX -= guiLeft;
|
||||
mouseY -= guiTop;
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
for (SideButton sideButton : sideButtons)
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
sideButton.draw(this, sideButton.getX() + 2, sideButton.getY() + 1);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
mouseX -= guiLeft;
|
||||
mouseY -= guiTop;
|
||||
|
||||
if (inBounds(sideButton.getX(), sideButton.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT, mouseX, mouseY))
|
||||
{
|
||||
drawTooltip(mouseX, mouseY, sideButton.getTooltip(this));
|
||||
}
|
||||
}
|
||||
for (SideButton sideButton : sideButtons) {
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
sideButton.draw(this, sideButton.getX() + 2, sideButton.getY() + 1);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
|
||||
drawForeground(mouseX, mouseY);
|
||||
}
|
||||
if (inBounds(sideButton.getX(), sideButton.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT, mouseX, mouseY)) {
|
||||
drawTooltip(mouseX, mouseY, sideButton.getTooltip(this));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) throws IOException
|
||||
{
|
||||
super.actionPerformed(button);
|
||||
drawForeground(mouseX, mouseY);
|
||||
}
|
||||
|
||||
for (SideButton sideButton : sideButtons)
|
||||
{
|
||||
if (sideButton.getId() == button.id)
|
||||
{
|
||||
sideButton.actionPerformed();
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) throws IOException {
|
||||
super.actionPerformed(button);
|
||||
|
||||
public GuiButton addButton(int x, int y, int w, int h)
|
||||
{
|
||||
return addButton(x, y, w, h, "");
|
||||
}
|
||||
for (SideButton sideButton : sideButtons) {
|
||||
if (sideButton.getId() == button.id) {
|
||||
sideButton.actionPerformed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public GuiButton addButton(int x, int y, int w, int h, String text)
|
||||
{
|
||||
GuiButton button = new GuiButton(lastButtonId++, x, y, w, h, text);
|
||||
public GuiButton addButton(int x, int y, int w, int h) {
|
||||
return addButton(x, y, w, h, "");
|
||||
}
|
||||
|
||||
buttonList.add(button);
|
||||
public GuiButton addButton(int x, int y, int w, int h, String text) {
|
||||
GuiButton button = new GuiButton(lastButtonId++, x, y, w, h, text);
|
||||
|
||||
return button;
|
||||
}
|
||||
buttonList.add(button);
|
||||
|
||||
public void addSideButton(SideButton button)
|
||||
{
|
||||
button.setX(xSize - 1);
|
||||
button.setY(lastSideButtonY);
|
||||
button.setId(addButton(guiLeft + button.getX(), guiTop + button.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT).id);
|
||||
return button;
|
||||
}
|
||||
|
||||
lastSideButtonY += SIDE_BUTTON_HEIGHT + 4;
|
||||
public void addSideButton(SideButton button) {
|
||||
button.setX(xSize - 1);
|
||||
button.setY(lastSideButtonY);
|
||||
button.setId(addButton(guiLeft + button.getX(), guiTop + button.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT).id);
|
||||
|
||||
sideButtons.add(button);
|
||||
}
|
||||
lastSideButtonY += SIDE_BUTTON_HEIGHT + 4;
|
||||
|
||||
public boolean inBounds(int x, int y, int w, int h, int ox, int oy)
|
||||
{
|
||||
return ox >= x && ox <= x + w && oy >= y && oy <= y + h;
|
||||
}
|
||||
sideButtons.add(button);
|
||||
}
|
||||
|
||||
public void bindTexture(String file)
|
||||
{
|
||||
bindTexture(RefinedStorage.ID, file);
|
||||
}
|
||||
public boolean inBounds(int x, int y, int w, int h, int ox, int oy) {
|
||||
return ox >= x && ox <= x + w && oy >= y && oy <= y + h;
|
||||
}
|
||||
|
||||
public void bindTexture(String base, String file)
|
||||
{
|
||||
mc.getTextureManager().bindTexture(new ResourceLocation(base, "textures/" + file));
|
||||
}
|
||||
public void bindTexture(String file) {
|
||||
bindTexture(RefinedStorage.ID, file);
|
||||
}
|
||||
|
||||
public void drawItem(int x, int y, ItemStack stack)
|
||||
{
|
||||
drawItem(x, y, stack, false, null);
|
||||
}
|
||||
public void bindTexture(String base, String file) {
|
||||
mc.getTextureManager().bindTexture(new ResourceLocation(base, "textures/" + file));
|
||||
}
|
||||
|
||||
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay)
|
||||
{
|
||||
drawItem(x, y, stack, withOverlay, null);
|
||||
}
|
||||
public void drawItem(int x, int y, ItemStack stack) {
|
||||
drawItem(x, y, stack, false, null);
|
||||
}
|
||||
|
||||
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay, String message)
|
||||
{
|
||||
zLevel = 200.0F;
|
||||
itemRender.zLevel = 200.0F;
|
||||
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay) {
|
||||
drawItem(x, y, stack, withOverlay, null);
|
||||
}
|
||||
|
||||
FontRenderer font = null;
|
||||
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay, String message) {
|
||||
zLevel = 200.0F;
|
||||
itemRender.zLevel = 200.0F;
|
||||
|
||||
if (stack != null)
|
||||
{
|
||||
font = stack.getItem().getFontRenderer(stack);
|
||||
}
|
||||
FontRenderer font = null;
|
||||
|
||||
if (font == null)
|
||||
{
|
||||
font = fontRendererObj;
|
||||
}
|
||||
if (stack != null) {
|
||||
font = stack.getItem().getFontRenderer(stack);
|
||||
}
|
||||
|
||||
itemRender.renderItemIntoGUI(stack, x, y);
|
||||
if (font == null) {
|
||||
font = fontRendererObj;
|
||||
}
|
||||
|
||||
if (withOverlay)
|
||||
{
|
||||
itemRender.renderItemOverlayIntoGUI(font, stack, x, y, message);
|
||||
}
|
||||
itemRender.renderItemIntoGUI(stack, x, y);
|
||||
|
||||
zLevel = 0.0F;
|
||||
itemRender.zLevel = 0.0F;
|
||||
}
|
||||
if (withOverlay) {
|
||||
itemRender.renderItemOverlayIntoGUI(font, stack, x, y, message);
|
||||
}
|
||||
|
||||
public void drawString(int x, int y, String message)
|
||||
{
|
||||
drawString(x, y, message, 4210752);
|
||||
}
|
||||
zLevel = 0.0F;
|
||||
itemRender.zLevel = 0.0F;
|
||||
}
|
||||
|
||||
public void drawString(int x, int y, String message, int color)
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
fontRendererObj.drawString(message, x, y, color);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
public void drawString(int x, int y, String message) {
|
||||
drawString(x, y, message, 4210752);
|
||||
}
|
||||
|
||||
public void drawTooltip(int x, int y, String message)
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
drawHoveringText(Arrays.asList(message.split("\n")), x, y);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
public void drawString(int x, int y, String message, int color) {
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
fontRendererObj.drawString(message, x, y, color);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
public void drawTooltip(int x, int y, ItemStack stack)
|
||||
{
|
||||
renderToolTip(stack, x, y);
|
||||
}
|
||||
public void drawTooltip(int x, int y, String message) {
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
drawHoveringText(Arrays.asList(message.split("\n")), x, y);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
public void drawTexture(int x, int y, int textureX, int textureY, int width, int height)
|
||||
{
|
||||
drawTexturedModalRect(x, y, textureX, textureY, width, height);
|
||||
}
|
||||
public void drawTooltip(int x, int y, ItemStack stack) {
|
||||
renderToolTip(stack, x, y);
|
||||
}
|
||||
|
||||
public String t(String name, Object... format)
|
||||
{
|
||||
return I18n.translateToLocalFormatted(name, format);
|
||||
}
|
||||
public void drawTexture(int x, int y, int textureX, int textureY, int width, int height) {
|
||||
drawTexturedModalRect(x, y, textureX, textureY, width, height);
|
||||
}
|
||||
|
||||
public abstract void init(int x, int y);
|
||||
public String t(String name, Object... format) {
|
||||
return I18n.translateToLocalFormatted(name, format);
|
||||
}
|
||||
|
||||
public abstract void update(int x, int y);
|
||||
public abstract void init(int x, int y);
|
||||
|
||||
public abstract void drawBackground(int x, int y, int mouseX, int mouseY);
|
||||
public abstract void update(int x, int y);
|
||||
|
||||
public abstract void drawForeground(int mouseX, int mouseY);
|
||||
public abstract void drawBackground(int x, int y, int mouseX, int mouseY);
|
||||
|
||||
public abstract void drawForeground(int mouseX, int mouseY);
|
||||
}
|
||||
|
56
src/main/java/refinedstorage/gui/GuiConstructor.java
Normal file → Executable file
@@ -6,43 +6,37 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileConstructor;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiConstructor extends GuiBase
|
||||
{
|
||||
private TileConstructor constructor;
|
||||
public class GuiConstructor extends GuiBase {
|
||||
private TileConstructor constructor;
|
||||
|
||||
public GuiConstructor(ContainerConstructor container, TileConstructor constructor)
|
||||
{
|
||||
super(container, 176, 137);
|
||||
public GuiConstructor(ContainerConstructor container, TileConstructor constructor) {
|
||||
super(container, 176, 137);
|
||||
|
||||
this.constructor = constructor;
|
||||
}
|
||||
this.constructor = constructor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(constructor));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(constructor));
|
||||
|
||||
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/constructor.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/constructor.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:constructor"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:constructor"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
149
src/main/java/refinedstorage/gui/GuiController.java
Normal file → Executable file
@@ -9,112 +9,97 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileController;
|
||||
import refinedstorage.tile.TileMachine;
|
||||
|
||||
public class GuiController extends GuiBase
|
||||
{
|
||||
private TileController controller;
|
||||
public class GuiController extends GuiBase {
|
||||
private TileController controller;
|
||||
|
||||
private int barX = 8;
|
||||
private int barY = 20;
|
||||
private int barWidth = 16;
|
||||
private int barHeight = 59;
|
||||
private int barX = 8;
|
||||
private int barY = 20;
|
||||
private int barWidth = 16;
|
||||
private int barHeight = 59;
|
||||
|
||||
private Scrollbar scrollbar = new Scrollbar(157, 20, 12, 59);
|
||||
private Scrollbar scrollbar = new Scrollbar(157, 20, 12, 59);
|
||||
|
||||
public GuiController(ContainerController container, TileController controller)
|
||||
{
|
||||
super(container, 176, 181);
|
||||
public GuiController(ContainerController container, TileController controller) {
|
||||
super(container, 176, 181);
|
||||
|
||||
this.controller = controller;
|
||||
}
|
||||
this.controller = controller;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(controller));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(controller));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
scrollbar.setCanScroll(getRows() > getVisibleRows());
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
scrollbar.setCanScroll(getRows() > getVisibleRows());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/controller.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/controller.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
int barHeightNew = (int) ((float) controller.getEnergyStored(null) / (float) controller.getMaxEnergyStored(null) * (float) barHeight);
|
||||
int barHeightNew = (int) ((float) controller.getEnergyStored(null) / (float) controller.getMaxEnergyStored(null) * (float) barHeight);
|
||||
|
||||
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 178, 0 + (barHeight - barHeightNew), barWidth, barHeightNew);
|
||||
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 178, 0 + (barHeight - barHeightNew), barWidth, barHeightNew);
|
||||
|
||||
scrollbar.draw(this);
|
||||
}
|
||||
scrollbar.draw(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
scrollbar.update(this, mouseX, mouseY);
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
scrollbar.update(this, mouseX, mouseY);
|
||||
|
||||
drawString(7, 7, t("gui.refinedstorage:controller." + controller.getType().getId()));
|
||||
drawString(7, 87, t("container.inventory"));
|
||||
drawString(7, 7, t("gui.refinedstorage:controller." + controller.getType().getId()));
|
||||
drawString(7, 87, t("container.inventory"));
|
||||
|
||||
int x = 33;
|
||||
int y = 26;
|
||||
int x = 33;
|
||||
int y = 26;
|
||||
|
||||
int slot = getOffset() * 2;
|
||||
int slot = getOffset() * 2;
|
||||
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
if (slot < controller.getMachines().size())
|
||||
{
|
||||
TileMachine machine = controller.getMachines().get(slot);
|
||||
IBlockState machineState = machine.getWorld().getBlockState(machine.getPos());
|
||||
Block machineBlock = machineState.getBlock();
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
if (slot < controller.getMachines().size()) {
|
||||
TileMachine machine = controller.getMachines().get(slot);
|
||||
IBlockState machineState = machine.getWorld().getBlockState(machine.getPos());
|
||||
Block machineBlock = machineState.getBlock();
|
||||
|
||||
ItemStack machineStack = new ItemStack(machineBlock, 1, machineBlock.getMetaFromState(machineState));
|
||||
ItemStack machineStack = new ItemStack(machineBlock, 1, machineBlock.getMetaFromState(machineState));
|
||||
|
||||
drawItem(x, y, machineStack);
|
||||
drawString(x + 21, y + 5, t("misc.refinedstorage:energy_usage_minimal", machine.getEnergyUsage()));
|
||||
}
|
||||
drawItem(x, y, machineStack);
|
||||
drawString(x + 21, y + 5, t("misc.refinedstorage:energy_usage_minimal", machine.getEnergyUsage()));
|
||||
}
|
||||
|
||||
if (i == 1)
|
||||
{
|
||||
x = 33;
|
||||
y += 30;
|
||||
}
|
||||
else
|
||||
{
|
||||
x += 60;
|
||||
}
|
||||
if (i == 1) {
|
||||
x = 33;
|
||||
y += 30;
|
||||
} else {
|
||||
x += 60;
|
||||
}
|
||||
|
||||
slot++;
|
||||
}
|
||||
slot++;
|
||||
}
|
||||
|
||||
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY))
|
||||
{
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage", controller.getEnergyUsage()) + "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergyStored(null), controller.getMaxEnergyStored(null)));
|
||||
}
|
||||
}
|
||||
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) {
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage", controller.getEnergyUsage()) + "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergyStored(null), controller.getMaxEnergyStored(null)));
|
||||
}
|
||||
}
|
||||
|
||||
public int getOffset()
|
||||
{
|
||||
return (int) (scrollbar.getCurrentScroll() / 59f * (float) getRows());
|
||||
}
|
||||
public int getOffset() {
|
||||
return (int) (scrollbar.getCurrentScroll() / 59f * (float) getRows());
|
||||
}
|
||||
|
||||
private int getRows()
|
||||
{
|
||||
int max = (int) Math.ceil((float) controller.getMachines().size() / (float) 2);
|
||||
private int getRows() {
|
||||
int max = (int) Math.ceil((float) controller.getMachines().size() / (float) 2);
|
||||
|
||||
return max < 0 ? 0 : max;
|
||||
}
|
||||
return max < 0 ? 0 : max;
|
||||
}
|
||||
|
||||
private int getVisibleRows()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
private int getVisibleRows() {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
52
src/main/java/refinedstorage/gui/GuiDestructor.java
Normal file → Executable file
@@ -4,40 +4,34 @@ import refinedstorage.container.ContainerDestructor;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileDestructor;
|
||||
|
||||
public class GuiDestructor extends GuiBase
|
||||
{
|
||||
private TileDestructor destructor;
|
||||
public class GuiDestructor extends GuiBase {
|
||||
private TileDestructor destructor;
|
||||
|
||||
public GuiDestructor(ContainerDestructor container, TileDestructor destructor)
|
||||
{
|
||||
super(container, 176, 131);
|
||||
public GuiDestructor(ContainerDestructor container, TileDestructor destructor) {
|
||||
super(container, 176, 131);
|
||||
|
||||
this.destructor = destructor;
|
||||
}
|
||||
this.destructor = destructor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(destructor));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(destructor));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/destructor.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/destructor.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:destructor"));
|
||||
drawString(7, 39, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:destructor"));
|
||||
drawString(7, 39, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
104
src/main/java/refinedstorage/gui/GuiDetector.java
Normal file → Executable file
@@ -1,7 +1,6 @@
|
||||
package refinedstorage.gui;
|
||||
|
||||
import com.google.common.primitives.Ints;
|
||||
import java.io.IOException;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.container.ContainerDetector;
|
||||
@@ -11,73 +10,64 @@ import refinedstorage.network.MessageDetectorAmountUpdate;
|
||||
import refinedstorage.tile.TileDetector;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiDetector extends GuiBase
|
||||
{
|
||||
private TileDetector detector;
|
||||
import java.io.IOException;
|
||||
|
||||
private GuiTextField amountField;
|
||||
public class GuiDetector extends GuiBase {
|
||||
private TileDetector detector;
|
||||
|
||||
public GuiDetector(ContainerDetector container, TileDetector detector)
|
||||
{
|
||||
super(container, 176, 137);
|
||||
private GuiTextField amountField;
|
||||
|
||||
this.detector = detector;
|
||||
}
|
||||
public GuiDetector(ContainerDetector container, TileDetector detector) {
|
||||
super(container, 176, 137);
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_NBT));
|
||||
this.detector = detector;
|
||||
}
|
||||
|
||||
addSideButton(new SideButtonDetectorMode(detector));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_NBT));
|
||||
|
||||
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);
|
||||
amountField.setTextColor(16777215);
|
||||
amountField.setCanLoseFocus(false);
|
||||
amountField.setFocused(true);
|
||||
}
|
||||
addSideButton(new SideButtonDetectorMode(detector));
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
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);
|
||||
amountField.setTextColor(16777215);
|
||||
amountField.setCanLoseFocus(false);
|
||||
amountField.setFocused(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/detector.png");
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/detector.png");
|
||||
|
||||
amountField.drawTextBox();
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:detector"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
amountField.drawTextBox();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException
|
||||
{
|
||||
if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode))
|
||||
{
|
||||
Integer result = Ints.tryParse(amountField.getText());
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:detector"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageDetectorAmountUpdate(detector, result));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException {
|
||||
if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode)) {
|
||||
Integer result = Ints.tryParse(amountField.getText());
|
||||
|
||||
if (result != null) {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageDetectorAmountUpdate(detector, result));
|
||||
}
|
||||
} else {
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
56
src/main/java/refinedstorage/gui/GuiExporter.java
Normal file → Executable file
@@ -6,43 +6,37 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileExporter;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiExporter extends GuiBase
|
||||
{
|
||||
private TileExporter exporter;
|
||||
public class GuiExporter extends GuiBase {
|
||||
private TileExporter exporter;
|
||||
|
||||
public GuiExporter(ContainerExporter container, TileExporter exporter)
|
||||
{
|
||||
super(container, 176, 137);
|
||||
public GuiExporter(ContainerExporter container, TileExporter exporter) {
|
||||
super(container, 176, 137);
|
||||
|
||||
this.exporter = exporter;
|
||||
}
|
||||
this.exporter = exporter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(exporter));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(exporter));
|
||||
|
||||
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/exporter.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/exporter.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:exporter"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:exporter"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
480
src/main/java/refinedstorage/gui/GuiGrid.java
Normal file → Executable file
@@ -1,10 +1,5 @@
|
||||
package refinedstorage.gui;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
@@ -25,333 +20,274 @@ import refinedstorage.storage.StorageItem;
|
||||
import refinedstorage.tile.TileController;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class GuiGrid extends GuiBase
|
||||
{
|
||||
private ContainerGrid container;
|
||||
private TileGrid grid;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
private GuiTextField searchField;
|
||||
public class GuiGrid extends GuiBase {
|
||||
private ContainerGrid container;
|
||||
private TileGrid grid;
|
||||
|
||||
private int hoveringSlotId;
|
||||
private int hoveringId;
|
||||
private GuiTextField searchField;
|
||||
|
||||
private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70);
|
||||
private int hoveringSlotId;
|
||||
private int hoveringId;
|
||||
|
||||
public GuiGrid(ContainerGrid container, TileGrid grid)
|
||||
{
|
||||
super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
|
||||
private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70);
|
||||
|
||||
this.container = container;
|
||||
this.grid = grid;
|
||||
}
|
||||
public GuiGrid(ContainerGrid container, TileGrid grid) {
|
||||
super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(grid));
|
||||
this.container = container;
|
||||
this.grid = grid;
|
||||
}
|
||||
|
||||
addSideButton(new SideButtonGridSortingDirection(grid));
|
||||
addSideButton(new SideButtonGridSortingType(grid));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(grid));
|
||||
|
||||
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);
|
||||
searchField.setCanLoseFocus(false);
|
||||
searchField.setFocused(true);
|
||||
}
|
||||
addSideButton(new SideButtonGridSortingDirection(grid));
|
||||
addSideButton(new SideButtonGridSortingType(grid));
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
scrollbar.setCanScroll(getRows() > getVisibleRows());
|
||||
}
|
||||
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);
|
||||
searchField.setCanLoseFocus(false);
|
||||
searchField.setFocused(true);
|
||||
}
|
||||
|
||||
public int getOffset()
|
||||
{
|
||||
return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows());
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
scrollbar.setCanScroll(getRows() > getVisibleRows());
|
||||
}
|
||||
|
||||
public int getVisibleRows()
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
public int getOffset() {
|
||||
return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows());
|
||||
}
|
||||
|
||||
public int getRows()
|
||||
{
|
||||
if (!grid.isConnected())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
public int getVisibleRows() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
int max = (int) Math.ceil((float) getItems().size() / (float) 9);
|
||||
public int getRows() {
|
||||
if (!grid.isConnected()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return max < 0 ? 0 : max;
|
||||
}
|
||||
int max = (int) Math.ceil((float) getItems().size() / (float) 9);
|
||||
|
||||
private boolean isHoveringOverValidSlot(List<StorageItem> items)
|
||||
{
|
||||
return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
|
||||
}
|
||||
return max < 0 ? 0 : max;
|
||||
}
|
||||
|
||||
private boolean isHoveringOverSlot()
|
||||
{
|
||||
return hoveringSlotId >= 0;
|
||||
}
|
||||
private boolean isHoveringOverValidSlot(List<StorageItem> items) {
|
||||
return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
|
||||
}
|
||||
|
||||
public boolean isHoveringOverClear(int mouseX, int mouseY)
|
||||
{
|
||||
if (grid.getType() == EnumGridType.CRAFTING)
|
||||
{
|
||||
return inBounds(81, 105, 7, 7, mouseX, mouseY);
|
||||
}
|
||||
private boolean isHoveringOverSlot() {
|
||||
return hoveringSlotId >= 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
public boolean isHoveringOverClear(int mouseX, int mouseY) {
|
||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||
return inBounds(81, 105, 7, 7, mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
if (grid.getType() == EnumGridType.CRAFTING)
|
||||
{
|
||||
bindTexture("gui/crafting_grid.png");
|
||||
}
|
||||
else
|
||||
{
|
||||
bindTexture("gui/grid.png");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||
bindTexture("gui/crafting_grid.png");
|
||||
} else {
|
||||
bindTexture("gui/grid.png");
|
||||
}
|
||||
|
||||
scrollbar.draw(this);
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
searchField.drawTextBox();
|
||||
}
|
||||
scrollbar.draw(this);
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
scrollbar.update(this, mouseX, mouseY);
|
||||
searchField.drawTextBox();
|
||||
}
|
||||
|
||||
drawString(7, 7, t("gui.refinedstorage:grid"));
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
scrollbar.update(this, mouseX, mouseY);
|
||||
|
||||
if (grid.getType() == EnumGridType.CRAFTING)
|
||||
{
|
||||
drawString(7, 94, t("container.crafting"));
|
||||
}
|
||||
drawString(7, 7, t("gui.refinedstorage:grid"));
|
||||
|
||||
drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
|
||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||
drawString(7, 94, t("container.crafting"));
|
||||
}
|
||||
|
||||
int x = 8;
|
||||
int y = 20;
|
||||
drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
|
||||
|
||||
List<StorageItem> items = getItems();
|
||||
int x = 8;
|
||||
int y = 20;
|
||||
|
||||
hoveringSlotId = -1;
|
||||
List<StorageItem> items = getItems();
|
||||
|
||||
int slot = getOffset() * 9;
|
||||
hoveringSlotId = -1;
|
||||
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
int slot = getOffset() * 9;
|
||||
|
||||
for (int i = 0; i < 9 * getVisibleRows(); ++i)
|
||||
{
|
||||
if (slot < items.size())
|
||||
{
|
||||
int qty = items.get(slot).getQuantity();
|
||||
RenderHelper.enableGUIStandardItemLighting();
|
||||
|
||||
String text;
|
||||
for (int i = 0; i < 9 * getVisibleRows(); ++i) {
|
||||
if (slot < items.size()) {
|
||||
int qty = items.get(slot).getQuantity();
|
||||
|
||||
if (qty >= 1000000)
|
||||
{
|
||||
text = String.valueOf((int) Math.floor(qty / 1000000)) + "M";
|
||||
}
|
||||
else if (qty >= 1000)
|
||||
{
|
||||
text = String.valueOf((int) Math.floor(qty / 1000)) + "K";
|
||||
}
|
||||
else if (qty == 1)
|
||||
{
|
||||
text = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
text = String.valueOf(qty);
|
||||
}
|
||||
String text;
|
||||
|
||||
drawItem(x, y, items.get(slot).toItemStack(), true, text);
|
||||
}
|
||||
if (qty >= 1000000) {
|
||||
text = String.valueOf((int) Math.floor(qty / 1000000)) + "M";
|
||||
} else if (qty >= 1000) {
|
||||
text = String.valueOf((int) Math.floor(qty / 1000)) + "K";
|
||||
} else if (qty == 1) {
|
||||
text = null;
|
||||
} else {
|
||||
text = String.valueOf(qty);
|
||||
}
|
||||
|
||||
if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected())
|
||||
{
|
||||
hoveringSlotId = slot;
|
||||
drawItem(x, y, items.get(slot).toItemStack(), true, text);
|
||||
}
|
||||
|
||||
if (slot < items.size())
|
||||
{
|
||||
// We need to use the ID, because if we filter, the client-side index will change
|
||||
// while the serverside's index will still be the same.
|
||||
hoveringId = items.get(slot).getId();
|
||||
}
|
||||
if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected()) {
|
||||
hoveringSlotId = slot;
|
||||
|
||||
int color = grid.isConnected() ? -2130706433 : 0xFF5B5B5B;
|
||||
if (slot < items.size()) {
|
||||
// We need to use the ID, because if we filter, the client-side index will change
|
||||
// while the serverside's index will still be the same.
|
||||
hoveringId = items.get(slot).getId();
|
||||
}
|
||||
|
||||
GlStateManager.disableLighting();
|
||||
GlStateManager.disableDepth();
|
||||
zLevel = 190;
|
||||
GlStateManager.colorMask(true, true, true, false);
|
||||
drawGradientRect(x, y, x + 16, y + 16, color, color);
|
||||
zLevel = 0;
|
||||
GlStateManager.colorMask(true, true, true, true);
|
||||
GlStateManager.enableLighting();
|
||||
GlStateManager.enableDepth();
|
||||
}
|
||||
int color = grid.isConnected() ? -2130706433 : 0xFF5B5B5B;
|
||||
|
||||
slot++;
|
||||
GlStateManager.disableLighting();
|
||||
GlStateManager.disableDepth();
|
||||
zLevel = 190;
|
||||
GlStateManager.colorMask(true, true, true, false);
|
||||
drawGradientRect(x, y, x + 16, y + 16, color, color);
|
||||
zLevel = 0;
|
||||
GlStateManager.colorMask(true, true, true, true);
|
||||
GlStateManager.enableLighting();
|
||||
GlStateManager.enableDepth();
|
||||
}
|
||||
|
||||
x += 18;
|
||||
slot++;
|
||||
|
||||
if ((i + 1) % 9 == 0)
|
||||
{
|
||||
x = 8;
|
||||
y += 18;
|
||||
}
|
||||
}
|
||||
x += 18;
|
||||
|
||||
if (isHoveringOverValidSlot(items))
|
||||
{
|
||||
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
|
||||
}
|
||||
if ((i + 1) % 9 == 0) {
|
||||
x = 8;
|
||||
y += 18;
|
||||
}
|
||||
}
|
||||
|
||||
if (isHoveringOverClear(mouseX, mouseY))
|
||||
{
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
|
||||
}
|
||||
}
|
||||
if (isHoveringOverValidSlot(items)) {
|
||||
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
|
||||
}
|
||||
|
||||
public List<StorageItem> getItems()
|
||||
{
|
||||
List<StorageItem> items = new ArrayList<StorageItem>();
|
||||
if (isHoveringOverClear(mouseX, mouseY)) {
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
|
||||
}
|
||||
}
|
||||
|
||||
if (!grid.isConnected())
|
||||
{
|
||||
return items;
|
||||
}
|
||||
public List<StorageItem> getItems() {
|
||||
List<StorageItem> items = new ArrayList<StorageItem>();
|
||||
|
||||
items.addAll(grid.getController().getItems());
|
||||
if (!grid.isConnected()) {
|
||||
return items;
|
||||
}
|
||||
|
||||
if (!searchField.getText().trim().isEmpty())
|
||||
{
|
||||
Iterator<StorageItem> t = items.iterator();
|
||||
items.addAll(grid.getController().getItems());
|
||||
|
||||
while (t.hasNext())
|
||||
{
|
||||
StorageItem item = t.next();
|
||||
if (!searchField.getText().trim().isEmpty()) {
|
||||
Iterator<StorageItem> t = items.iterator();
|
||||
|
||||
if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase()))
|
||||
{
|
||||
t.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
while (t.hasNext()) {
|
||||
StorageItem item = t.next();
|
||||
|
||||
items.sort(new Comparator<StorageItem>()
|
||||
{
|
||||
@Override
|
||||
public int compare(StorageItem o1, StorageItem o2)
|
||||
{
|
||||
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING)
|
||||
{
|
||||
return o2.toItemStack().getDisplayName().compareTo(o1.toItemStack().getDisplayName());
|
||||
}
|
||||
else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING)
|
||||
{
|
||||
return o1.toItemStack().getDisplayName().compareTo(o2.toItemStack().getDisplayName());
|
||||
}
|
||||
if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase())) {
|
||||
t.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
items.sort(new Comparator<StorageItem>() {
|
||||
@Override
|
||||
public int compare(StorageItem o1, StorageItem o2) {
|
||||
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING) {
|
||||
return o2.toItemStack().getDisplayName().compareTo(o1.toItemStack().getDisplayName());
|
||||
} else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING) {
|
||||
return o1.toItemStack().getDisplayName().compareTo(o2.toItemStack().getDisplayName());
|
||||
}
|
||||
|
||||
if (grid.getSortingType() == TileGrid.SORTING_TYPE_QUANTITY)
|
||||
{
|
||||
items.sort(new Comparator<StorageItem>()
|
||||
{
|
||||
@Override
|
||||
public int compare(StorageItem o1, StorageItem o2)
|
||||
{
|
||||
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING)
|
||||
{
|
||||
return Integer.valueOf(o2.getQuantity()).compareTo(o1.getQuantity());
|
||||
}
|
||||
else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING)
|
||||
{
|
||||
return Integer.valueOf(o1.getQuantity()).compareTo(o2.getQuantity());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
if (grid.getSortingType() == TileGrid.SORTING_TYPE_QUANTITY) {
|
||||
items.sort(new Comparator<StorageItem>() {
|
||||
@Override
|
||||
public int compare(StorageItem o1, StorageItem o2) {
|
||||
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING) {
|
||||
return Integer.valueOf(o2.getQuantity()).compareTo(o1.getQuantity());
|
||||
} else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING) {
|
||||
return Integer.valueOf(o1.getQuantity()).compareTo(o2.getQuantity());
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException
|
||||
{
|
||||
super.mouseClicked(mouseX, mouseY, clickedButton);
|
||||
return items;
|
||||
}
|
||||
|
||||
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
|
||||
@Override
|
||||
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, clickedButton);
|
||||
|
||||
if (grid.isConnected())
|
||||
{
|
||||
TileController controller = grid.getController();
|
||||
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
|
||||
|
||||
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null)
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), -1, clickedButton == 1));
|
||||
}
|
||||
else if (isHoveringOverValidSlot(getItems()) && container.getPlayer().inventory.getItemStack() == null)
|
||||
{
|
||||
boolean half = clickedButton == 1;
|
||||
boolean shift = GuiScreen.isShiftKeyDown();
|
||||
boolean one = clickedButton == 2;
|
||||
if (grid.isConnected()) {
|
||||
TileController controller = grid.getController();
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift));
|
||||
}
|
||||
else if (clickedClear)
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear(grid));
|
||||
}
|
||||
else
|
||||
{
|
||||
for (Slot slot : container.getPlayerInventorySlots())
|
||||
{
|
||||
if (inBounds(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX - guiLeft, mouseY - guiTop))
|
||||
{
|
||||
if (GuiScreen.isShiftKeyDown())
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), slot.slotNumber, clickedButton == 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null) {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), -1, clickedButton == 1));
|
||||
} else if (isHoveringOverValidSlot(getItems()) && container.getPlayer().inventory.getItemStack() == null) {
|
||||
boolean half = clickedButton == 1;
|
||||
boolean shift = GuiScreen.isShiftKeyDown();
|
||||
boolean one = clickedButton == 2;
|
||||
|
||||
if (clickedClear)
|
||||
{
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
|
||||
}
|
||||
}
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift));
|
||||
} else if (clickedClear) {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear(grid));
|
||||
} else {
|
||||
for (Slot slot : container.getPlayerInventorySlots()) {
|
||||
if (inBounds(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX - guiLeft, mouseY - guiTop)) {
|
||||
if (GuiScreen.isShiftKeyDown()) {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), slot.slotNumber, clickedButton == 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException
|
||||
{
|
||||
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
if (clickedClear) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException {
|
||||
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode)) {
|
||||
} else {
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
148
src/main/java/refinedstorage/gui/GuiHandler.java
Normal file → Executable file
@@ -11,84 +11,78 @@ import refinedstorage.container.*;
|
||||
import refinedstorage.storage.IStorageGui;
|
||||
import refinedstorage.tile.*;
|
||||
|
||||
public class GuiHandler implements IGuiHandler
|
||||
{
|
||||
private Container getContainer(int ID, EntityPlayer player, TileEntity tile)
|
||||
{
|
||||
switch (ID)
|
||||
{
|
||||
case RefinedStorageGui.CONTROLLER:
|
||||
return new ContainerController(player);
|
||||
case RefinedStorageGui.GRID:
|
||||
return new ContainerGrid(player, (TileGrid) tile);
|
||||
case RefinedStorageGui.DRIVE:
|
||||
return new ContainerDrive(player, (TileDrive) tile);
|
||||
case RefinedStorageGui.IMPORTER:
|
||||
return new ContainerImporter(player, (TileImporter) tile);
|
||||
case RefinedStorageGui.EXPORTER:
|
||||
return new ContainerExporter(player, (TileExporter) tile);
|
||||
case RefinedStorageGui.DETECTOR:
|
||||
return new ContainerDetector(player, (TileDetector) tile);
|
||||
case RefinedStorageGui.SOLDERER:
|
||||
return new ContainerSolderer(player, (TileSolderer) tile);
|
||||
case RefinedStorageGui.WIRELESS_TRANSMITTER:
|
||||
return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.DESTRUCTOR:
|
||||
return new ContainerDestructor(player);
|
||||
case RefinedStorageGui.CONSTRUCTOR:
|
||||
return new ContainerConstructor(player, (TileConstructor) tile);
|
||||
case RefinedStorageGui.STORAGE:
|
||||
return new ContainerStorage(player, ((IStorageGui) tile).getInventory());
|
||||
case RefinedStorageGui.RELAY:
|
||||
return new ContainerRelay(player);
|
||||
case RefinedStorageGui.INTERFACE:
|
||||
return new ContainerInterface(player, (TileInterface) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public class GuiHandler implements IGuiHandler {
|
||||
private Container getContainer(int ID, EntityPlayer player, TileEntity tile) {
|
||||
switch (ID) {
|
||||
case RefinedStorageGui.CONTROLLER:
|
||||
return new ContainerController(player);
|
||||
case RefinedStorageGui.GRID:
|
||||
return new ContainerGrid(player, (TileGrid) tile);
|
||||
case RefinedStorageGui.DRIVE:
|
||||
return new ContainerDrive(player, (TileDrive) tile);
|
||||
case RefinedStorageGui.IMPORTER:
|
||||
return new ContainerImporter(player, (TileImporter) tile);
|
||||
case RefinedStorageGui.EXPORTER:
|
||||
return new ContainerExporter(player, (TileExporter) tile);
|
||||
case RefinedStorageGui.DETECTOR:
|
||||
return new ContainerDetector(player, (TileDetector) tile);
|
||||
case RefinedStorageGui.SOLDERER:
|
||||
return new ContainerSolderer(player, (TileSolderer) tile);
|
||||
case RefinedStorageGui.WIRELESS_TRANSMITTER:
|
||||
return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.DESTRUCTOR:
|
||||
return new ContainerDestructor(player);
|
||||
case RefinedStorageGui.CONSTRUCTOR:
|
||||
return new ContainerConstructor(player, (TileConstructor) tile);
|
||||
case RefinedStorageGui.STORAGE:
|
||||
return new ContainerStorage(player, ((IStorageGui) tile).getInventory());
|
||||
case RefinedStorageGui.RELAY:
|
||||
return new ContainerRelay(player);
|
||||
case RefinedStorageGui.INTERFACE:
|
||||
return new ContainerInterface(player, (TileInterface) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
||||
{
|
||||
return getContainer(ID, player, world.getTileEntity(new BlockPos(x, y, z)));
|
||||
}
|
||||
@Override
|
||||
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return getContainer(ID, player, world.getTileEntity(new BlockPos(x, y, z)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
|
||||
{
|
||||
TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
|
||||
@Override
|
||||
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
|
||||
|
||||
switch (ID)
|
||||
{
|
||||
case RefinedStorageGui.CONTROLLER:
|
||||
return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile);
|
||||
case RefinedStorageGui.GRID:
|
||||
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile);
|
||||
case RefinedStorageGui.DRIVE:
|
||||
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile, "gui/drive.png");
|
||||
case RefinedStorageGui.IMPORTER:
|
||||
return new GuiImporter((ContainerImporter) getContainer(ID, player, tile), (TileImporter) tile);
|
||||
case RefinedStorageGui.EXPORTER:
|
||||
return new GuiExporter((ContainerExporter) getContainer(ID, player, tile), (TileExporter) tile);
|
||||
case RefinedStorageGui.DETECTOR:
|
||||
return new GuiDetector((ContainerDetector) getContainer(ID, player, tile), (TileDetector) tile);
|
||||
case RefinedStorageGui.SOLDERER:
|
||||
return new GuiSolderer((ContainerSolderer) getContainer(ID, player, tile), (TileSolderer) tile);
|
||||
case RefinedStorageGui.WIRELESS_TRANSMITTER:
|
||||
return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.DESTRUCTOR:
|
||||
return new GuiDestructor((ContainerDestructor) getContainer(ID, player, tile), (TileDestructor) tile);
|
||||
case RefinedStorageGui.CONSTRUCTOR:
|
||||
return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile);
|
||||
case RefinedStorageGui.STORAGE:
|
||||
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile);
|
||||
case RefinedStorageGui.RELAY:
|
||||
return new GuiRelay((ContainerRelay) getContainer(ID, player, tile), (TileRelay) tile);
|
||||
case RefinedStorageGui.INTERFACE:
|
||||
return new GuiInterface((ContainerInterface) getContainer(ID, player, tile), (TileInterface) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
switch (ID) {
|
||||
case RefinedStorageGui.CONTROLLER:
|
||||
return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile);
|
||||
case RefinedStorageGui.GRID:
|
||||
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile);
|
||||
case RefinedStorageGui.DRIVE:
|
||||
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile, "gui/drive.png");
|
||||
case RefinedStorageGui.IMPORTER:
|
||||
return new GuiImporter((ContainerImporter) getContainer(ID, player, tile), (TileImporter) tile);
|
||||
case RefinedStorageGui.EXPORTER:
|
||||
return new GuiExporter((ContainerExporter) getContainer(ID, player, tile), (TileExporter) tile);
|
||||
case RefinedStorageGui.DETECTOR:
|
||||
return new GuiDetector((ContainerDetector) getContainer(ID, player, tile), (TileDetector) tile);
|
||||
case RefinedStorageGui.SOLDERER:
|
||||
return new GuiSolderer((ContainerSolderer) getContainer(ID, player, tile), (TileSolderer) tile);
|
||||
case RefinedStorageGui.WIRELESS_TRANSMITTER:
|
||||
return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile);
|
||||
case RefinedStorageGui.DESTRUCTOR:
|
||||
return new GuiDestructor((ContainerDestructor) getContainer(ID, player, tile), (TileDestructor) tile);
|
||||
case RefinedStorageGui.CONSTRUCTOR:
|
||||
return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile);
|
||||
case RefinedStorageGui.STORAGE:
|
||||
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile);
|
||||
case RefinedStorageGui.RELAY:
|
||||
return new GuiRelay((ContainerRelay) getContainer(ID, player, tile), (TileRelay) tile);
|
||||
case RefinedStorageGui.INTERFACE:
|
||||
return new GuiInterface((ContainerInterface) getContainer(ID, player, tile), (TileInterface) tile);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
58
src/main/java/refinedstorage/gui/GuiImporter.java
Normal file → Executable file
@@ -7,45 +7,39 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileImporter;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiImporter extends GuiBase
|
||||
{
|
||||
private TileImporter importer;
|
||||
public class GuiImporter extends GuiBase {
|
||||
private TileImporter importer;
|
||||
|
||||
public GuiImporter(ContainerImporter container, TileImporter importer)
|
||||
{
|
||||
super(container, 176, 137);
|
||||
public GuiImporter(ContainerImporter container, TileImporter importer) {
|
||||
super(container, 176, 137);
|
||||
|
||||
this.importer = importer;
|
||||
}
|
||||
this.importer = importer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(importer));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(importer));
|
||||
|
||||
addSideButton(new SideButtonMode(importer));
|
||||
addSideButton(new SideButtonMode(importer));
|
||||
|
||||
addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/importer.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/importer.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:importer"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:importer"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
71
src/main/java/refinedstorage/gui/GuiInterface.java
Normal file → Executable file
@@ -6,53 +6,46 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileInterface;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiInterface extends GuiBase
|
||||
{
|
||||
private TileInterface tile;
|
||||
public class GuiInterface extends GuiBase {
|
||||
private TileInterface tile;
|
||||
|
||||
public GuiInterface(ContainerInterface container, TileInterface tile)
|
||||
{
|
||||
super(container, 176, 218);
|
||||
public GuiInterface(ContainerInterface container, TileInterface tile) {
|
||||
super(container, 176, 218);
|
||||
|
||||
this.tile = tile;
|
||||
}
|
||||
this.tile = tile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(tile));
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(tile));
|
||||
|
||||
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/interface.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/interface.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:interface.import"));
|
||||
drawString(7, 42, t("gui.refinedstorage:interface.export"));
|
||||
drawString(7, 123, t("container.inventory"));
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:interface.import"));
|
||||
drawString(7, 42, t("gui.refinedstorage:interface.export"));
|
||||
drawString(7, 123, t("container.inventory"));
|
||||
|
||||
if (inBounds(162, 42, 7, 7, mouseX, mouseY))
|
||||
{
|
||||
String message = t("gui.refinedstorage:interface.export.explanation.0");
|
||||
message += "\n" + t("gui.refinedstorage:interface.export.explanation.1");
|
||||
message += "\n" + t("gui.refinedstorage:interface.export.explanation.2");
|
||||
if (inBounds(162, 42, 7, 7, mouseX, mouseY)) {
|
||||
String message = t("gui.refinedstorage:interface.export.explanation.0");
|
||||
message += "\n" + t("gui.refinedstorage:interface.export.explanation.1");
|
||||
message += "\n" + t("gui.refinedstorage:interface.export.explanation.2");
|
||||
|
||||
drawTooltip(mouseX, mouseY, message);
|
||||
}
|
||||
}
|
||||
drawTooltip(mouseX, mouseY, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
52
src/main/java/refinedstorage/gui/GuiRelay.java
Normal file → Executable file
@@ -4,40 +4,34 @@ import refinedstorage.container.ContainerRelay;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileRelay;
|
||||
|
||||
public class GuiRelay extends GuiBase
|
||||
{
|
||||
private TileRelay relay;
|
||||
public class GuiRelay extends GuiBase {
|
||||
private TileRelay relay;
|
||||
|
||||
public GuiRelay(ContainerRelay container, TileRelay relay)
|
||||
{
|
||||
super(container, 176, 131);
|
||||
public GuiRelay(ContainerRelay container, TileRelay relay) {
|
||||
super(container, 176, 131);
|
||||
|
||||
this.relay = relay;
|
||||
}
|
||||
this.relay = relay;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(relay));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(relay));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/relay.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/relay.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:relay"));
|
||||
drawString(7, 39, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:relay"));
|
||||
drawString(7, 39, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
59
src/main/java/refinedstorage/gui/GuiSolderer.java
Normal file → Executable file
@@ -4,45 +4,38 @@ import net.minecraft.inventory.Container;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileSolderer;
|
||||
|
||||
public class GuiSolderer extends GuiBase
|
||||
{
|
||||
private TileSolderer solderer;
|
||||
public class GuiSolderer extends GuiBase {
|
||||
private TileSolderer solderer;
|
||||
|
||||
public GuiSolderer(Container container, TileSolderer solderer)
|
||||
{
|
||||
super(container, 176, 177);
|
||||
public GuiSolderer(Container container, TileSolderer solderer) {
|
||||
super(container, 176, 177);
|
||||
|
||||
this.solderer = solderer;
|
||||
}
|
||||
this.solderer = solderer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(solderer));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(solderer));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/solderer.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/solderer.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
if (solderer.isWorking())
|
||||
{
|
||||
drawTexture(x + 83, y + 40 - 1, 177, 0, solderer.getProgressScaled(22), 15);
|
||||
}
|
||||
}
|
||||
if (solderer.isWorking()) {
|
||||
drawTexture(x + 83, y + 40 - 1, 177, 0, solderer.getProgressScaled(22), 15);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:solderer"));
|
||||
drawString(7, 82, t("container.inventory"));
|
||||
}
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:solderer"));
|
||||
drawString(7, 82, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
164
src/main/java/refinedstorage/gui/GuiStorage.java
Normal file → Executable file
@@ -1,7 +1,6 @@
|
||||
package refinedstorage.gui;
|
||||
|
||||
import com.google.common.primitives.Ints;
|
||||
import java.io.IOException;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import refinedstorage.container.ContainerStorage;
|
||||
import refinedstorage.gui.sidebutton.SideButtonCompare;
|
||||
@@ -10,114 +9,99 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.storage.IStorageGui;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class GuiStorage extends GuiBase
|
||||
{
|
||||
private IStorageGui gui;
|
||||
private String texture;
|
||||
import java.io.IOException;
|
||||
|
||||
private GuiTextField priorityField;
|
||||
public class GuiStorage extends GuiBase {
|
||||
private IStorageGui gui;
|
||||
private String texture;
|
||||
|
||||
private int barX = 8;
|
||||
private int barY = 54;
|
||||
private int barWidth = 16;
|
||||
private int barHeight = 58;
|
||||
private GuiTextField priorityField;
|
||||
|
||||
public GuiStorage(ContainerStorage container, IStorageGui gui, String texture)
|
||||
{
|
||||
super(container, 176, 211);
|
||||
private int barX = 8;
|
||||
private int barY = 54;
|
||||
private int barWidth = 16;
|
||||
private int barHeight = 58;
|
||||
|
||||
this.gui = gui;
|
||||
this.texture = texture;
|
||||
}
|
||||
public GuiStorage(ContainerStorage container, IStorageGui gui, String texture) {
|
||||
super(container, 176, 211);
|
||||
|
||||
public GuiStorage(ContainerStorage container, IStorageGui gui)
|
||||
{
|
||||
this(container, gui, "gui/storage.png");
|
||||
}
|
||||
this.gui = gui;
|
||||
this.texture = texture;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
if (gui.getRedstoneModeSetting() != null)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeSetting()));
|
||||
}
|
||||
public GuiStorage(ContainerStorage container, IStorageGui gui) {
|
||||
this(container, gui, "gui/storage.png");
|
||||
}
|
||||
|
||||
if (gui.getModeSetting() != null)
|
||||
{
|
||||
addSideButton(new SideButtonMode(gui.getModeSetting()));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
if (gui.getRedstoneModeSetting() != null) {
|
||||
addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeSetting()));
|
||||
}
|
||||
|
||||
if (gui.getCompareSetting() != null)
|
||||
{
|
||||
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
if (gui.getModeSetting() != null) {
|
||||
addSideButton(new SideButtonMode(gui.getModeSetting()));
|
||||
}
|
||||
|
||||
priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 25, fontRendererObj.FONT_HEIGHT);
|
||||
priorityField.setText(String.valueOf(gui.getPriority()));
|
||||
priorityField.setEnableBackgroundDrawing(false);
|
||||
priorityField.setVisible(true);
|
||||
priorityField.setTextColor(16777215);
|
||||
priorityField.setCanLoseFocus(false);
|
||||
priorityField.setFocused(true);
|
||||
}
|
||||
if (gui.getCompareSetting() != null) {
|
||||
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_DAMAGE));
|
||||
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_NBT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 25, fontRendererObj.FONT_HEIGHT);
|
||||
priorityField.setText(String.valueOf(gui.getPriority()));
|
||||
priorityField.setEnableBackgroundDrawing(false);
|
||||
priorityField.setVisible(true);
|
||||
priorityField.setTextColor(16777215);
|
||||
priorityField.setCanLoseFocus(false);
|
||||
priorityField.setFocused(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture(texture);
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture(texture);
|
||||
|
||||
int barHeightNew = (int) ((float) gui.getStored() / (float) gui.getCapacity() * (float) barHeight);
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 179, 0 + (barHeight - barHeightNew), barWidth, barHeightNew);
|
||||
int barHeightNew = (int) ((float) gui.getStored() / (float) gui.getCapacity() * (float) barHeight);
|
||||
|
||||
priorityField.drawTextBox();
|
||||
}
|
||||
drawTexture(x + barX, y + barY + barHeight - barHeightNew, 179, 0 + (barHeight - barHeightNew), barWidth, barHeightNew);
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t(gui.getName()));
|
||||
drawString(7, 42, gui.getCapacity() == -1 ? t("misc.refinedstorage:storage.stored_minimal", gui.getStored()) : t("misc.refinedstorage:storage.stored_capacity_minimal", gui.getStored(), gui.getCapacity()));
|
||||
drawString(97, 42, t("misc.refinedstorage:priority"));
|
||||
drawString(7, 117, t("container.inventory"));
|
||||
priorityField.drawTextBox();
|
||||
}
|
||||
|
||||
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY))
|
||||
{
|
||||
int full = 0;
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t(gui.getName()));
|
||||
drawString(7, 42, gui.getCapacity() == -1 ? t("misc.refinedstorage:storage.stored_minimal", gui.getStored()) : t("misc.refinedstorage:storage.stored_capacity_minimal", gui.getStored(), gui.getCapacity()));
|
||||
drawString(97, 42, t("misc.refinedstorage:priority"));
|
||||
drawString(7, 117, t("container.inventory"));
|
||||
|
||||
if (gui.getCapacity() >= 0)
|
||||
{
|
||||
full = (int) ((float) gui.getStored() / (float) gui.getCapacity() * 100f);
|
||||
}
|
||||
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) {
|
||||
int full = 0;
|
||||
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:storage.full", full));
|
||||
}
|
||||
}
|
||||
if (gui.getCapacity() >= 0) {
|
||||
full = (int) ((float) gui.getStored() / (float) gui.getCapacity() * 100f);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException
|
||||
{
|
||||
if (!checkHotbarKeys(keyCode) && priorityField.textboxKeyTyped(character, keyCode))
|
||||
{
|
||||
Integer result = Ints.tryParse(priorityField.getText());
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:storage.full", full));
|
||||
}
|
||||
}
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
gui.onPriorityChanged(result);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void keyTyped(char character, int keyCode) throws IOException {
|
||||
if (!checkHotbarKeys(keyCode) && priorityField.textboxKeyTyped(character, keyCode)) {
|
||||
Integer result = Ints.tryParse(priorityField.getText());
|
||||
|
||||
if (result != null) {
|
||||
gui.onPriorityChanged(result);
|
||||
}
|
||||
} else {
|
||||
super.keyTyped(character, keyCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
70
src/main/java/refinedstorage/gui/GuiWirelessTransmitter.java
Normal file → Executable file
@@ -4,54 +4,46 @@ import net.minecraft.inventory.Container;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.tile.TileWirelessTransmitter;
|
||||
|
||||
public class GuiWirelessTransmitter extends GuiBase
|
||||
{
|
||||
private TileWirelessTransmitter wirelessTransmitter;
|
||||
public class GuiWirelessTransmitter extends GuiBase {
|
||||
private TileWirelessTransmitter wirelessTransmitter;
|
||||
|
||||
public GuiWirelessTransmitter(Container container, TileWirelessTransmitter wirelessTransmitter)
|
||||
{
|
||||
super(container, 176, 137);
|
||||
public GuiWirelessTransmitter(Container container, TileWirelessTransmitter wirelessTransmitter) {
|
||||
super(container, 176, 137);
|
||||
|
||||
this.wirelessTransmitter = wirelessTransmitter;
|
||||
}
|
||||
this.wirelessTransmitter = wirelessTransmitter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(int x, int y)
|
||||
{
|
||||
addSideButton(new SideButtonRedstoneMode(wirelessTransmitter));
|
||||
}
|
||||
@Override
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(wirelessTransmitter));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY)
|
||||
{
|
||||
bindTexture("gui/wireless_transmitter.png");
|
||||
@Override
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
bindTexture("gui/wireless_transmitter.png");
|
||||
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
drawTexture(x, y, 0, 0, width, height);
|
||||
|
||||
if (wirelessTransmitter.isWorking())
|
||||
{
|
||||
int progress = (int) ((float) wirelessTransmitter.getProgress() / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 14f);
|
||||
if (wirelessTransmitter.isWorking()) {
|
||||
int progress = (int) ((float) wirelessTransmitter.getProgress() / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 14f);
|
||||
|
||||
drawTexture(x + 36 - 1, y + 21 - 1 + progress, 178, 0 + progress, 14, 14);
|
||||
}
|
||||
}
|
||||
drawTexture(x + 36 - 1, y + 21 - 1 + progress, 178, 0 + progress, 14, 14);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY)
|
||||
{
|
||||
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter"));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
|
||||
if (inBounds(36, 21, 14, 14, mouseX, mouseY) && wirelessTransmitter.isWorking())
|
||||
{
|
||||
int workRemaining = (int) (((float) (TileWirelessTransmitter.TOTAL_PROGRESS - wirelessTransmitter.getProgress())) / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 100f);
|
||||
if (inBounds(36, 21, 14, 14, mouseX, mouseY) && wirelessTransmitter.isWorking()) {
|
||||
int workRemaining = (int) (((float) (TileWirelessTransmitter.TOTAL_PROGRESS - wirelessTransmitter.getProgress())) / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 100f);
|
||||
|
||||
drawTooltip(mouseX, mouseY, workRemaining + "%");
|
||||
}
|
||||
}
|
||||
drawTooltip(mouseX, mouseY, workRemaining + "%");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
151
src/main/java/refinedstorage/gui/Scrollbar.java
Normal file → Executable file
@@ -2,110 +2,91 @@ package refinedstorage.gui;
|
||||
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
public class Scrollbar
|
||||
{
|
||||
private boolean canScroll = true;
|
||||
public class Scrollbar {
|
||||
private boolean canScroll = true;
|
||||
|
||||
private int x;
|
||||
private int y;
|
||||
private int scrollbarWidth;
|
||||
private int scrollbarHeight;
|
||||
private int x;
|
||||
private int y;
|
||||
private int scrollbarWidth;
|
||||
private int scrollbarHeight;
|
||||
|
||||
private float currentScroll;
|
||||
private boolean wasClicking = false;
|
||||
private boolean isScrolling = false;
|
||||
private float currentScroll;
|
||||
private boolean wasClicking = false;
|
||||
private boolean isScrolling = false;
|
||||
|
||||
public Scrollbar(int x, int y, int scrollbarWidth, int scrollbarHeight)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.scrollbarWidth = scrollbarWidth;
|
||||
this.scrollbarHeight = scrollbarHeight;
|
||||
}
|
||||
public Scrollbar(int x, int y, int scrollbarWidth, int scrollbarHeight) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.scrollbarWidth = scrollbarWidth;
|
||||
this.scrollbarHeight = scrollbarHeight;
|
||||
}
|
||||
|
||||
public void setCanScroll(boolean canScroll)
|
||||
{
|
||||
this.canScroll = canScroll;
|
||||
}
|
||||
public void setCanScroll(boolean canScroll) {
|
||||
this.canScroll = canScroll;
|
||||
}
|
||||
|
||||
public boolean canScroll()
|
||||
{
|
||||
return canScroll;
|
||||
}
|
||||
public boolean canScroll() {
|
||||
return canScroll;
|
||||
}
|
||||
|
||||
public float getCurrentScroll()
|
||||
{
|
||||
return currentScroll;
|
||||
}
|
||||
public float getCurrentScroll() {
|
||||
return currentScroll;
|
||||
}
|
||||
|
||||
public void setCurrentScroll(float newCurrentScroll)
|
||||
{
|
||||
if (newCurrentScroll < 0)
|
||||
{
|
||||
newCurrentScroll = 0;
|
||||
}
|
||||
public void setCurrentScroll(float newCurrentScroll) {
|
||||
if (newCurrentScroll < 0) {
|
||||
newCurrentScroll = 0;
|
||||
}
|
||||
|
||||
int scrollbarItselfHeight = 12;
|
||||
int scrollbarItselfHeight = 12;
|
||||
|
||||
int max = scrollbarHeight - scrollbarItselfHeight - 3;
|
||||
int max = scrollbarHeight - scrollbarItselfHeight - 3;
|
||||
|
||||
if (newCurrentScroll > max)
|
||||
{
|
||||
newCurrentScroll = max;
|
||||
}
|
||||
if (newCurrentScroll > max) {
|
||||
newCurrentScroll = max;
|
||||
}
|
||||
|
||||
currentScroll = newCurrentScroll;
|
||||
}
|
||||
currentScroll = newCurrentScroll;
|
||||
}
|
||||
|
||||
public void draw(GuiBase gui)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(gui.guiLeft + x, gui.guiTop + y + (int) currentScroll, canScroll() ? 232 : 244, 0, 12, 15);
|
||||
}
|
||||
public void draw(GuiBase gui) {
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(gui.guiLeft + x, gui.guiTop + y + (int) currentScroll, canScroll() ? 232 : 244, 0, 12, 15);
|
||||
}
|
||||
|
||||
public void update(GuiBase gui, int mouseX, int mouseY)
|
||||
{
|
||||
if (!canScroll())
|
||||
{
|
||||
isScrolling = false;
|
||||
wasClicking = false;
|
||||
currentScroll = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
int wheel = Mouse.getDWheel();
|
||||
public void update(GuiBase gui, int mouseX, int mouseY) {
|
||||
if (!canScroll()) {
|
||||
isScrolling = false;
|
||||
wasClicking = false;
|
||||
currentScroll = 0;
|
||||
} else {
|
||||
int wheel = Mouse.getDWheel();
|
||||
|
||||
wheel = Math.max(Math.min(-wheel, 1), -1);
|
||||
wheel = Math.max(Math.min(-wheel, 1), -1);
|
||||
|
||||
float delta = 15;
|
||||
float delta = 15;
|
||||
|
||||
if (wheel == -1)
|
||||
{
|
||||
setCurrentScroll(currentScroll - delta);
|
||||
}
|
||||
else if (wheel == 1)
|
||||
{
|
||||
setCurrentScroll(currentScroll + delta);
|
||||
}
|
||||
if (wheel == -1) {
|
||||
setCurrentScroll(currentScroll - delta);
|
||||
} else if (wheel == 1) {
|
||||
setCurrentScroll(currentScroll + delta);
|
||||
}
|
||||
|
||||
boolean down = Mouse.isButtonDown(0);
|
||||
boolean down = Mouse.isButtonDown(0);
|
||||
|
||||
if (!wasClicking && down && gui.inBounds(x, y, scrollbarWidth, scrollbarHeight, mouseX, mouseY))
|
||||
{
|
||||
isScrolling = true;
|
||||
}
|
||||
if (!wasClicking && down && gui.inBounds(x, y, scrollbarWidth, scrollbarHeight, mouseX, mouseY)) {
|
||||
isScrolling = true;
|
||||
}
|
||||
|
||||
if (!down)
|
||||
{
|
||||
isScrolling = false;
|
||||
}
|
||||
if (!down) {
|
||||
isScrolling = false;
|
||||
}
|
||||
|
||||
wasClicking = down;
|
||||
wasClicking = down;
|
||||
|
||||
if (isScrolling)
|
||||
{
|
||||
setCurrentScroll(mouseY - 20);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isScrolling) {
|
||||
setCurrentScroll(mouseY - 20);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
57
src/main/java/refinedstorage/gui/sidebutton/SideButton.java
Normal file → Executable file
@@ -2,45 +2,38 @@ package refinedstorage.gui.sidebutton;
|
||||
|
||||
import refinedstorage.gui.GuiBase;
|
||||
|
||||
public abstract class SideButton
|
||||
{
|
||||
private int id;
|
||||
private int x;
|
||||
private int y;
|
||||
public abstract class SideButton {
|
||||
private int id;
|
||||
private int x;
|
||||
private int y;
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getX()
|
||||
{
|
||||
return x;
|
||||
}
|
||||
public int getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public void setX(int x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
public void setX(int x) {
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
public int getY()
|
||||
{
|
||||
return y;
|
||||
}
|
||||
public int getY() {
|
||||
return y;
|
||||
}
|
||||
|
||||
public void setY(int y)
|
||||
{
|
||||
this.y = y;
|
||||
}
|
||||
public void setY(int y) {
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public abstract String getTooltip(GuiBase gui);
|
||||
public abstract String getTooltip(GuiBase gui);
|
||||
|
||||
public abstract void draw(GuiBase gui, int x, int y);
|
||||
public abstract void draw(GuiBase gui, int x, int y);
|
||||
|
||||
public abstract void actionPerformed();
|
||||
public abstract void actionPerformed();
|
||||
}
|
||||
|
79
src/main/java/refinedstorage/gui/sidebutton/SideButtonCompare.java
Normal file → Executable file
@@ -7,60 +7,49 @@ import refinedstorage.network.MessageCompareUpdate;
|
||||
import refinedstorage.tile.settings.ICompareSetting;
|
||||
import refinedstorage.util.InventoryUtils;
|
||||
|
||||
public class SideButtonCompare extends SideButton
|
||||
{
|
||||
private ICompareSetting setting;
|
||||
private int mask;
|
||||
public class SideButtonCompare extends SideButton {
|
||||
private ICompareSetting setting;
|
||||
private int mask;
|
||||
|
||||
public SideButtonCompare(ICompareSetting setting, int mask)
|
||||
{
|
||||
this.setting = setting;
|
||||
this.mask = mask;
|
||||
}
|
||||
public SideButtonCompare(ICompareSetting setting, int mask) {
|
||||
this.setting = setting;
|
||||
this.mask = mask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:compare." + mask)).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:compare." + mask)).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
if ((setting.getCompare() & mask) == mask)
|
||||
{
|
||||
builder.append(gui.t("misc.refinedstorage:yes"));
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.append(gui.t("misc.refinedstorage:no"));
|
||||
}
|
||||
if ((setting.getCompare() & mask) == mask) {
|
||||
builder.append(gui.t("misc.refinedstorage:yes"));
|
||||
} else {
|
||||
builder.append(gui.t("misc.refinedstorage:no"));
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
|
||||
int ty = 0;
|
||||
int ty = 0;
|
||||
|
||||
if (mask == InventoryUtils.COMPARE_DAMAGE)
|
||||
{
|
||||
ty = 80;
|
||||
}
|
||||
else if (mask == InventoryUtils.COMPARE_NBT)
|
||||
{
|
||||
ty = 48;
|
||||
}
|
||||
if (mask == InventoryUtils.COMPARE_DAMAGE) {
|
||||
ty = 80;
|
||||
} else if (mask == InventoryUtils.COMPARE_NBT) {
|
||||
ty = 48;
|
||||
}
|
||||
|
||||
int tx = (setting.getCompare() & mask) == mask ? 0 : 16;
|
||||
int tx = (setting.getCompare() & mask) == mask ? 0 : 16;
|
||||
|
||||
gui.drawTexture(x, y + 2, tx, ty, 16, 16);
|
||||
}
|
||||
gui.drawTexture(x, y + 2, tx, ty, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageCompareUpdate(setting, setting.getCompare() ^ mask));
|
||||
}
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageCompareUpdate(setting, setting.getCompare() ^ mask));
|
||||
}
|
||||
}
|
||||
|
45
src/main/java/refinedstorage/gui/sidebutton/SideButtonDetectorMode.java
Normal file → Executable file
@@ -8,36 +8,31 @@ import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageDetectorModeUpdate;
|
||||
import refinedstorage.tile.TileDetector;
|
||||
|
||||
public class SideButtonDetectorMode extends SideButton
|
||||
{
|
||||
private TileDetector detector;
|
||||
public class SideButtonDetectorMode extends SideButton {
|
||||
private TileDetector detector;
|
||||
|
||||
public SideButtonDetectorMode(TileDetector detector)
|
||||
{
|
||||
this.detector = detector;
|
||||
}
|
||||
public SideButtonDetectorMode(TileDetector detector) {
|
||||
this.detector = detector;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:detector.mode")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:detector.mode")).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("sidebutton.refinedstorage:detector.mode." + detector.getMode()));
|
||||
builder.append(gui.t("sidebutton.refinedstorage:detector.mode." + detector.getMode()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.drawItem(x, y, new ItemStack(Items.redstone, 1));
|
||||
}
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.drawItem(x, y, new ItemStack(Items.redstone, 1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector));
|
||||
}
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector));
|
||||
}
|
||||
}
|
||||
|
62
src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingDirection.java
Normal file → Executable file
@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageGridSortingUpdate;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SideButtonGridSortingDirection extends SideButton
|
||||
{
|
||||
private TileGrid grid;
|
||||
public class SideButtonGridSortingDirection extends SideButton {
|
||||
private TileGrid grid;
|
||||
|
||||
public SideButtonGridSortingDirection(TileGrid grid)
|
||||
{
|
||||
this.grid = grid;
|
||||
}
|
||||
public SideButtonGridSortingDirection(TileGrid grid) {
|
||||
this.grid = grid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.direction")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.direction")).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.direction." + grid.getSortingDirection()));
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.direction." + grid.getSortingDirection()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
|
||||
}
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
int dir = grid.getSortingDirection();
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
int dir = grid.getSortingDirection();
|
||||
|
||||
if (dir == TileGrid.SORTING_DIRECTION_ASCENDING)
|
||||
{
|
||||
dir = TileGrid.SORTING_DIRECTION_DESCENDING;
|
||||
}
|
||||
else if (dir == TileGrid.SORTING_DIRECTION_DESCENDING)
|
||||
{
|
||||
dir = TileGrid.SORTING_DIRECTION_ASCENDING;
|
||||
}
|
||||
if (dir == TileGrid.SORTING_DIRECTION_ASCENDING) {
|
||||
dir = TileGrid.SORTING_DIRECTION_DESCENDING;
|
||||
} else if (dir == TileGrid.SORTING_DIRECTION_DESCENDING) {
|
||||
dir = TileGrid.SORTING_DIRECTION_ASCENDING;
|
||||
}
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, dir, grid.getSortingType()));
|
||||
}
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, dir, grid.getSortingType()));
|
||||
}
|
||||
}
|
||||
|
62
src/main/java/refinedstorage/gui/sidebutton/SideButtonGridSortingType.java
Normal file → Executable file
@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageGridSortingUpdate;
|
||||
import refinedstorage.tile.TileGrid;
|
||||
|
||||
public class SideButtonGridSortingType extends SideButton
|
||||
{
|
||||
private TileGrid grid;
|
||||
public class SideButtonGridSortingType extends SideButton {
|
||||
private TileGrid grid;
|
||||
|
||||
public SideButtonGridSortingType(TileGrid grid)
|
||||
{
|
||||
this.grid = grid;
|
||||
}
|
||||
public SideButtonGridSortingType(TileGrid grid) {
|
||||
this.grid = grid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.type")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.type")).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.type." + grid.getSortingType()));
|
||||
builder.append(gui.t("sidebutton.refinedstorage:sorting.type." + grid.getSortingType()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
|
||||
}
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
int type = grid.getSortingType();
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
int type = grid.getSortingType();
|
||||
|
||||
if (type == TileGrid.SORTING_TYPE_QUANTITY)
|
||||
{
|
||||
type = TileGrid.SORTING_TYPE_NAME;
|
||||
}
|
||||
else if (type == TileGrid.SORTING_TYPE_NAME)
|
||||
{
|
||||
type = TileGrid.SORTING_TYPE_QUANTITY;
|
||||
}
|
||||
if (type == TileGrid.SORTING_TYPE_QUANTITY) {
|
||||
type = TileGrid.SORTING_TYPE_NAME;
|
||||
} else if (type == TileGrid.SORTING_TYPE_NAME) {
|
||||
type = TileGrid.SORTING_TYPE_QUANTITY;
|
||||
}
|
||||
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, grid.getSortingDirection(), type));
|
||||
}
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, grid.getSortingDirection(), type));
|
||||
}
|
||||
}
|
||||
|
62
src/main/java/refinedstorage/gui/sidebutton/SideButtonMode.java
Normal file → Executable file
@@ -6,49 +6,41 @@ import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageModeToggle;
|
||||
import refinedstorage.tile.settings.IModeSetting;
|
||||
|
||||
public class SideButtonMode extends SideButton
|
||||
{
|
||||
private IModeSetting mode;
|
||||
public class SideButtonMode extends SideButton {
|
||||
private IModeSetting mode;
|
||||
|
||||
public SideButtonMode(IModeSetting mode)
|
||||
{
|
||||
this.mode = mode;
|
||||
}
|
||||
public SideButtonMode(IModeSetting mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:mode")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:mode")).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("sidebutton.refinedstorage:mode." + (mode.isWhitelist() ? "whitelist" : "blacklist")));
|
||||
builder.append(gui.t("sidebutton.refinedstorage:mode." + (mode.isWhitelist() ? "whitelist" : "blacklist")));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
|
||||
int tx = 0;
|
||||
int tx = 0;
|
||||
|
||||
if (mode.isWhitelist())
|
||||
{
|
||||
tx = 0;
|
||||
}
|
||||
else if (mode.isBlacklist())
|
||||
{
|
||||
tx = 16;
|
||||
}
|
||||
if (mode.isWhitelist()) {
|
||||
tx = 0;
|
||||
} else if (mode.isBlacklist()) {
|
||||
tx = 16;
|
||||
}
|
||||
|
||||
gui.drawTexture(x, y + 1, tx, 64, 16, 16);
|
||||
}
|
||||
gui.drawTexture(x, y + 1, tx, 64, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode));
|
||||
}
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode));
|
||||
}
|
||||
}
|
||||
|
47
src/main/java/refinedstorage/gui/sidebutton/SideButtonRedstoneMode.java
Normal file → Executable file
@@ -6,37 +6,32 @@ import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageRedstoneModeUpdate;
|
||||
import refinedstorage.tile.settings.IRedstoneModeSetting;
|
||||
|
||||
public class SideButtonRedstoneMode extends SideButton
|
||||
{
|
||||
private IRedstoneModeSetting setting;
|
||||
public class SideButtonRedstoneMode extends SideButton {
|
||||
private IRedstoneModeSetting setting;
|
||||
|
||||
public SideButtonRedstoneMode(IRedstoneModeSetting setting)
|
||||
{
|
||||
this.setting = setting;
|
||||
}
|
||||
public SideButtonRedstoneMode(IRedstoneModeSetting setting) {
|
||||
this.setting = setting;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.RED).append(gui.t("sidebutton.refinedstorage:redstone_mode")).append(TextFormatting.RESET).append("\n");
|
||||
builder.append(TextFormatting.RED).append(gui.t("sidebutton.refinedstorage:redstone_mode")).append(TextFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("sidebutton.refinedstorage:redstone_mode." + setting.getRedstoneMode().id));
|
||||
builder.append(gui.t("sidebutton.refinedstorage:redstone_mode." + setting.getRedstoneMode().id));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y)
|
||||
{
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16);
|
||||
}
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
gui.bindTexture("icons.png");
|
||||
gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed()
|
||||
{
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
|
||||
}
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
|
||||
}
|
||||
}
|
||||
|
233
src/main/java/refinedstorage/inventory/InventorySimple.java
Normal file → Executable file
@@ -6,162 +6,133 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
|
||||
public class InventorySimple implements IInventory
|
||||
{
|
||||
private TileEntity tile;
|
||||
private ItemStack[] inventory;
|
||||
private int size;
|
||||
private String name;
|
||||
public class InventorySimple implements IInventory {
|
||||
private TileEntity tile;
|
||||
private ItemStack[] inventory;
|
||||
private int size;
|
||||
private String name;
|
||||
|
||||
public InventorySimple(String name, int size)
|
||||
{
|
||||
this.name = name;
|
||||
this.size = size;
|
||||
this.inventory = new ItemStack[size];
|
||||
}
|
||||
public InventorySimple(String name, int size) {
|
||||
this.name = name;
|
||||
this.size = size;
|
||||
this.inventory = new ItemStack[size];
|
||||
}
|
||||
|
||||
public InventorySimple(String name, int size, TileEntity tile)
|
||||
{
|
||||
this(name, size);
|
||||
public InventorySimple(String name, int size, TileEntity tile) {
|
||||
this(name, size);
|
||||
|
||||
this.tile = tile;
|
||||
}
|
||||
this.tile = tile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory()
|
||||
{
|
||||
return size;
|
||||
}
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slotIndex)
|
||||
{
|
||||
return inventory[slotIndex];
|
||||
}
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slotIndex) {
|
||||
return inventory[slotIndex];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slot, int amount)
|
||||
{
|
||||
ItemStack stack = getStackInSlot(slot);
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slot, int amount) {
|
||||
ItemStack stack = getStackInSlot(slot);
|
||||
|
||||
if (stack != null)
|
||||
{
|
||||
if (stack.stackSize <= amount)
|
||||
{
|
||||
setInventorySlotContents(slot, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
stack = stack.splitStack(amount);
|
||||
if (stack != null) {
|
||||
if (stack.stackSize <= amount) {
|
||||
setInventorySlotContents(slot, null);
|
||||
} else {
|
||||
stack = stack.splitStack(amount);
|
||||
|
||||
if (stack.stackSize == 0)
|
||||
{
|
||||
setInventorySlotContents(slot, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (stack.stackSize == 0) {
|
||||
setInventorySlotContents(slot, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack removeStackFromSlot(int slot)
|
||||
{
|
||||
ItemStack stack = getStackInSlot(slot);
|
||||
@Override
|
||||
public ItemStack removeStackFromSlot(int slot) {
|
||||
ItemStack stack = getStackInSlot(slot);
|
||||
|
||||
if (stack != null)
|
||||
{
|
||||
setInventorySlotContents(slot, null);
|
||||
}
|
||||
if (stack != null) {
|
||||
setInventorySlotContents(slot, null);
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int slot, ItemStack stack)
|
||||
{
|
||||
if (stack != null && stack.stackSize > getInventoryStackLimit())
|
||||
{
|
||||
stack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
@Override
|
||||
public void setInventorySlotContents(int slot, ItemStack stack) {
|
||||
if (stack != null && stack.stackSize > getInventoryStackLimit()) {
|
||||
stack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
|
||||
inventory[slot] = stack;
|
||||
}
|
||||
inventory[slot] = stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomName()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean hasCustomName() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markDirty()
|
||||
{
|
||||
if (tile != null)
|
||||
{
|
||||
tile.markDirty();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void markDirty() {
|
||||
if (tile != null) {
|
||||
tile.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory(EntityPlayer playerIn)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void openInventory(EntityPlayer playerIn) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory(EntityPlayer playerIn)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void closeInventory(EntityPlayer playerIn) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getField(int id)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@Override
|
||||
public int getField(int id) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setField(int id, int value)
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void setField(int id, int value) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFieldCount()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@Override
|
||||
public int getFieldCount() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear()
|
||||
{
|
||||
}
|
||||
@Override
|
||||
public void clear() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITextComponent getDisplayName()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public ITextComponent getDisplayName() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
39
src/main/java/refinedstorage/item/ItemBase.java
Normal file → Executable file
@@ -4,31 +4,26 @@ import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.RefinedStorage;
|
||||
|
||||
public abstract class ItemBase extends Item
|
||||
{
|
||||
private String name;
|
||||
public abstract class ItemBase extends Item {
|
||||
private String name;
|
||||
|
||||
public ItemBase(String name)
|
||||
{
|
||||
this.name = name;
|
||||
public ItemBase(String name) {
|
||||
this.name = name;
|
||||
|
||||
setCreativeTab(RefinedStorage.TAB);
|
||||
}
|
||||
setCreativeTab(RefinedStorage.TAB);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName()
|
||||
{
|
||||
return "item." + RefinedStorage.ID + ":" + name;
|
||||
}
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "item." + RefinedStorage.ID + ":" + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack)
|
||||
{
|
||||
if (getHasSubtypes())
|
||||
{
|
||||
return getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
if (getHasSubtypes()) {
|
||||
return getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
|
||||
return getUnlocalizedName();
|
||||
}
|
||||
return getUnlocalizedName();
|
||||
}
|
||||
}
|
||||
|
19
src/main/java/refinedstorage/item/ItemBlockBase.java
Normal file → Executable file
@@ -4,16 +4,13 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemColored;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public abstract class ItemBlockBase extends ItemColored
|
||||
{
|
||||
public ItemBlockBase(Block block)
|
||||
{
|
||||
super(block, true);
|
||||
}
|
||||
public abstract class ItemBlockBase extends ItemColored {
|
||||
public ItemBlockBase(Block block) {
|
||||
super(block, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack)
|
||||
{
|
||||
return getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
}
|
||||
|
10
src/main/java/refinedstorage/item/ItemBlockController.java
Normal file → Executable file
@@ -2,10 +2,8 @@ package refinedstorage.item;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class ItemBlockController extends ItemBlockBase
|
||||
{
|
||||
public ItemBlockController(Block block)
|
||||
{
|
||||
super(block);
|
||||
}
|
||||
public class ItemBlockController extends ItemBlockBase {
|
||||
public ItemBlockController(Block block) {
|
||||
super(block);
|
||||
}
|
||||
}
|
||||
|
10
src/main/java/refinedstorage/item/ItemBlockGrid.java
Normal file → Executable file
@@ -2,10 +2,8 @@ package refinedstorage.item;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class ItemBlockGrid extends ItemBlockBase
|
||||
{
|
||||
public ItemBlockGrid(Block block)
|
||||
{
|
||||
super(block);
|
||||
}
|
||||
public class ItemBlockGrid extends ItemBlockBase {
|
||||
public ItemBlockGrid(Block block) {
|
||||
super(block);
|
||||
}
|
||||
}
|
||||
|
66
src/main/java/refinedstorage/item/ItemBlockStorage.java
Normal file → Executable file
@@ -1,6 +1,5 @@
|
||||
package refinedstorage.item;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -11,49 +10,42 @@ import refinedstorage.block.EnumStorageType;
|
||||
import refinedstorage.storage.NBTStorage;
|
||||
import refinedstorage.tile.TileStorage;
|
||||
|
||||
public class ItemBlockStorage extends ItemBlockBase
|
||||
{
|
||||
public ItemBlockStorage(Block block)
|
||||
{
|
||||
super(block);
|
||||
}
|
||||
import java.util.List;
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b)
|
||||
{
|
||||
EnumStorageType type = EnumStorageType.getById(stack.getMetadata());
|
||||
public class ItemBlockStorage extends ItemBlockBase {
|
||||
public ItemBlockStorage(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
if (type != null && stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileStorage.NBT_STORAGE))
|
||||
{
|
||||
NBTTagCompound tag = stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE);
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) {
|
||||
EnumStorageType type = EnumStorageType.getById(stack.getMetadata());
|
||||
|
||||
if (type == EnumStorageType.TYPE_CREATIVE)
|
||||
{
|
||||
list.add(String.format(I18n.translateToLocal("misc.refinedstorage:storage.stored"), NBTStorage.getStored(tag)));
|
||||
}
|
||||
else
|
||||
{
|
||||
list.add(String.format(I18n.translateToLocal("misc.refinedstorage:storage.stored_capacity"), NBTStorage.getStored(tag), type.getCapacity()));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (type != null && stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileStorage.NBT_STORAGE)) {
|
||||
NBTTagCompound tag = stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE);
|
||||
|
||||
@Override
|
||||
public void onCreated(ItemStack stack, World world, EntityPlayer player)
|
||||
{
|
||||
super.onCreated(stack, world, player);
|
||||
if (type == EnumStorageType.TYPE_CREATIVE) {
|
||||
list.add(String.format(I18n.translateToLocal("misc.refinedstorage:storage.stored"), NBTStorage.getStored(tag)));
|
||||
} else {
|
||||
list.add(String.format(I18n.translateToLocal("misc.refinedstorage:storage.stored_capacity"), NBTStorage.getStored(tag), type.getCapacity()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
initNBT(stack);
|
||||
}
|
||||
@Override
|
||||
public void onCreated(ItemStack stack, World world, EntityPlayer player) {
|
||||
super.onCreated(stack, world, player);
|
||||
|
||||
public static ItemStack initNBT(ItemStack stack)
|
||||
{
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
initNBT(stack);
|
||||
}
|
||||
|
||||
tag.setTag(TileStorage.NBT_STORAGE, NBTStorage.getBaseNBT());
|
||||
public static ItemStack initNBT(ItemStack stack) {
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
|
||||
stack.setTagCompound(tag);
|
||||
tag.setTag(TileStorage.NBT_STORAGE, NBTStorage.getBaseNBT());
|
||||
|
||||
return stack;
|
||||
}
|
||||
stack.setTagCompound(tag);
|
||||
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
|
35
src/main/java/refinedstorage/item/ItemCore.java
Normal file → Executable file
@@ -1,29 +1,26 @@
|
||||
package refinedstorage.item;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemCore extends ItemBase
|
||||
{
|
||||
public static final int TYPE_CONSTRUCTION = 0;
|
||||
public static final int TYPE_DESTRUCTION = 1;
|
||||
import java.util.List;
|
||||
|
||||
public ItemCore()
|
||||
{
|
||||
super("core");
|
||||
public class ItemCore extends ItemBase {
|
||||
public static final int TYPE_CONSTRUCTION = 0;
|
||||
public static final int TYPE_DESTRUCTION = 1;
|
||||
|
||||
setHasSubtypes(true);
|
||||
setMaxDamage(0);
|
||||
}
|
||||
public ItemCore() {
|
||||
super("core");
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list)
|
||||
{
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
setHasSubtypes(true);
|
||||
setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
45
src/main/java/refinedstorage/item/ItemProcessor.java
Normal file → Executable file
@@ -1,34 +1,31 @@
|
||||
package refinedstorage.item;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemProcessor extends ItemBase
|
||||
{
|
||||
public static final int TYPE_PRINTED_BASIC = 0;
|
||||
public static final int TYPE_PRINTED_IMPROVED = 1;
|
||||
public static final int TYPE_PRINTED_ADVANCED = 2;
|
||||
public static final int TYPE_BASIC = 3;
|
||||
public static final int TYPE_IMPROVED = 4;
|
||||
public static final int TYPE_ADVANCED = 5;
|
||||
public static final int TYPE_PRINTED_SILICON = 6;
|
||||
import java.util.List;
|
||||
|
||||
public ItemProcessor()
|
||||
{
|
||||
super("processor");
|
||||
public class ItemProcessor extends ItemBase {
|
||||
public static final int TYPE_PRINTED_BASIC = 0;
|
||||
public static final int TYPE_PRINTED_IMPROVED = 1;
|
||||
public static final int TYPE_PRINTED_ADVANCED = 2;
|
||||
public static final int TYPE_BASIC = 3;
|
||||
public static final int TYPE_IMPROVED = 4;
|
||||
public static final int TYPE_ADVANCED = 5;
|
||||
public static final int TYPE_PRINTED_SILICON = 6;
|
||||
|
||||
setHasSubtypes(true);
|
||||
setMaxDamage(0);
|
||||
}
|
||||
public ItemProcessor() {
|
||||
super("processor");
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list)
|
||||
{
|
||||
for (int i = 0; i <= 6; ++i)
|
||||
{
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
setHasSubtypes(true);
|
||||
setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for (int i = 0; i <= 6; ++i) {
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|