Switch to IntelliJ

This commit is contained in:
Raoul Van den Berge
2016-03-24 18:28:44 +01:00
parent e7f588ea62
commit f419dcd080
275 changed files with 6466 additions and 8059 deletions

0
.gitignore vendored Normal file → Executable file
View File

0
LICENSE.md Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

0
build.gradle Normal file → Executable file
View File

0
gradlew vendored Normal file → Executable file
View File

0
gradlew.bat vendored Normal file → Executable file
View File

0
logo.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

0
screenshots/crafting_grid.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

0
screenshots/interface.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

0
screenshots/overview.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 558 KiB

After

Width:  |  Height:  |  Size: 558 KiB

0
screenshots/relays.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

0
screenshots/storage_block.png Normal file → Executable file
View 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
View File

0
src/main/java/cofh/api/energy/EnergyStorage.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/IEnergyConnection.java Normal file → Executable file
View File

View File

0
src/main/java/cofh/api/energy/IEnergyHandler.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/IEnergyProvider.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/IEnergyReceiver.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/IEnergyStorage.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/ItemEnergyContainer.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/TileEnergyHandler.java Normal file → Executable file
View File

0
src/main/java/cofh/api/energy/package-info.java Normal file → Executable file
View File

0
src/main/java/cofh/api/package-info.java Normal file → Executable file
View File

67
src/main/java/refinedstorage/RefinedStorage.java Normal file → Executable file
View File

@@ -16,49 +16,42 @@ import refinedstorage.item.ItemStorageCell;
import refinedstorage.proxy.CommonProxy; import refinedstorage.proxy.CommonProxy;
@Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION) @Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION)
public final class RefinedStorage public final class RefinedStorage {
{ public static final String ID = "refinedstorage";
public static final String ID = "refinedstorage"; public static final String VERSION = "0.5";
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) public static final CreativeTabs TAB = new CreativeTabs(ID) {
{ @Override
@Override public ItemStack getIconItemStack() {
public ItemStack getIconItemStack() return new ItemStack(RefinedStorageItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_1K);
{ }
return new ItemStack(RefinedStorageItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_1K);
}
@Override @Override
public Item getTabIconItem() public Item getTabIconItem() {
{ return null;
return null; }
} };
};
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy") @SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
public static CommonProxy PROXY; public static CommonProxy PROXY;
@Instance @Instance
public static RefinedStorage INSTANCE; public static RefinedStorage INSTANCE;
@EventHandler @EventHandler
public void preInit(FMLPreInitializationEvent e) public void preInit(FMLPreInitializationEvent e) {
{ PROXY.preInit(e);
PROXY.preInit(e); }
}
@EventHandler @EventHandler
public void init(FMLInitializationEvent e) public void init(FMLInitializationEvent e) {
{ PROXY.init(e);
PROXY.init(e); }
}
@EventHandler @EventHandler
public void postInit(FMLPostInitializationEvent e) public void postInit(FMLPostInitializationEvent e) {
{ PROXY.postInit(e);
PROXY.postInit(e); }
}
} }

35
src/main/java/refinedstorage/RefinedStorageBlocks.java Normal file → Executable file
View File

@@ -2,22 +2,21 @@ package refinedstorage;
import refinedstorage.block.*; import refinedstorage.block.*;
public final class RefinedStorageBlocks public final class RefinedStorageBlocks {
{ public static final BlockController CONTROLLER = new BlockController();
public static final BlockController CONTROLLER = new BlockController(); public static final BlockCable CABLE = new BlockCable();
public static final BlockCable CABLE = new BlockCable(); public static final BlockGrid GRID = new BlockGrid();
public static final BlockGrid GRID = new BlockGrid(); public static final BlockDrive DRIVE = new BlockDrive();
public static final BlockDrive DRIVE = new BlockDrive(); public static final BlockExternalStorage EXTERNAL_STORAGE = new BlockExternalStorage();
public static final BlockExternalStorage EXTERNAL_STORAGE = new BlockExternalStorage(); public static final BlockImporter IMPORTER = new BlockImporter();
public static final BlockImporter IMPORTER = new BlockImporter(); public static final BlockExporter EXPORTER = new BlockExporter();
public static final BlockExporter EXPORTER = new BlockExporter(); public static final BlockDetector DETECTOR = new BlockDetector();
public static final BlockDetector DETECTOR = new BlockDetector(); public static final BlockMachineCasing MACHINE_CASING = new BlockMachineCasing();
public static final BlockMachineCasing MACHINE_CASING = new BlockMachineCasing(); public static final BlockSolderer SOLDERER = new BlockSolderer();
public static final BlockSolderer SOLDERER = new BlockSolderer(); public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter();
public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter(); public static final BlockDestructor DESTRUCTOR = new BlockDestructor();
public static final BlockDestructor DESTRUCTOR = new BlockDestructor(); public static final BlockConstructor CONSTRUCTOR = new BlockConstructor();
public static final BlockConstructor CONSTRUCTOR = new BlockConstructor(); public static final BlockStorage STORAGE = new BlockStorage();
public static final BlockStorage STORAGE = new BlockStorage(); public static final BlockRelay RELAY = new BlockRelay();
public static final BlockRelay RELAY = new BlockRelay(); public static final BlockInterface INTERFACE = new BlockInterface();
public static final BlockInterface INTERFACE = new BlockInterface();
} }

29
src/main/java/refinedstorage/RefinedStorageGui.java Normal file → Executable file
View File

@@ -1,18 +1,17 @@
package refinedstorage; package refinedstorage;
public final class RefinedStorageGui public final class RefinedStorageGui {
{ public static final int CONTROLLER = 0;
public static final int CONTROLLER = 0; public static final int GRID = 1;
public static final int GRID = 1; public static final int DRIVE = 2;
public static final int DRIVE = 2; public static final int IMPORTER = 4;
public static final int IMPORTER = 4; public static final int EXPORTER = 5;
public static final int EXPORTER = 5; public static final int DETECTOR = 6;
public static final int DETECTOR = 6; public static final int SOLDERER = 7;
public static final int SOLDERER = 7; public static final int WIRELESS_TRANSMITTER = 8;
public static final int WIRELESS_TRANSMITTER = 8; public static final int DESTRUCTOR = 9;
public static final int DESTRUCTOR = 9; public static final int CONSTRUCTOR = 10;
public static final int CONSTRUCTOR = 10; public static final int STORAGE = 11;
public static final int STORAGE = 11; public static final int RELAY = 12;
public static final int RELAY = 12; public static final int INTERFACE = 13;
public static final int INTERFACE = 13;
} }

19
src/main/java/refinedstorage/RefinedStorageItems.java Normal file → Executable file
View File

@@ -2,14 +2,13 @@ package refinedstorage;
import refinedstorage.item.*; import refinedstorage.item.*;
public final class RefinedStorageItems public final class RefinedStorageItems {
{ public static final ItemStorageCell STORAGE_CELL = new ItemStorageCell();
public static final ItemStorageCell STORAGE_CELL = new ItemStorageCell(); public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid();
public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid(); public static final ItemWirelessGridPlate WIRELESS_GRID_PLATE = new ItemWirelessGridPlate();
public static final ItemWirelessGridPlate WIRELESS_GRID_PLATE = new ItemWirelessGridPlate(); public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = new ItemQuartzEnrichedIron();
public static final ItemQuartzEnrichedIron QUARTZ_ENRICHED_IRON = new ItemQuartzEnrichedIron(); public static final ItemCore CORE = new ItemCore();
public static final ItemCore CORE = new ItemCore(); public static final ItemSilicon SILICON = new ItemSilicon();
public static final ItemSilicon SILICON = new ItemSilicon(); public static final ItemProcessor PROCESSOR = new ItemProcessor();
public static final ItemProcessor PROCESSOR = new ItemProcessor(); public static final ItemStoragePart STORAGE_PART = new ItemStoragePart();
public static final ItemStoragePart STORAGE_PART = new ItemStoragePart();
} }

158
src/main/java/refinedstorage/block/BlockBase.java Normal file → Executable file
View File

@@ -18,117 +18,101 @@ import refinedstorage.RefinedStorage;
import refinedstorage.tile.TileBase; import refinedstorage.tile.TileBase;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public abstract class BlockBase extends Block public abstract class BlockBase extends Block {
{ public static final PropertyDirection DIRECTION = PropertyDirection.create("direction");
public static final PropertyDirection DIRECTION = PropertyDirection.create("direction");
private String name; private String name;
public BlockBase(String name) public BlockBase(String name) {
{ super(Material.rock);
super(Material.rock);
this.name = name; this.name = name;
setHardness(0.6F); setHardness(0.6F);
setCreativeTab(RefinedStorage.TAB); setCreativeTab(RefinedStorage.TAB);
} }
@Override @Override
public String getUnlocalizedName() public String getUnlocalizedName() {
{ return "block." + RefinedStorage.ID + ":" + name;
return "block." + RefinedStorage.ID + ":" + name; }
}
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return new BlockStateContainer(this, new IProperty[] {
{ DIRECTION,
DIRECTION, });
}); }
}
@Override @Override
public IBlockState getStateFromMeta(int meta) public IBlockState getStateFromMeta(int meta) {
{ return getDefaultState();
return getDefaultState(); }
}
@Override @Override
public int getMetaFromState(IBlockState state) public int getMetaFromState(IBlockState state) {
{ return 0;
return 0; }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ TileEntity tile = world.getTileEntity(pos);
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileBase) if (tile instanceof TileBase) {
{ return state.withProperty(DIRECTION, ((TileBase) tile).getDirection());
return state.withProperty(DIRECTION, ((TileBase) tile).getDirection()); }
}
return state; return state;
} }
@Override @Override
public int damageDropped(IBlockState state) public int damageDropped(IBlockState state) {
{ return getMetaFromState(state);
return getMetaFromState(state); }
}
@Override @Override
public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis) public boolean rotateBlock(World world, BlockPos pos, EnumFacing axis) {
{ TileEntity tile = world.getTileEntity(pos);
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileBase) if (tile instanceof TileBase) {
{ EnumFacing dir = ((TileBase) tile).getDirection();
EnumFacing dir = ((TileBase) tile).getDirection();
int newDir = dir.ordinal() + 1; int newDir = dir.ordinal() + 1;
if (newDir > EnumFacing.VALUES.length - 1) if (newDir > EnumFacing.VALUES.length - 1) {
{ newDir = 0;
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 @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) {
{ super.onBlockPlacedBy(world, pos, state, player, itemStack);
super.onBlockPlacedBy(world, pos, state, player, itemStack);
TileEntity tile = world.getTileEntity(pos); TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileBase) if (tile instanceof TileBase) {
{ ((TileBase) tile).setDirection(BlockPistonBase.getFacingFromEntity(pos, player));
((TileBase) tile).setDirection(BlockPistonBase.getFacingFromEntity(pos, player)); }
} }
}
@Override @Override
public void breakBlock(World world, BlockPos pos, IBlockState state) public void breakBlock(World world, BlockPos pos, IBlockState state) {
{ TileEntity tile = world.getTileEntity(pos);
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileBase && ((TileBase) tile).getDroppedInventory() != null) if (tile instanceof TileBase && ((TileBase) tile).getDroppedInventory() != null) {
{ InventoryUtils.dropInventory(world, ((TileBase) tile).getDroppedInventory(), pos.getX(), pos.getY(), pos.getZ());
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
View File

@@ -11,82 +11,72 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import refinedstorage.tile.TileCable; import refinedstorage.tile.TileCable;
public class BlockCable extends BlockBase public class BlockCable extends BlockBase {
{ public static final PropertyBool NORTH = PropertyBool.create("north");
public static final PropertyBool NORTH = PropertyBool.create("north"); public static final PropertyBool EAST = PropertyBool.create("east");
public static final PropertyBool EAST = PropertyBool.create("east"); public static final PropertyBool SOUTH = PropertyBool.create("south");
public static final PropertyBool SOUTH = PropertyBool.create("south"); public static final PropertyBool WEST = PropertyBool.create("west");
public static final PropertyBool WEST = PropertyBool.create("west"); public static final PropertyBool UP = PropertyBool.create("up");
public static final PropertyBool UP = PropertyBool.create("up"); public static final PropertyBool DOWN = PropertyBool.create("down");
public static final PropertyBool DOWN = PropertyBool.create("down");
public BlockCable() public BlockCable() {
{ super("cable");
super("cable"); }
}
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return new BlockStateContainer(this, new IProperty[] {
{ DIRECTION,
DIRECTION, NORTH,
NORTH, EAST,
EAST, SOUTH,
SOUTH, WEST,
WEST, UP,
UP, DOWN,
DOWN, });
}); }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ return super.getActualState(state, world, pos)
return super.getActualState(state, world, pos) .withProperty(NORTH, TileCable.hasConnectionWith(world, pos.north()))
.withProperty(NORTH, TileCable.hasConnectionWith(world, pos.north())) .withProperty(EAST, TileCable.hasConnectionWith(world, pos.east()))
.withProperty(EAST, TileCable.hasConnectionWith(world, pos.east())) .withProperty(SOUTH, TileCable.hasConnectionWith(world, pos.south()))
.withProperty(SOUTH, TileCable.hasConnectionWith(world, pos.south())) .withProperty(WEST, TileCable.hasConnectionWith(world, pos.west()))
.withProperty(WEST, TileCable.hasConnectionWith(world, pos.west())) .withProperty(UP, TileCable.hasConnectionWith(world, pos.up()))
.withProperty(UP, TileCable.hasConnectionWith(world, pos.up())) .withProperty(DOWN, TileCable.hasConnectionWith(world, pos.down()));
.withProperty(DOWN, TileCable.hasConnectionWith(world, pos.down())); }
}
@Override @Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
{ float pixel = 1F / 16F;
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 @Override
public AxisAlignedBB getCollisionBoundingBox(IBlockState state, World world, BlockPos pos) public AxisAlignedBB getCollisionBoundingBox(IBlockState state, World world, BlockPos pos) {
{ return getBoundingBox(state, world, pos);
return getBoundingBox(state, world, pos); }
}
@Override @Override
public boolean hasTileEntity(IBlockState state) public boolean hasTileEntity(IBlockState state) {
{ return true;
return true; }
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileCable();
return new TileCable(); }
}
@Override @Override
public boolean isOpaqueCube(IBlockState state) public boolean isOpaqueCube(IBlockState state) {
{ return false;
return false; }
}
@Override @Override
public boolean isFullCube(IBlockState state) public boolean isFullCube(IBlockState state) {
{ return false;
return false; }
}
} }

View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileConstructor; import refinedstorage.tile.TileConstructor;
public class BlockConstructor extends BlockMachine public class BlockConstructor extends BlockMachine {
{ public BlockConstructor() {
public BlockConstructor() super("constructor");
{ }
super("constructor");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileConstructor();
return new TileConstructor(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONSTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -1,6 +1,5 @@
package refinedstorage.block; package refinedstorage.block;
import java.util.List;
import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@@ -20,95 +19,82 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileController; import refinedstorage.tile.TileController;
public class BlockController extends BlockBase import java.util.List;
{
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumControllerType.class);
public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8);
public BlockController() public class BlockController extends BlockBase {
{ public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumControllerType.class);
super("controller"); public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8);
}
@Override public BlockController() {
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) super("controller");
{ }
for (int i = 0; i <= 1; i++)
{
subItems.add(new ItemStack(item, 1, i));
}
}
@Override @Override
protected BlockStateContainer createBlockState() public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
{ for (int i = 0; i <= 1; i++) {
return new BlockStateContainer(this, new IProperty[] subItems.add(new ItemStack(item, 1, i));
{ }
DIRECTION, }
TYPE,
ENERGY
});
}
@Override @Override
public IBlockState getStateFromMeta(int meta) protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumControllerType.NORMAL : EnumControllerType.CREATIVE); {
} DIRECTION,
TYPE,
ENERGY
});
}
@Override @Override
public int getMetaFromState(IBlockState state) public IBlockState getStateFromMeta(int meta) {
{ return getDefaultState().withProperty(TYPE, meta == 0 ? EnumControllerType.NORMAL : EnumControllerType.CREATIVE);
return state.getValue(TYPE) == EnumControllerType.NORMAL ? 0 : 1; }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public int getMetaFromState(IBlockState state) {
{ return state.getValue(TYPE) == EnumControllerType.NORMAL ? 0 : 1;
return super.getActualState(state, world, pos) }
.withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(8));
}
@Override @Override
public boolean hasTileEntity(IBlockState state) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ return super.getActualState(state, world, pos)
return true; .withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(8));
} }
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public boolean hasTileEntity(IBlockState state) {
{ return true;
return new TileController(); }
}
@Override @Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileController();
if (!world.isRemote) }
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONTROLLER, world, pos.getX(), pos.getY(), pos.getZ());
}
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 return true;
public void breakBlock(World world, BlockPos pos, IBlockState state) }
{
((TileController) world.getTileEntity(pos)).onDestroyed();
super.breakBlock(world, pos, state); @Override
} public void breakBlock(World world, BlockPos pos, IBlockState state) {
((TileController) world.getTileEntity(pos)).onDestroyed();
@Override super.breakBlock(world, pos, state);
public boolean hasComparatorInputOverride(IBlockState state) }
{
return true;
}
@Override @Override
public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos) public boolean hasComparatorInputOverride(IBlockState state) {
{ return true;
return ((TileController) world.getTileEntity(pos)).getEnergyScaled(15); }
}
@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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDestructor; import refinedstorage.tile.TileDestructor;
public class BlockDestructor extends BlockMachine public class BlockDestructor extends BlockMachine {
{ public BlockDestructor() {
public BlockDestructor() super("destructor");
{ }
super("destructor");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileDestructor();
return new TileDestructor(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DESTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -16,72 +16,61 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDetector; import refinedstorage.tile.TileDetector;
public class BlockDetector extends BlockMachine public class BlockDetector extends BlockMachine {
{ public static final PropertyBool POWERED = PropertyBool.create("powered");
public static final PropertyBool POWERED = PropertyBool.create("powered");
public BlockDetector() public BlockDetector() {
{ super("detector");
super("detector"); }
}
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return new BlockStateContainer(this, new IProperty[] {
{ DIRECTION,
DIRECTION, CONNECTED,
CONNECTED, POWERED
POWERED });
}); }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ return super.getActualState(state, world, pos)
return super.getActualState(state, world, pos) .withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered()); }
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileDetector();
return new TileDetector(); }
}
@Override @Override
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
{ TileDetector detector = (TileDetector) world.getTileEntity(pos);
TileDetector detector = (TileDetector) world.getTileEntity(pos);
if (detector.getDirection() == side.getOpposite()) if (detector.getDirection() == side.getOpposite()) {
{ return detector.isPowered() ? 15 : 0;
return detector.isPowered() ? 15 : 0; }
}
return 0; return 0;
} }
@Override @Override
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
{ return getWeakPower(state, world, pos, side);
return getWeakPower(state, world, pos, side); }
}
@Override @Override
public boolean canProvidePower(IBlockState state) public boolean canProvidePower(IBlockState state) {
{ return true;
return true; }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDrive; import refinedstorage.tile.TileDrive;
public class BlockDrive extends BlockMachine public class BlockDrive extends BlockMachine {
{ public BlockDrive() {
public BlockDrive() super("drive");
{ }
super("drive");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileDrive();
return new TileDrive(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileExporter; import refinedstorage.tile.TileExporter;
public class BlockExporter extends BlockMachine public class BlockExporter extends BlockMachine {
{ public BlockExporter() {
public BlockExporter() super("exporter");
{ }
super("exporter");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileExporter();
return new TileExporter(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
{ }
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true; return true;
} }
} }

View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileExternalStorage; import refinedstorage.tile.TileExternalStorage;
public class BlockExternalStorage extends BlockMachine public class BlockExternalStorage extends BlockMachine {
{ public BlockExternalStorage() {
public BlockExternalStorage() super("external_storage");
{ }
super("external_storage");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileExternalStorage();
return new TileExternalStorage(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -1,6 +1,5 @@
package refinedstorage.block; package refinedstorage.block;
import java.util.List;
import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.BlockStateContainer;
@@ -18,61 +17,53 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class BlockGrid extends BlockMachine import java.util.List;
{
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
public BlockGrid() public class BlockGrid extends BlockMachine {
{ public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumGridType.class);
super("grid");
}
@Override public BlockGrid() {
public TileEntity createTileEntity(World world, IBlockState state) super("grid");
{ }
return new TileGrid();
}
@Override @Override
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileGrid();
for (int i = 0; i <= 1; i++) }
{
subItems.add(new ItemStack(item, 1, i));
}
}
@Override @Override
protected BlockStateContainer createBlockState() public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
{ for (int i = 0; i <= 1; i++) {
return new BlockStateContainer(this, new IProperty[] subItems.add(new ItemStack(item, 1, i));
{ }
DIRECTION, }
CONNECTED,
TYPE
});
}
@Override @Override
public IBlockState getStateFromMeta(int meta) protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : EnumGridType.CRAFTING); {
} DIRECTION,
CONNECTED,
TYPE
});
}
@Override @Override
public int getMetaFromState(IBlockState state) public IBlockState getStateFromMeta(int meta) {
{ return getDefaultState().withProperty(TYPE, meta == 0 ? EnumGridType.NORMAL : EnumGridType.CRAFTING);
return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : 1; }
}
@Override @Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) public int getMetaFromState(IBlockState state) {
{ return state.getValue(TYPE) == EnumGridType.NORMAL ? 0 : 1;
if (!world.isRemote) }
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.GRID, world, pos.getX(), pos.getY(), pos.getZ());
}
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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileImporter; import refinedstorage.tile.TileImporter;
public class BlockImporter extends BlockMachine public class BlockImporter extends BlockMachine {
{ public BlockImporter() {
public BlockImporter() super("importer");
{ }
super("importer");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileImporter();
return new TileImporter(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.IMPORTER, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileInterface; import refinedstorage.tile.TileInterface;
public class BlockInterface extends BlockMachine public class BlockInterface extends BlockMachine {
{ public BlockInterface() {
public BlockInterface() super("interface");
{ }
super("interface");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileInterface();
return new TileInterface(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -8,35 +8,30 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import refinedstorage.tile.TileMachine; import refinedstorage.tile.TileMachine;
public abstract class BlockMachine extends BlockBase public abstract class BlockMachine extends BlockBase {
{ public static final PropertyBool CONNECTED = PropertyBool.create("connected");
public static final PropertyBool CONNECTED = PropertyBool.create("connected");
public BlockMachine(String name) public BlockMachine(String name) {
{ super(name);
super(name); }
}
@Override @Override
public boolean hasTileEntity(IBlockState state) public boolean hasTileEntity(IBlockState state) {
{ return true;
return true; }
}
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return new BlockStateContainer(this, new IProperty[] {
{ DIRECTION,
DIRECTION, CONNECTED
CONNECTED });
}); }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ return super.getActualState(state, world, pos)
return super.getActualState(state, world, pos) .withProperty(CONNECTED, ((TileMachine) world.getTileEntity(pos)).isConnected());
.withProperty(CONNECTED, ((TileMachine) world.getTileEntity(pos)).isConnected()); }
}
} }

View File

@@ -1,9 +1,7 @@
package refinedstorage.block; package refinedstorage.block;
public class BlockMachineCasing extends BlockBase public class BlockMachineCasing extends BlockBase {
{ public BlockMachineCasing() {
public BlockMachineCasing() super("machine_casing");
{ }
super("machine_casing");
}
} }

35
src/main/java/refinedstorage/block/BlockRelay.java Normal file → Executable file
View File

@@ -12,27 +12,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileRelay; import refinedstorage.tile.TileRelay;
public class BlockRelay extends BlockMachine public class BlockRelay extends BlockMachine {
{ public BlockRelay() {
public BlockRelay() super("relay");
{ }
super("relay");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileRelay();
return new TileRelay(); }
}
@Override @Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.RELAY, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileSolderer; import refinedstorage.tile.TileSolderer;
public class BlockSolderer extends BlockMachine public class BlockSolderer extends BlockMachine {
{ public BlockSolderer() {
public BlockSolderer() super("solderer");
{ }
super("solderer");
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileSolderer();
return new TileSolderer(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
{ }
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
View File

@@ -1,7 +1,5 @@
package refinedstorage.block; package refinedstorage.block;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.BlockStateContainer;
@@ -24,111 +22,98 @@ import refinedstorage.RefinedStorageGui;
import refinedstorage.item.ItemBlockStorage; import refinedstorage.item.ItemBlockStorage;
import refinedstorage.tile.TileStorage; import refinedstorage.tile.TileStorage;
public class BlockStorage extends BlockMachine import java.util.ArrayList;
{ import java.util.List;
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
public BlockStorage() public class BlockStorage extends BlockMachine {
{ public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumStorageType.class);
super("storage");
}
@Override public BlockStorage() {
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) super("storage");
{ }
for (int i = 0; i <= 4; i++)
{
subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
}
}
@Override @Override
protected BlockStateContainer createBlockState() public void getSubBlocks(Item item, CreativeTabs tab, List subItems) {
{ for (int i = 0; i <= 4; i++) {
return new BlockStateContainer(this, new IProperty[] subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
{ }
DIRECTION, }
CONNECTED,
TYPE
});
}
@Override @Override
public IBlockState getStateFromMeta(int meta) protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return getDefaultState().withProperty(TYPE, EnumStorageType.getById(meta)); {
} DIRECTION,
CONNECTED,
TYPE
});
}
@Override @Override
public int getMetaFromState(IBlockState state) public IBlockState getStateFromMeta(int meta) {
{ return getDefaultState().withProperty(TYPE, EnumStorageType.getById(meta));
return ((EnumStorageType) state.getValue(TYPE)).getId(); }
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public int getMetaFromState(IBlockState state) {
{ return ((EnumStorageType) state.getValue(TYPE)).getId();
return new TileStorage(); }
}
@Override @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) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileStorage();
if (!world.isRemote) }
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
}
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 return true;
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) }
{
super.onBlockPlacedBy(world, pos, state, player, stack);
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)) NBTTagCompound tag = stack.getTagCompound();
{
((TileStorage) world.getTileEntity(pos)).setStorageTag((NBTTagCompound) tag.getTag(TileStorage.NBT_STORAGE));
}
}
@Override if (tag != null && tag.hasKey(TileStorage.NBT_STORAGE)) {
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) ((TileStorage) world.getTileEntity(pos)).setStorageTag((NBTTagCompound) tag.getTag(TileStorage.NBT_STORAGE));
{ }
List<ItemStack> drops = new ArrayList<ItemStack>(); }
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 return drops;
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) }
{
if (willHarvest)
{
return true;
}
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 return super.removedByPlayer(state, world, pos, player, willHarvest);
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); @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);
}
} }

View File

@@ -16,47 +16,40 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui; import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileWirelessTransmitter; import refinedstorage.tile.TileWirelessTransmitter;
public class BlockWirelessTransmitter extends BlockMachine public class BlockWirelessTransmitter extends BlockMachine {
{ public static final PropertyBool WORKING = PropertyBool.create("working");
public static final PropertyBool WORKING = PropertyBool.create("working");
public BlockWirelessTransmitter() public BlockWirelessTransmitter() {
{ super("wireless_transmitter");
super("wireless_transmitter"); }
}
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState() {
{ return new BlockStateContainer(this, new IProperty[]
return new BlockStateContainer(this, new IProperty[] {
{ DIRECTION,
DIRECTION, CONNECTED,
CONNECTED, WORKING
WORKING });
}); }
}
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
{ return super.getActualState(state, world, pos)
return super.getActualState(state, world, pos) .withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking());
.withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking()); }
}
@Override @Override
public TileEntity createTileEntity(World world, IBlockState state) public TileEntity createTileEntity(World world, IBlockState state) {
{ return new TileWirelessTransmitter();
return new TileWirelessTransmitter(); }
}
@Override @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) 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) {
if (!world.isRemote) player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
{ }
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true; return true;
} }
} }

View File

@@ -2,34 +2,29 @@ package refinedstorage.block;
import net.minecraft.util.IStringSerializable; import net.minecraft.util.IStringSerializable;
public enum EnumControllerType implements IStringSerializable public enum EnumControllerType implements IStringSerializable {
{ NORMAL(0, "normal"),
NORMAL(0, "normal"), CREATIVE(1, "creative");
CREATIVE(1, "creative");
private int id; private int id;
private String name; private String name;
EnumControllerType(int id, String name) EnumControllerType(int id, String name) {
{ this.id = id;
this.id = id; this.name = name;
this.name = name; }
}
@Override @Override
public String getName() public String getName() {
{ return name;
return name; }
}
public int getId() public int getId() {
{ return id;
return id; }
}
@Override @Override
public String toString() public String toString() {
{ return name;
return name; }
}
} }

45
src/main/java/refinedstorage/block/EnumGridType.java Normal file → Executable file
View File

@@ -2,35 +2,30 @@ package refinedstorage.block;
import net.minecraft.util.IStringSerializable; import net.minecraft.util.IStringSerializable;
public enum EnumGridType implements IStringSerializable public enum EnumGridType implements IStringSerializable {
{ NORMAL(0, "normal"),
NORMAL(0, "normal"), CRAFTING(1, "crafting");
CRAFTING(1, "crafting");
private int id; private int id;
private String name; private String name;
EnumGridType(int id, String name) EnumGridType(int id, String name) {
{ this.id = id;
this.id = id; this.name = name;
this.name = name; }
}
@Override @Override
public String getName() public String getName() {
{ return name;
return name; }
}
public int getId() public int getId() {
{ return id;
return id; }
}
@Override @Override
public String toString() public String toString() {
{ return name;
return name; }
}
} }

81
src/main/java/refinedstorage/block/EnumStorageType.java Normal file → Executable file
View File

@@ -2,57 +2,48 @@ package refinedstorage.block;
import net.minecraft.util.IStringSerializable; import net.minecraft.util.IStringSerializable;
public enum EnumStorageType implements IStringSerializable public enum EnumStorageType implements IStringSerializable {
{ TYPE_1K(0, 1000, "1k"),
TYPE_1K(0, 1000, "1k"), TYPE_4K(1, 4000, "4k"),
TYPE_4K(1, 4000, "4k"), TYPE_16K(2, 16000, "16k"),
TYPE_16K(2, 16000, "16k"), TYPE_64K(3, 64000, "64k"),
TYPE_64K(3, 64000, "64k"), TYPE_CREATIVE(4, -1, "creative");
TYPE_CREATIVE(4, -1, "creative");
private int id; private int id;
private int capacity; private int capacity;
private String name; private String name;
EnumStorageType(int id, int capacity, String name) EnumStorageType(int id, int capacity, String name) {
{ this.id = id;
this.id = id; this.capacity = capacity;
this.capacity = capacity; this.name = name;
this.name = name; }
}
@Override @Override
public String getName() public String getName() {
{ return name;
return name; }
}
public int getId() public int getId() {
{ return id;
return id; }
}
public int getCapacity() public int getCapacity() {
{ return capacity;
return capacity; }
}
@Override @Override
public String toString() public String toString() {
{ return name;
return name; }
}
public static EnumStorageType getById(int id) public static EnumStorageType getById(int id) {
{ for (EnumStorageType type : EnumStorageType.values()) {
for (EnumStorageType type : EnumStorageType.values()) if (type.getId() == id) {
{ return type;
if (type.getId() == id) }
{ }
return type;
}
}
return null; return null;
} }
} }

196
src/main/java/refinedstorage/container/ContainerBase.java Normal file → Executable file
View File

@@ -1,7 +1,5 @@
package refinedstorage.container; package refinedstorage.container;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ClickType; import net.minecraft.inventory.ClickType;
@@ -11,141 +9,113 @@ import net.minecraft.item.ItemStack;
import refinedstorage.container.slot.SlotDisabled; import refinedstorage.container.slot.SlotDisabled;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
public abstract class ContainerBase extends Container import java.util.ArrayList;
{ import java.util.List;
private EntityPlayer player;
private List<Slot> playerInventorySlots = new ArrayList<Slot>(); public abstract class ContainerBase extends Container {
private EntityPlayer player;
public ContainerBase(EntityPlayer player) private List<Slot> playerInventorySlots = new ArrayList<Slot>();
{
this.player = player;
}
public EntityPlayer getPlayer() public ContainerBase(EntityPlayer player) {
{ this.player = player;
return player; }
}
protected void addPlayerInventory(int xInventory, int yInventory) public EntityPlayer getPlayer() {
{ return player;
int id = 0; }
for (int i = 0; i < 9; i++) protected void addPlayerInventory(int xInventory, int yInventory) {
{ int id = 0;
Slot slot = new Slot(player.inventory, id, xInventory + i * 18, yInventory + 4 + (3 * 18));
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++) id++;
{ }
for (int x = 0; x < 9; x++)
{
Slot slot = new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18);
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 id++;
public ItemStack func_184996_a(int id, int clickedButton, ClickType clickType, EntityPlayer player) }
{ }
Slot slot = id >= 0 ? getSlot(id) : null; }
if (slot instanceof SlotSpecimen) @Override
{ public ItemStack func_184996_a(int id, int clickedButton, ClickType clickType, EntityPlayer player) {
if (((SlotSpecimen) slot).isSizeAllowed()) Slot slot = id >= 0 ? getSlot(id) : null;
{
if (player.inventory.getItemStack() != null)
{
int amount = player.inventory.getItemStack().stackSize;
if (clickedButton == 1) if (slot instanceof SlotSpecimen) {
{ if (((SlotSpecimen) slot).isSizeAllowed()) {
amount = 1; if (player.inventory.getItemStack() != null) {
} int amount = player.inventory.getItemStack().stackSize;
ItemStack toPut = player.inventory.getItemStack().copy(); if (clickedButton == 1) {
toPut.stackSize = amount; amount = 1;
}
slot.putStack(toPut); ItemStack toPut = player.inventory.getItemStack().copy();
} toPut.stackSize = amount;
else if (slot.getStack() != null)
{
if (GuiScreen.isShiftKeyDown())
{
slot.putStack(null);
}
else
{
int amount = slot.getStack().stackSize;
if (clickedButton == 0) slot.putStack(toPut);
{ } else if (slot.getStack() != null) {
amount++; if (GuiScreen.isShiftKeyDown()) {
slot.putStack(null);
} else {
int amount = slot.getStack().stackSize;
if (amount > 64) if (clickedButton == 0) {
{ amount++;
amount = 64;
}
}
else if (clickedButton == 1)
{
amount--;
if (amount < 1) if (amount > 64) {
{ amount = 64;
amount = 1; }
} } else if (clickedButton == 1) {
} amount--;
slot.getStack().stackSize = amount; if (amount < 1) {
} amount = 1;
} }
} }
else if (player.inventory.getItemStack() == null)
{
slot.putStack(null);
}
else if (slot.isItemValid(player.inventory.getItemStack()))
{
slot.putStack(player.inventory.getItemStack().copy());
}
return player.inventory.getItemStack(); slot.getStack().stackSize = amount;
} }
else if (slot instanceof SlotDisabled) }
{ } else if (player.inventory.getItemStack() == null) {
return 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 return super.func_184996_a(id, clickedButton, clickType, player);
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) }
{
return null;
}
@Override @Override
public boolean canInteractWith(EntityPlayer player) public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
{ return null;
return true; }
}
public List<Slot> getPlayerInventorySlots() @Override
{ public boolean canInteractWith(EntityPlayer player) {
return playerInventorySlots; return true;
} }
public List<Slot> getPlayerInventorySlots() {
return playerInventorySlots;
}
} }

View File

@@ -7,28 +7,23 @@ import net.minecraft.item.ItemStack;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileConstructor; import refinedstorage.tile.TileConstructor;
public class ContainerConstructor extends ContainerBase public class ContainerConstructor extends ContainerBase {
{ class SlotConstructor extends SlotSpecimen {
class SlotConstructor extends SlotSpecimen public SlotConstructor(IInventory inventory, int id, int x, int y) {
{ super(inventory, id, x, y, false);
public SlotConstructor(IInventory inventory, int id, int x, int y) }
{
super(inventory, id, x, y, false);
}
@Override @Override
public boolean isItemValid(ItemStack stack) public boolean isItemValid(ItemStack stack) {
{ return stack.getItem() instanceof ItemBlock;
return stack.getItem() instanceof ItemBlock; }
} }
}
public ContainerConstructor(EntityPlayer player, TileConstructor constructor) public ContainerConstructor(EntityPlayer player, TileConstructor constructor) {
{ super(player);
super(player);
addSlotToContainer(new SlotConstructor(constructor.getInventory(), 0, 80, 20)); addSlotToContainer(new SlotConstructor(constructor.getInventory(), 0, 80, 20));
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
} }

View File

@@ -2,12 +2,10 @@ package refinedstorage.container;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
public class ContainerController extends ContainerBase public class ContainerController extends ContainerBase {
{ public ContainerController(EntityPlayer player) {
public ContainerController(EntityPlayer player) super(player);
{
super(player);
addPlayerInventory(8, 99); addPlayerInventory(8, 99);
} }
} }

View File

@@ -2,12 +2,10 @@ package refinedstorage.container;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
public class ContainerDestructor extends ContainerBase public class ContainerDestructor extends ContainerBase {
{ public ContainerDestructor(EntityPlayer player) {
public ContainerDestructor(EntityPlayer player) super(player);
{
super(player);
addPlayerInventory(8, 50); addPlayerInventory(8, 50);
} }
} }

View File

@@ -4,14 +4,12 @@ import net.minecraft.entity.player.EntityPlayer;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileDetector; import refinedstorage.tile.TileDetector;
public class ContainerDetector extends ContainerBase public class ContainerDetector extends ContainerBase {
{ public ContainerDetector(EntityPlayer player, TileDetector detector) {
public ContainerDetector(EntityPlayer player, TileDetector detector) super(player);
{
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);
} }
} }

View File

@@ -6,20 +6,16 @@ import refinedstorage.container.slot.BasicItemValidator;
import refinedstorage.container.slot.SlotFiltered; import refinedstorage.container.slot.SlotFiltered;
import refinedstorage.tile.TileDrive; import refinedstorage.tile.TileDrive;
public class ContainerDrive extends ContainerStorage public class ContainerDrive extends ContainerStorage {
{ public ContainerDrive(EntityPlayer player, TileDrive drive) {
public ContainerDrive(EntityPlayer player, TileDrive drive) super(player, drive.getInventory());
{
super(player, drive.getInventory());
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i) {
{ addSlotToContainer(new SlotFiltered(drive, i, 98 + (i * 18), 78, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
addSlotToContainer(new SlotFiltered(drive, i, 98 + (i * 18), 78, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL))); }
}
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i) {
{ addSlotToContainer(new SlotFiltered(drive, 4 + i, 98 + (i * 18), 96, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL)));
addSlotToContainer(new SlotFiltered(drive, 4 + i, 98 + (i * 18), 96, new BasicItemValidator(RefinedStorageItems.STORAGE_CELL))); }
} }
}
} }

View File

@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileExporter; import refinedstorage.tile.TileExporter;
public class ContainerExporter extends ContainerBase public class ContainerExporter extends ContainerBase {
{ public ContainerExporter(EntityPlayer player, TileExporter exporter) {
public ContainerExporter(EntityPlayer player, TileExporter exporter) super(player);
{
super(player);
for (int i = 0; i < 9; ++i) for (int i = 0; i < 9; ++i) {
{ addSlotToContainer(new SlotSpecimen(exporter.getInventory(), i, 8 + (18 * i), 20, false));
addSlotToContainer(new SlotSpecimen(exporter.getInventory(), i, 8 + (18 * i), 20, false)); }
}
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
} }

View File

@@ -6,37 +6,32 @@ import refinedstorage.block.EnumGridType;
import refinedstorage.container.slot.SlotGridCraftingResult; import refinedstorage.container.slot.SlotGridCraftingResult;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class ContainerGrid extends ContainerBase public class ContainerGrid extends ContainerBase {
{ private TileGrid grid;
private TileGrid grid;
public ContainerGrid(EntityPlayer player, TileGrid grid) public ContainerGrid(EntityPlayer player, TileGrid grid) {
{ super(player);
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) if (grid.getType() == EnumGridType.CRAFTING) {
{ int x = 25;
int x = 25; int y = 106;
int y = 106;
for (int i = 0; i < 9; ++i) for (int i = 0; i < 9; ++i) {
{ addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
x += 18; x += 18;
if ((i + 1) % 3 == 0) if ((i + 1) % 3 == 0) {
{ y += 18;
y += 18; x = 25;
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));
} }
} }
} }

View File

@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileImporter; import refinedstorage.tile.TileImporter;
public class ContainerImporter extends ContainerBase public class ContainerImporter extends ContainerBase {
{ public ContainerImporter(EntityPlayer player, TileImporter importer) {
public ContainerImporter(EntityPlayer player, TileImporter importer) super(player);
{
super(player);
for (int i = 0; i < 9; ++i) for (int i = 0; i < 9; ++i) {
{ addSlotToContainer(new SlotSpecimen(importer.getInventory(), i, 8 + (18 * i), 20, false));
addSlotToContainer(new SlotSpecimen(importer.getInventory(), i, 8 + (18 * i), 20, false)); }
}
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
} }

View File

@@ -7,63 +7,49 @@ import refinedstorage.container.slot.SlotOutput;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileInterface; import refinedstorage.tile.TileInterface;
public class ContainerInterface extends ContainerBase public class ContainerInterface extends ContainerBase {
{ public ContainerInterface(EntityPlayer player, TileInterface tile) {
public ContainerInterface(EntityPlayer player, TileInterface tile) super(player);
{
super(player);
for (int i = 0; i < 9; ++i) for (int i = 0; i < 9; ++i) {
{ addSlotToContainer(new Slot(tile, i, 8 + (18 * i), 20));
addSlotToContainer(new Slot(tile, i, 8 + (18 * i), 20)); }
}
for (int i = 9; i < 18; ++i) for (int i = 9; i < 18; ++i) {
{ addSlotToContainer(new SlotSpecimen(tile, i, 8 + (18 * (i - 9)), 54, true));
addSlotToContainer(new SlotSpecimen(tile, i, 8 + (18 * (i - 9)), 54, true)); }
}
for (int i = 18; i < 27; ++i) for (int i = 18; i < 27; ++i) {
{ addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100));
addSlotToContainer(new SlotOutput(tile, i, 8 + (18 * (i - 18)), 100)); }
}
addPlayerInventory(8, 136); addPlayerInventory(8, 136);
} }
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) public ItemStack transferStackInSlot(EntityPlayer player, int index) {
{ ItemStack stack = null;
ItemStack stack = null;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) if (slot != null && slot.getHasStack()) {
{ stack = slot.getStack().copy();
stack = slot.getStack().copy();
if (index < 9) if (index < 9) {
{ if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) {
if (!mergeItemStack(stack, 9, inventorySlots.size(), true)) return null;
{ }
return null; } else if (!mergeItemStack(stack, 0, 9, false)) {
} return null;
} }
else if (!mergeItemStack(stack, 0, 9, false))
{
return null;
}
if (stack.stackSize == 0) if (stack.stackSize == 0) {
{ slot.putStack(null);
slot.putStack(null); } else {
} slot.onSlotChanged();
else }
{ }
slot.onSlotChanged();
}
}
return stack; return stack;
} }
} }

View File

@@ -2,12 +2,10 @@ package refinedstorage.container;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
public class ContainerRelay extends ContainerBase public class ContainerRelay extends ContainerBase {
{ public ContainerRelay(EntityPlayer player) {
public ContainerRelay(EntityPlayer player) super(player);
{
super(player);
addPlayerInventory(8, 50); addPlayerInventory(8, 50);
} }
} }

View File

@@ -6,60 +6,48 @@ import net.minecraft.item.ItemStack;
import refinedstorage.container.slot.SlotOutput; import refinedstorage.container.slot.SlotOutput;
import refinedstorage.tile.TileSolderer; import refinedstorage.tile.TileSolderer;
public class ContainerSolderer extends ContainerBase public class ContainerSolderer extends ContainerBase {
{ public ContainerSolderer(EntityPlayer player, TileSolderer solderer) {
public ContainerSolderer(EntityPlayer player, TileSolderer solderer) super(player);
{
super(player);
int x = 44; int x = 44;
int y = 20; int y = 20;
for (int i = 0; i < 3; ++i) for (int i = 0; i < 3; ++i) {
{ addSlotToContainer(new Slot(solderer, i, x, y));
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 @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) public ItemStack transferStackInSlot(EntityPlayer player, int index) {
{ ItemStack stack = null;
ItemStack stack = null;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) if (slot != null && slot.getHasStack()) {
{ stack = slot.getStack().copy();
stack = slot.getStack().copy();
if (index < 3) if (index < 3) {
{ if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) {
if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) return null;
{ }
return null; } else if (!mergeItemStack(stack, 0, 3, false)) {
} return null;
} }
else if (!mergeItemStack(stack, 0, 3, false))
{
return null;
}
if (stack.stackSize == 0) if (stack.stackSize == 0) {
{ slot.putStack(null);
slot.putStack(null); } else {
} slot.onSlotChanged();
else }
{ }
slot.onSlotChanged();
}
}
return stack; return stack;
} }
} }

View File

@@ -4,17 +4,14 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import refinedstorage.container.slot.SlotSpecimen; import refinedstorage.container.slot.SlotSpecimen;
public class ContainerStorage extends ContainerBase public class ContainerStorage extends ContainerBase {
{ public ContainerStorage(EntityPlayer player, IInventory inventory) {
public ContainerStorage(EntityPlayer player, IInventory inventory) super(player);
{
super(player);
for (int i = 0; i < 9; ++i) for (int i = 0; i < 9; ++i) {
{ addSlotToContainer(new SlotSpecimen(inventory, i, 8 + (18 * i), 20, false));
addSlotToContainer(new SlotSpecimen(inventory, i, 8 + (18 * i), 20, false)); }
}
addPlayerInventory(8, 129); addPlayerInventory(8, 129);
} }
} }

View File

@@ -10,52 +10,41 @@ import refinedstorage.container.slot.SlotFiltered;
import refinedstorage.container.slot.SlotOutput; import refinedstorage.container.slot.SlotOutput;
import refinedstorage.tile.TileWirelessTransmitter; import refinedstorage.tile.TileWirelessTransmitter;
public class ContainerWirelessTransmitter extends ContainerBase public class ContainerWirelessTransmitter extends ContainerBase {
{ public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) {
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) super(player);
{
super(player);
addSlotToContainer(new SlotFiltered(wirelessTransmitter, 0, 8, 20, new BasicItemValidator(Items.ender_pearl))); 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 SlotFiltered(wirelessTransmitter, 1, 101, 20, new BasicItemValidator(RefinedStorageItems.WIRELESS_GRID)));
addSlotToContainer(new SlotOutput(wirelessTransmitter, 2, 152, 20)); addSlotToContainer(new SlotOutput(wirelessTransmitter, 2, 152, 20));
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) public ItemStack transferStackInSlot(EntityPlayer player, int index) {
{ ItemStack stack = null;
ItemStack stack = null;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) if (slot != null && slot.getHasStack()) {
{ stack = slot.getStack().copy();
stack = slot.getStack().copy();
if (index < 3) if (index < 3) {
{ if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) {
if (!mergeItemStack(stack, 3, inventorySlots.size(), true)) return null;
{ }
return null; } else if (!mergeItemStack(stack, 0, 3, false)) {
} return null;
} }
else if (!mergeItemStack(stack, 0, 3, false))
{
return null;
}
if (stack.stackSize == 0) if (stack.stackSize == 0) {
{ slot.putStack(null);
slot.putStack(null); } else {
} slot.onSlotChanged();
else }
{ }
slot.onSlotChanged();
}
}
return stack; return stack;
} }
} }

View File

@@ -3,18 +3,15 @@ package refinedstorage.container.slot;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class BasicItemValidator implements IItemValidator public class BasicItemValidator implements IItemValidator {
{ private Item item;
private Item item;
public BasicItemValidator(Item item) public BasicItemValidator(Item item) {
{ this.item = item;
this.item = item; }
}
@Override @Override
public boolean isValid(ItemStack stack) public boolean isValid(ItemStack stack) {
{ return item == stack.getItem();
return item == stack.getItem(); }
}
} }

View File

@@ -2,7 +2,6 @@ package refinedstorage.container.slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IItemValidator public interface IItemValidator {
{ public boolean isValid(ItemStack stack);
public boolean isValid(ItemStack stack);
} }

View File

@@ -4,16 +4,13 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class SlotDisabled extends Slot public class SlotDisabled extends Slot {
{ public SlotDisabled(IInventory inventory, int id, int x, int y) {
public SlotDisabled(IInventory inventory, int id, int x, int y) super(inventory, id, x, y);
{ }
super(inventory, id, x, y);
}
@Override @Override
public boolean isItemValid(ItemStack stack) public boolean isItemValid(ItemStack stack) {
{ return false;
return false; }
}
} }

View File

@@ -4,20 +4,17 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class SlotFiltered extends Slot public class SlotFiltered extends Slot {
{ private IItemValidator validator;
private IItemValidator validator;
public SlotFiltered(IInventory inventory, int id, int x, int y, IItemValidator validator) public SlotFiltered(IInventory inventory, int id, int x, int y, IItemValidator validator) {
{ super(inventory, id, x, y);
super(inventory, id, x, y);
this.validator = validator; this.validator = validator;
} }
@Override @Override
public boolean isItemValid(ItemStack item) public boolean isItemValid(ItemStack item) {
{ return validator.isValid(item);
return validator.isValid(item); }
}
} }

View File

@@ -7,34 +7,29 @@ import net.minecraft.inventory.SlotCrafting;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class SlotGridCraftingResult extends SlotCrafting public class SlotGridCraftingResult extends SlotCrafting {
{ private IInventory craftingMatrix;
private IInventory craftingMatrix; private TileGrid grid;
private TileGrid grid;
public SlotGridCraftingResult(EntityPlayer player, InventoryCrafting craftingMatrix, IInventory craftingResult, TileGrid grid, int id, int x, int y) public SlotGridCraftingResult(EntityPlayer player, InventoryCrafting craftingMatrix, IInventory craftingResult, TileGrid grid, int id, int x, int y) {
{ super(player, craftingMatrix, craftingResult, id, x, y);
super(player, craftingMatrix, craftingResult, id, x, y);
this.craftingMatrix = craftingMatrix; this.craftingMatrix = craftingMatrix;
this.grid = grid; this.grid = grid;
} }
@Override @Override
public void onPickupFromSlot(EntityPlayer player, ItemStack stack) public void onPickupFromSlot(EntityPlayer player, ItemStack stack) {
{ ItemStack[] matrixSlots = new ItemStack[craftingMatrix.getSizeInventory()];
ItemStack[] matrixSlots = new ItemStack[craftingMatrix.getSizeInventory()];
for (int i = 0; i < craftingMatrix.getSizeInventory(); ++i) for (int i = 0; i < craftingMatrix.getSizeInventory(); ++i) {
{ if (craftingMatrix.getStackInSlot(i) != null) {
if (craftingMatrix.getStackInSlot(i) != null) matrixSlots[i] = craftingMatrix.getStackInSlot(i).copy();
{ }
matrixSlots[i] = craftingMatrix.getStackInSlot(i).copy(); }
}
}
super.onPickupFromSlot(player, stack); super.onPickupFromSlot(player, stack);
grid.onCrafted(matrixSlots); grid.onCrafted(matrixSlots);
} }
} }

View File

@@ -4,16 +4,13 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class SlotOutput extends Slot public class SlotOutput extends Slot {
{ public SlotOutput(IInventory inventory, int id, int x, int y) {
public SlotOutput(IInventory inventory, int id, int x, int y) super(inventory, id, x, y);
{ }
super(inventory, id, x, y);
}
@Override @Override
public boolean isItemValid(ItemStack stack) public boolean isItemValid(ItemStack stack) {
{ return false;
return false; }
}
} }

View File

@@ -5,42 +5,35 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class SlotSpecimen extends Slot public class SlotSpecimen extends Slot {
{ private boolean sizeAllowed;
private boolean sizeAllowed;
public SlotSpecimen(IInventory inventory, int id, int x, int y, boolean allowSize) public SlotSpecimen(IInventory inventory, int id, int x, int y, boolean allowSize) {
{ super(inventory, id, x, y);
super(inventory, id, x, y);
this.sizeAllowed = allowSize; this.sizeAllowed = allowSize;
} }
@Override @Override
public boolean canTakeStack(EntityPlayer player) public boolean canTakeStack(EntityPlayer player) {
{ return false;
return false; }
}
@Override @Override
public boolean isItemValid(ItemStack stack) public boolean isItemValid(ItemStack stack) {
{ return true;
return true; }
}
@Override @Override
public void putStack(ItemStack stack) public void putStack(ItemStack stack) {
{ if (stack != null && !sizeAllowed) {
if (stack != null && !sizeAllowed) stack.stackSize = 1;
{ }
stack.stackSize = 1;
}
super.putStack(stack); super.putStack(stack);
} }
public boolean isSizeAllowed() public boolean isSizeAllowed() {
{ return sizeAllowed;
return sizeAllowed; }
}
} }

312
src/main/java/refinedstorage/gui/GuiBase.java Normal file → Executable file
View File

@@ -1,9 +1,5 @@
package refinedstorage.gui; 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.FontRenderer;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiContainer;
@@ -15,222 +11,196 @@ import org.lwjgl.opengl.GL11;
import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorage;
import refinedstorage.gui.sidebutton.SideButton; import refinedstorage.gui.sidebutton.SideButton;
public abstract class GuiBase extends GuiContainer import java.io.IOException;
{ import java.util.ArrayList;
public static final int SIDE_BUTTON_WIDTH = 20; import java.util.Arrays;
public static final int SIDE_BUTTON_HEIGHT = 20; 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 List<SideButton> sideButtons = new ArrayList<SideButton>();
private int lastSideButtonY = 6;
protected int width; private int lastButtonId = 0;
protected int height; private int lastSideButtonY = 6;
public GuiBase(Container container, int width, int height) protected int width;
{ protected int height;
super(container);
this.width = width; public GuiBase(Container container, int width, int height) {
this.height = height; super(container);
this.xSize = width;
this.ySize = height;
}
@Override this.width = width;
public void initGui() this.height = height;
{ this.xSize = width;
if (sideButtons.size() > 0) this.ySize = height;
{ }
xSize -= SIDE_BUTTON_WIDTH;
}
super.initGui(); @Override
public void initGui() {
if (sideButtons.size() > 0) {
xSize -= SIDE_BUTTON_WIDTH;
}
sideButtons.clear(); super.initGui();
lastButtonId = 0; sideButtons.clear();
lastSideButtonY = 6;
init(guiLeft, guiTop); lastButtonId = 0;
lastSideButtonY = 6;
if (sideButtons.size() > 0) init(guiLeft, guiTop);
{
xSize += SIDE_BUTTON_WIDTH;
}
}
@Override if (sideButtons.size() > 0) {
public void updateScreen() xSize += SIDE_BUTTON_WIDTH;
{ }
super.updateScreen(); }
update(guiLeft, guiTop); @Override
} public void updateScreen() {
super.updateScreen();
@Override update(guiLeft, guiTop);
protected void drawGuiContainerBackgroundLayer(float renderPartialTicks, int mouseX, int mouseY) }
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
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 drawBackground(guiLeft, guiTop, mouseX, mouseY);
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) }
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
mouseX -= guiLeft; @Override
mouseY -= guiTop; protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
for (SideButton sideButton : sideButtons) mouseX -= guiLeft;
{ mouseY -= guiTop;
GL11.glDisable(GL11.GL_LIGHTING);
sideButton.draw(this, sideButton.getX() + 2, sideButton.getY() + 1);
GL11.glEnable(GL11.GL_LIGHTING);
if (inBounds(sideButton.getX(), sideButton.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT, mouseX, mouseY)) for (SideButton sideButton : sideButtons) {
{ GL11.glDisable(GL11.GL_LIGHTING);
drawTooltip(mouseX, mouseY, sideButton.getTooltip(this)); 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 drawForeground(mouseX, mouseY);
protected void actionPerformed(GuiButton button) throws IOException }
{
super.actionPerformed(button);
for (SideButton sideButton : sideButtons) @Override
{ protected void actionPerformed(GuiButton button) throws IOException {
if (sideButton.getId() == button.id) super.actionPerformed(button);
{
sideButton.actionPerformed();
}
}
}
public GuiButton addButton(int x, int y, int w, int h) for (SideButton sideButton : sideButtons) {
{ if (sideButton.getId() == button.id) {
return addButton(x, y, w, h, ""); sideButton.actionPerformed();
} }
}
}
public GuiButton addButton(int x, int y, int w, int h, String text) public GuiButton addButton(int x, int y, int w, int h) {
{ return addButton(x, y, w, h, "");
GuiButton button = new GuiButton(lastButtonId++, x, y, w, h, text); }
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) return button;
{ }
button.setX(xSize - 1);
button.setY(lastSideButtonY);
button.setId(addButton(guiLeft + button.getX(), guiTop + button.getY(), SIDE_BUTTON_WIDTH, SIDE_BUTTON_HEIGHT).id);
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) sideButtons.add(button);
{ }
return ox >= x && ox <= x + w && oy >= y && oy <= y + h;
}
public void bindTexture(String 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;
bindTexture(RefinedStorage.ID, file); }
}
public void bindTexture(String base, String file) public void bindTexture(String file) {
{ bindTexture(RefinedStorage.ID, file);
mc.getTextureManager().bindTexture(new ResourceLocation(base, "textures/" + file)); }
}
public void drawItem(int x, int y, ItemStack stack) public void bindTexture(String base, String file) {
{ mc.getTextureManager().bindTexture(new ResourceLocation(base, "textures/" + file));
drawItem(x, y, stack, false, null); }
}
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay) public void drawItem(int x, int y, ItemStack stack) {
{ drawItem(x, y, stack, false, null);
drawItem(x, y, stack, withOverlay, null); }
}
public void drawItem(int x, int y, ItemStack stack, boolean withOverlay, String message) public void drawItem(int x, int y, ItemStack stack, boolean withOverlay) {
{ drawItem(x, y, stack, withOverlay, null);
zLevel = 200.0F; }
itemRender.zLevel = 200.0F;
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) FontRenderer font = null;
{
font = stack.getItem().getFontRenderer(stack);
}
if (font == null) if (stack != null) {
{ font = stack.getItem().getFontRenderer(stack);
font = fontRendererObj; }
}
itemRender.renderItemIntoGUI(stack, x, y); if (font == null) {
font = fontRendererObj;
}
if (withOverlay) itemRender.renderItemIntoGUI(stack, x, y);
{
itemRender.renderItemOverlayIntoGUI(font, stack, x, y, message);
}
zLevel = 0.0F; if (withOverlay) {
itemRender.zLevel = 0.0F; itemRender.renderItemOverlayIntoGUI(font, stack, x, y, message);
} }
public void drawString(int x, int y, String message) zLevel = 0.0F;
{ itemRender.zLevel = 0.0F;
drawString(x, y, message, 4210752); }
}
public void drawString(int x, int y, String message, int color) public void drawString(int x, int y, String message) {
{ drawString(x, y, message, 4210752);
GL11.glDisable(GL11.GL_LIGHTING); }
fontRendererObj.drawString(message, x, y, color);
GL11.glEnable(GL11.GL_LIGHTING);
}
public void drawTooltip(int x, int y, String message) public void drawString(int x, int y, String message, int color) {
{ GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_LIGHTING); fontRendererObj.drawString(message, x, y, color);
drawHoveringText(Arrays.asList(message.split("\n")), x, y); GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_LIGHTING); }
}
public void drawTooltip(int x, int y, ItemStack stack) public void drawTooltip(int x, int y, String message) {
{ GL11.glDisable(GL11.GL_LIGHTING);
renderToolTip(stack, x, y); 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) public void drawTooltip(int x, int y, ItemStack stack) {
{ renderToolTip(stack, x, y);
drawTexturedModalRect(x, y, textureX, textureY, width, height); }
}
public String t(String name, Object... format) public void drawTexture(int x, int y, int textureX, int textureY, int width, int height) {
{ drawTexturedModalRect(x, y, textureX, textureY, width, height);
return I18n.translateToLocalFormatted(name, format); }
}
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
View File

@@ -6,43 +6,37 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileConstructor; import refinedstorage.tile.TileConstructor;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiConstructor extends GuiBase public class GuiConstructor extends GuiBase {
{ private TileConstructor constructor;
private TileConstructor constructor;
public GuiConstructor(ContainerConstructor container, TileConstructor constructor) public GuiConstructor(ContainerConstructor container, TileConstructor constructor) {
{ super(container, 176, 137);
super(container, 176, 137);
this.constructor = constructor; this.constructor = constructor;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(constructor));
addSideButton(new SideButtonRedstoneMode(constructor));
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(constructor, InventoryUtils.COMPARE_NBT));
} }
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/constructor.png");
bindTexture("gui/constructor.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:constructor"));
drawString(7, 7, t("gui.refinedstorage:constructor")); drawString(7, 43, t("container.inventory"));
drawString(7, 43, t("container.inventory")); }
}
} }

149
src/main/java/refinedstorage/gui/GuiController.java Normal file → Executable file
View File

@@ -9,112 +9,97 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileController; import refinedstorage.tile.TileController;
import refinedstorage.tile.TileMachine; import refinedstorage.tile.TileMachine;
public class GuiController extends GuiBase public class GuiController extends GuiBase {
{ private TileController controller;
private TileController controller;
private int barX = 8; private int barX = 8;
private int barY = 20; private int barY = 20;
private int barWidth = 16; private int barWidth = 16;
private int barHeight = 59; 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) public GuiController(ContainerController container, TileController controller) {
{ super(container, 176, 181);
super(container, 176, 181);
this.controller = controller; this.controller = controller;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(controller));
addSideButton(new SideButtonRedstoneMode(controller)); }
}
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ scrollbar.setCanScroll(getRows() > getVisibleRows());
scrollbar.setCanScroll(getRows() > getVisibleRows()); }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/controller.png");
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 @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ scrollbar.update(this, mouseX, mouseY);
scrollbar.update(this, mouseX, mouseY);
drawString(7, 7, t("gui.refinedstorage:controller." + controller.getType().getId())); drawString(7, 7, t("gui.refinedstorage:controller." + controller.getType().getId()));
drawString(7, 87, t("container.inventory")); drawString(7, 87, t("container.inventory"));
int x = 33; int x = 33;
int y = 26; int y = 26;
int slot = getOffset() * 2; int slot = getOffset() * 2;
RenderHelper.enableGUIStandardItemLighting(); RenderHelper.enableGUIStandardItemLighting();
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i) {
{ if (slot < controller.getMachines().size()) {
if (slot < controller.getMachines().size()) TileMachine machine = controller.getMachines().get(slot);
{ IBlockState machineState = machine.getWorld().getBlockState(machine.getPos());
TileMachine machine = controller.getMachines().get(slot); Block machineBlock = machineState.getBlock();
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); drawItem(x, y, machineStack);
drawString(x + 21, y + 5, t("misc.refinedstorage:energy_usage_minimal", machine.getEnergyUsage())); drawString(x + 21, y + 5, t("misc.refinedstorage:energy_usage_minimal", machine.getEnergyUsage()));
} }
if (i == 1) if (i == 1) {
{ x = 33;
x = 33; y += 30;
y += 30; } else {
} x += 60;
else }
{
x += 60;
}
slot++; slot++;
} }
if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) 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)));
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() public int getOffset() {
{ return (int) (scrollbar.getCurrentScroll() / 59f * (float) getRows());
return (int) (scrollbar.getCurrentScroll() / 59f * (float) getRows()); }
}
private int getRows() private int getRows() {
{ int max = (int) Math.ceil((float) controller.getMachines().size() / (float) 2);
int max = (int) Math.ceil((float) controller.getMachines().size() / (float) 2);
return max < 0 ? 0 : max; return max < 0 ? 0 : max;
} }
private int getVisibleRows() private int getVisibleRows() {
{ return 2;
return 2; }
}
} }

52
src/main/java/refinedstorage/gui/GuiDestructor.java Normal file → Executable file
View File

@@ -4,40 +4,34 @@ import refinedstorage.container.ContainerDestructor;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileDestructor; import refinedstorage.tile.TileDestructor;
public class GuiDestructor extends GuiBase public class GuiDestructor extends GuiBase {
{ private TileDestructor destructor;
private TileDestructor destructor;
public GuiDestructor(ContainerDestructor container, TileDestructor destructor) public GuiDestructor(ContainerDestructor container, TileDestructor destructor) {
{ super(container, 176, 131);
super(container, 176, 131);
this.destructor = destructor; this.destructor = destructor;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(destructor));
addSideButton(new SideButtonRedstoneMode(destructor)); }
}
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/destructor.png");
bindTexture("gui/destructor.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:destructor"));
drawString(7, 7, t("gui.refinedstorage:destructor")); drawString(7, 39, t("container.inventory"));
drawString(7, 39, t("container.inventory")); }
}
} }

104
src/main/java/refinedstorage/gui/GuiDetector.java Normal file → Executable file
View File

@@ -1,7 +1,6 @@
package refinedstorage.gui; package refinedstorage.gui;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import java.io.IOException;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorage;
import refinedstorage.container.ContainerDetector; import refinedstorage.container.ContainerDetector;
@@ -11,73 +10,64 @@ import refinedstorage.network.MessageDetectorAmountUpdate;
import refinedstorage.tile.TileDetector; import refinedstorage.tile.TileDetector;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiDetector extends GuiBase import java.io.IOException;
{
private TileDetector detector;
private GuiTextField amountField; public class GuiDetector extends GuiBase {
private TileDetector detector;
public GuiDetector(ContainerDetector container, TileDetector detector) private GuiTextField amountField;
{
super(container, 176, 137);
this.detector = detector; public GuiDetector(ContainerDetector container, TileDetector detector) {
} super(container, 176, 137);
@Override this.detector = detector;
public void init(int x, int y) }
{
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(detector, InventoryUtils.COMPARE_NBT));
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); addSideButton(new SideButtonDetectorMode(detector));
amountField.setText(String.valueOf(detector.getAmount()));
amountField.setEnableBackgroundDrawing(false);
amountField.setVisible(true);
amountField.setTextColor(16777215);
amountField.setCanLoseFocus(false);
amountField.setFocused(true);
}
@Override amountField = new GuiTextField(0, fontRendererObj, x + 62 + 1, y + 23 + 1, 25, fontRendererObj.FONT_HEIGHT);
public void update(int x, int y) amountField.setText(String.valueOf(detector.getAmount()));
{ amountField.setEnableBackgroundDrawing(false);
} amountField.setVisible(true);
amountField.setTextColor(16777215);
amountField.setCanLoseFocus(false);
amountField.setFocused(true);
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void update(int x, int y) {
{ }
bindTexture("gui/detector.png");
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 amountField.drawTextBox();
public void drawForeground(int mouseX, int mouseY) }
{
drawString(7, 7, t("gui.refinedstorage:detector"));
drawString(7, 43, t("container.inventory"));
}
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:detector"));
if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode)) drawString(7, 43, t("container.inventory"));
{ }
Integer result = Ints.tryParse(amountField.getText());
if (result != null) @Override
{ protected void keyTyped(char character, int keyCode) throws IOException {
RefinedStorage.NETWORK.sendToServer(new MessageDetectorAmountUpdate(detector, result)); if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode)) {
} Integer result = Ints.tryParse(amountField.getText());
}
else if (result != null) {
{ RefinedStorage.NETWORK.sendToServer(new MessageDetectorAmountUpdate(detector, result));
super.keyTyped(character, keyCode); }
} } else {
} super.keyTyped(character, keyCode);
}
}
} }

56
src/main/java/refinedstorage/gui/GuiExporter.java Normal file → Executable file
View File

@@ -6,43 +6,37 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileExporter; import refinedstorage.tile.TileExporter;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiExporter extends GuiBase public class GuiExporter extends GuiBase {
{ private TileExporter exporter;
private TileExporter exporter;
public GuiExporter(ContainerExporter container, TileExporter exporter) public GuiExporter(ContainerExporter container, TileExporter exporter) {
{ super(container, 176, 137);
super(container, 176, 137);
this.exporter = exporter; this.exporter = exporter;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(exporter));
addSideButton(new SideButtonRedstoneMode(exporter));
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(exporter, InventoryUtils.COMPARE_NBT));
} }
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/exporter.png");
bindTexture("gui/exporter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:exporter"));
drawString(7, 7, t("gui.refinedstorage:exporter")); drawString(7, 43, t("container.inventory"));
drawString(7, 43, t("container.inventory")); }
}
} }

480
src/main/java/refinedstorage/gui/GuiGrid.java Normal file → Executable file
View File

@@ -1,10 +1,5 @@
package refinedstorage.gui; 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.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
@@ -25,333 +20,274 @@ import refinedstorage.storage.StorageItem;
import refinedstorage.tile.TileController; import refinedstorage.tile.TileController;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class GuiGrid extends GuiBase import java.io.IOException;
{ import java.util.ArrayList;
private ContainerGrid container; import java.util.Comparator;
private TileGrid grid; 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 GuiTextField searchField;
private int hoveringId;
private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70); private int hoveringSlotId;
private int hoveringId;
public GuiGrid(ContainerGrid container, TileGrid grid) private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70);
{
super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
this.container = container; public GuiGrid(ContainerGrid container, TileGrid grid) {
this.grid = grid; super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
}
@Override this.container = container;
public void init(int x, int y) this.grid = grid;
{ }
addSideButton(new SideButtonRedstoneMode(grid));
addSideButton(new SideButtonGridSortingDirection(grid)); @Override
addSideButton(new SideButtonGridSortingType(grid)); 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); addSideButton(new SideButtonGridSortingDirection(grid));
searchField.setEnableBackgroundDrawing(false); addSideButton(new SideButtonGridSortingType(grid));
searchField.setVisible(true);
searchField.setTextColor(16777215);
searchField.setCanLoseFocus(false);
searchField.setFocused(true);
}
@Override searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT);
public void update(int x, int y) searchField.setEnableBackgroundDrawing(false);
{ searchField.setVisible(true);
scrollbar.setCanScroll(getRows() > getVisibleRows()); searchField.setTextColor(16777215);
} searchField.setCanLoseFocus(false);
searchField.setFocused(true);
}
public int getOffset() @Override
{ public void update(int x, int y) {
return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows()); scrollbar.setCanScroll(getRows() > getVisibleRows());
} }
public int getVisibleRows() public int getOffset() {
{ return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows());
return 4; }
}
public int getRows() public int getVisibleRows() {
{ return 4;
if (!grid.isConnected()) }
{
return 0;
}
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 max < 0 ? 0 : max;
{ }
return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
}
private boolean isHoveringOverSlot() private boolean isHoveringOverValidSlot(List<StorageItem> items) {
{ return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
return hoveringSlotId >= 0; }
}
public boolean isHoveringOverClear(int mouseX, int mouseY) private boolean isHoveringOverSlot() {
{ return hoveringSlotId >= 0;
if (grid.getType() == EnumGridType.CRAFTING) }
{
return inBounds(81, 105, 7, 7, mouseX, mouseY);
}
return false; public boolean isHoveringOverClear(int mouseX, int mouseY) {
} if (grid.getType() == EnumGridType.CRAFTING) {
return inBounds(81, 105, 7, 7, mouseX, mouseY);
}
@Override return false;
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");
}
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 searchField.drawTextBox();
public void drawForeground(int mouseX, int mouseY) }
{
scrollbar.update(this, mouseX, mouseY);
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, 7, t("gui.refinedstorage:grid"));
{
drawString(7, 94, t("container.crafting"));
}
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; drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
int y = 20;
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) RenderHelper.enableGUIStandardItemLighting();
{
if (slot < items.size())
{
int qty = items.get(slot).getQuantity();
String text; for (int i = 0; i < 9 * getVisibleRows(); ++i) {
if (slot < items.size()) {
int qty = items.get(slot).getQuantity();
if (qty >= 1000000) String text;
{
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);
}
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()) drawItem(x, y, items.get(slot).toItemStack(), true, text);
{ }
hoveringSlotId = slot;
if (slot < items.size()) if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected()) {
{ hoveringSlotId = slot;
// 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();
}
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(); int color = grid.isConnected() ? -2130706433 : 0xFF5B5B5B;
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();
}
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 += 18;
{
x = 8;
y += 18;
}
}
if (isHoveringOverValidSlot(items)) if ((i + 1) % 9 == 0) {
{ x = 8;
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack()); y += 18;
} }
}
if (isHoveringOverClear(mouseX, mouseY)) if (isHoveringOverValidSlot(items)) {
{ drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear")); }
}
}
public List<StorageItem> getItems() if (isHoveringOverClear(mouseX, mouseY)) {
{ drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
List<StorageItem> items = new ArrayList<StorageItem>(); }
}
if (!grid.isConnected()) public List<StorageItem> getItems() {
{ List<StorageItem> items = new ArrayList<StorageItem>();
return items;
}
items.addAll(grid.getController().getItems()); if (!grid.isConnected()) {
return items;
}
if (!searchField.getText().trim().isEmpty()) items.addAll(grid.getController().getItems());
{
Iterator<StorageItem> t = items.iterator();
while (t.hasNext()) if (!searchField.getText().trim().isEmpty()) {
{ Iterator<StorageItem> t = items.iterator();
StorageItem item = t.next();
if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase())) while (t.hasNext()) {
{ StorageItem item = t.next();
t.remove();
}
}
}
items.sort(new Comparator<StorageItem>() if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase())) {
{ t.remove();
@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());
}
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) return 0;
{ }
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; 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 return items;
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException }
{
super.mouseClicked(mouseX, mouseY, clickedButton);
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()) boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
{
TileController controller = grid.getController();
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null) if (grid.isConnected()) {
{ TileController controller = grid.getController();
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;
RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift)); 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 (clickedClear) } else if (isHoveringOverValidSlot(getItems()) && container.getPlayer().inventory.getItemStack() == null) {
{ boolean half = clickedButton == 1;
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear(grid)); boolean shift = GuiScreen.isShiftKeyDown();
} boolean one = clickedButton == 2;
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 (clickedClear) RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift));
{ } else if (clickedClear) {
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F)); 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 if (clickedClear) {
protected void keyTyped(char character, int keyCode) throws IOException mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
{ }
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode)) }
{
} @Override
else protected void keyTyped(char character, int keyCode) throws IOException {
{ if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode)) {
super.keyTyped(character, keyCode); } else {
} super.keyTyped(character, keyCode);
} }
}
} }

148
src/main/java/refinedstorage/gui/GuiHandler.java Normal file → Executable file
View File

@@ -11,84 +11,78 @@ import refinedstorage.container.*;
import refinedstorage.storage.IStorageGui; import refinedstorage.storage.IStorageGui;
import refinedstorage.tile.*; import refinedstorage.tile.*;
public class GuiHandler implements IGuiHandler public class GuiHandler implements IGuiHandler {
{ private Container getContainer(int ID, EntityPlayer player, TileEntity tile) {
private Container getContainer(int ID, EntityPlayer player, TileEntity tile) switch (ID) {
{ case RefinedStorageGui.CONTROLLER:
switch (ID) return new ContainerController(player);
{ case RefinedStorageGui.GRID:
case RefinedStorageGui.CONTROLLER: return new ContainerGrid(player, (TileGrid) tile);
return new ContainerController(player); case RefinedStorageGui.DRIVE:
case RefinedStorageGui.GRID: return new ContainerDrive(player, (TileDrive) tile);
return new ContainerGrid(player, (TileGrid) tile); case RefinedStorageGui.IMPORTER:
case RefinedStorageGui.DRIVE: return new ContainerImporter(player, (TileImporter) tile);
return new ContainerDrive(player, (TileDrive) tile); case RefinedStorageGui.EXPORTER:
case RefinedStorageGui.IMPORTER: return new ContainerExporter(player, (TileExporter) tile);
return new ContainerImporter(player, (TileImporter) tile); case RefinedStorageGui.DETECTOR:
case RefinedStorageGui.EXPORTER: return new ContainerDetector(player, (TileDetector) tile);
return new ContainerExporter(player, (TileExporter) tile); case RefinedStorageGui.SOLDERER:
case RefinedStorageGui.DETECTOR: return new ContainerSolderer(player, (TileSolderer) tile);
return new ContainerDetector(player, (TileDetector) tile); case RefinedStorageGui.WIRELESS_TRANSMITTER:
case RefinedStorageGui.SOLDERER: return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile);
return new ContainerSolderer(player, (TileSolderer) tile); case RefinedStorageGui.DESTRUCTOR:
case RefinedStorageGui.WIRELESS_TRANSMITTER: return new ContainerDestructor(player);
return new ContainerWirelessTransmitter(player, (TileWirelessTransmitter) tile); case RefinedStorageGui.CONSTRUCTOR:
case RefinedStorageGui.DESTRUCTOR: return new ContainerConstructor(player, (TileConstructor) tile);
return new ContainerDestructor(player); case RefinedStorageGui.STORAGE:
case RefinedStorageGui.CONSTRUCTOR: return new ContainerStorage(player, ((IStorageGui) tile).getInventory());
return new ContainerConstructor(player, (TileConstructor) tile); case RefinedStorageGui.RELAY:
case RefinedStorageGui.STORAGE: return new ContainerRelay(player);
return new ContainerStorage(player, ((IStorageGui) tile).getInventory()); case RefinedStorageGui.INTERFACE:
case RefinedStorageGui.RELAY: return new ContainerInterface(player, (TileInterface) tile);
return new ContainerRelay(player); default:
case RefinedStorageGui.INTERFACE: return null;
return new ContainerInterface(player, (TileInterface) tile); }
default: }
return null;
}
}
@Override @Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 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)));
return getContainer(ID, player, world.getTileEntity(new BlockPos(x, y, z))); }
}
@Override @Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
{ TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
switch (ID) switch (ID) {
{ case RefinedStorageGui.CONTROLLER:
case RefinedStorageGui.CONTROLLER: return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile);
return new GuiController((ContainerController) getContainer(ID, player, tile), (TileController) tile); case RefinedStorageGui.GRID:
case RefinedStorageGui.GRID: return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile);
return new GuiGrid((ContainerGrid) getContainer(ID, player, tile), (TileGrid) tile); case RefinedStorageGui.DRIVE:
case RefinedStorageGui.DRIVE: return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile, "gui/drive.png");
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile, "gui/drive.png"); case RefinedStorageGui.IMPORTER:
case RefinedStorageGui.IMPORTER: return new GuiImporter((ContainerImporter) getContainer(ID, player, tile), (TileImporter) tile);
return new GuiImporter((ContainerImporter) getContainer(ID, player, tile), (TileImporter) tile); case RefinedStorageGui.EXPORTER:
case RefinedStorageGui.EXPORTER: return new GuiExporter((ContainerExporter) getContainer(ID, player, tile), (TileExporter) tile);
return new GuiExporter((ContainerExporter) getContainer(ID, player, tile), (TileExporter) tile); case RefinedStorageGui.DETECTOR:
case RefinedStorageGui.DETECTOR: return new GuiDetector((ContainerDetector) getContainer(ID, player, tile), (TileDetector) tile);
return new GuiDetector((ContainerDetector) getContainer(ID, player, tile), (TileDetector) tile); case RefinedStorageGui.SOLDERER:
case RefinedStorageGui.SOLDERER: return new GuiSolderer((ContainerSolderer) getContainer(ID, player, tile), (TileSolderer) tile);
return new GuiSolderer((ContainerSolderer) getContainer(ID, player, tile), (TileSolderer) tile); case RefinedStorageGui.WIRELESS_TRANSMITTER:
case RefinedStorageGui.WIRELESS_TRANSMITTER: return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile);
return new GuiWirelessTransmitter((ContainerWirelessTransmitter) getContainer(ID, player, tile), (TileWirelessTransmitter) tile); case RefinedStorageGui.DESTRUCTOR:
case RefinedStorageGui.DESTRUCTOR: return new GuiDestructor((ContainerDestructor) getContainer(ID, player, tile), (TileDestructor) tile);
return new GuiDestructor((ContainerDestructor) getContainer(ID, player, tile), (TileDestructor) tile); case RefinedStorageGui.CONSTRUCTOR:
case RefinedStorageGui.CONSTRUCTOR: return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile);
return new GuiConstructor((ContainerConstructor) getContainer(ID, player, tile), (TileConstructor) tile); case RefinedStorageGui.STORAGE:
case RefinedStorageGui.STORAGE: return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile);
return new GuiStorage((ContainerStorage) getContainer(ID, player, tile), (IStorageGui) tile); case RefinedStorageGui.RELAY:
case RefinedStorageGui.RELAY: return new GuiRelay((ContainerRelay) getContainer(ID, player, tile), (TileRelay) tile);
return new GuiRelay((ContainerRelay) getContainer(ID, player, tile), (TileRelay) tile); case RefinedStorageGui.INTERFACE:
case RefinedStorageGui.INTERFACE: return new GuiInterface((ContainerInterface) getContainer(ID, player, tile), (TileInterface) tile);
return new GuiInterface((ContainerInterface) getContainer(ID, player, tile), (TileInterface) tile); default:
default: return null;
return null; }
} }
}
} }

58
src/main/java/refinedstorage/gui/GuiImporter.java Normal file → Executable file
View File

@@ -7,45 +7,39 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileImporter; import refinedstorage.tile.TileImporter;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiImporter extends GuiBase public class GuiImporter extends GuiBase {
{ private TileImporter importer;
private TileImporter importer;
public GuiImporter(ContainerImporter container, TileImporter importer) public GuiImporter(ContainerImporter container, TileImporter importer) {
{ super(container, 176, 137);
super(container, 176, 137);
this.importer = importer; this.importer = importer;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(importer));
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_DAMAGE));
addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_NBT));
} }
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/importer.png");
bindTexture("gui/importer.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:importer"));
drawString(7, 7, t("gui.refinedstorage:importer")); drawString(7, 43, t("container.inventory"));
drawString(7, 43, t("container.inventory")); }
}
} }

71
src/main/java/refinedstorage/gui/GuiInterface.java Normal file → Executable file
View File

@@ -6,53 +6,46 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileInterface; import refinedstorage.tile.TileInterface;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiInterface extends GuiBase public class GuiInterface extends GuiBase {
{ private TileInterface tile;
private TileInterface tile;
public GuiInterface(ContainerInterface container, TileInterface tile) public GuiInterface(ContainerInterface container, TileInterface tile) {
{ super(container, 176, 218);
super(container, 176, 218);
this.tile = tile; this.tile = tile;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(tile));
addSideButton(new SideButtonRedstoneMode(tile));
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_NBT)); addSideButton(new SideButtonCompare(tile, InventoryUtils.COMPARE_NBT));
} }
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/interface.png");
bindTexture("gui/interface.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:interface.import"));
drawString(7, 7, t("gui.refinedstorage:interface.import")); drawString(7, 42, t("gui.refinedstorage:interface.export"));
drawString(7, 42, t("gui.refinedstorage:interface.export")); drawString(7, 123, t("container.inventory"));
drawString(7, 123, t("container.inventory"));
if (inBounds(162, 42, 7, 7, mouseX, mouseY)) if (inBounds(162, 42, 7, 7, mouseX, mouseY)) {
{ String message = t("gui.refinedstorage:interface.export.explanation.0");
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.1"); message += "\n" + t("gui.refinedstorage:interface.export.explanation.2");
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
View File

@@ -4,40 +4,34 @@ import refinedstorage.container.ContainerRelay;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileRelay; import refinedstorage.tile.TileRelay;
public class GuiRelay extends GuiBase public class GuiRelay extends GuiBase {
{ private TileRelay relay;
private TileRelay relay;
public GuiRelay(ContainerRelay container, TileRelay relay) public GuiRelay(ContainerRelay container, TileRelay relay) {
{ super(container, 176, 131);
super(container, 176, 131);
this.relay = relay; this.relay = relay;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(relay));
addSideButton(new SideButtonRedstoneMode(relay)); }
}
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/relay.png");
bindTexture("gui/relay.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:relay"));
drawString(7, 7, t("gui.refinedstorage:relay")); drawString(7, 39, t("container.inventory"));
drawString(7, 39, t("container.inventory")); }
}
} }

59
src/main/java/refinedstorage/gui/GuiSolderer.java Normal file → Executable file
View File

@@ -4,45 +4,38 @@ import net.minecraft.inventory.Container;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileSolderer; import refinedstorage.tile.TileSolderer;
public class GuiSolderer extends GuiBase public class GuiSolderer extends GuiBase {
{ private TileSolderer solderer;
private TileSolderer solderer;
public GuiSolderer(Container container, TileSolderer solderer) public GuiSolderer(Container container, TileSolderer solderer) {
{ super(container, 176, 177);
super(container, 176, 177);
this.solderer = solderer; this.solderer = solderer;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(solderer));
addSideButton(new SideButtonRedstoneMode(solderer)); }
}
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/solderer.png");
bindTexture("gui/solderer.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
if (solderer.isWorking()) if (solderer.isWorking()) {
{ drawTexture(x + 83, y + 40 - 1, 177, 0, solderer.getProgressScaled(22), 15);
drawTexture(x + 83, y + 40 - 1, 177, 0, solderer.getProgressScaled(22), 15); }
} }
}
@Override @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:solderer"));
drawString(7, 7, t("gui.refinedstorage:solderer")); drawString(7, 82, t("container.inventory"));
drawString(7, 82, t("container.inventory")); }
}
} }

164
src/main/java/refinedstorage/gui/GuiStorage.java Normal file → Executable file
View File

@@ -1,7 +1,6 @@
package refinedstorage.gui; package refinedstorage.gui;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import java.io.IOException;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
import refinedstorage.container.ContainerStorage; import refinedstorage.container.ContainerStorage;
import refinedstorage.gui.sidebutton.SideButtonCompare; import refinedstorage.gui.sidebutton.SideButtonCompare;
@@ -10,114 +9,99 @@ import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.storage.IStorageGui; import refinedstorage.storage.IStorageGui;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class GuiStorage extends GuiBase import java.io.IOException;
{
private IStorageGui gui;
private String texture;
private GuiTextField priorityField; public class GuiStorage extends GuiBase {
private IStorageGui gui;
private String texture;
private int barX = 8; private GuiTextField priorityField;
private int barY = 54;
private int barWidth = 16;
private int barHeight = 58;
public GuiStorage(ContainerStorage container, IStorageGui gui, String texture) private int barX = 8;
{ private int barY = 54;
super(container, 176, 211); private int barWidth = 16;
private int barHeight = 58;
this.gui = gui; public GuiStorage(ContainerStorage container, IStorageGui gui, String texture) {
this.texture = texture; super(container, 176, 211);
}
public GuiStorage(ContainerStorage container, IStorageGui gui) this.gui = gui;
{ this.texture = texture;
this(container, gui, "gui/storage.png"); }
}
@Override public GuiStorage(ContainerStorage container, IStorageGui gui) {
public void init(int x, int y) this(container, gui, "gui/storage.png");
{ }
if (gui.getRedstoneModeSetting() != null)
{
addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeSetting()));
}
if (gui.getModeSetting() != null) @Override
{ public void init(int x, int y) {
addSideButton(new SideButtonMode(gui.getModeSetting())); if (gui.getRedstoneModeSetting() != null) {
} addSideButton(new SideButtonRedstoneMode(gui.getRedstoneModeSetting()));
}
if (gui.getCompareSetting() != null) if (gui.getModeSetting() != null) {
{ addSideButton(new SideButtonMode(gui.getModeSetting()));
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_DAMAGE)); }
addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_NBT));
}
priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 25, fontRendererObj.FONT_HEIGHT); if (gui.getCompareSetting() != null) {
priorityField.setText(String.valueOf(gui.getPriority())); addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_DAMAGE));
priorityField.setEnableBackgroundDrawing(false); addSideButton(new SideButtonCompare(gui.getCompareSetting(), InventoryUtils.COMPARE_NBT));
priorityField.setVisible(true); }
priorityField.setTextColor(16777215);
priorityField.setCanLoseFocus(false);
priorityField.setFocused(true);
}
@Override priorityField = new GuiTextField(0, fontRendererObj, x + 98 + 1, y + 54 + 1, 25, fontRendererObj.FONT_HEIGHT);
public void update(int x, int y) priorityField.setText(String.valueOf(gui.getPriority()));
{ priorityField.setEnableBackgroundDrawing(false);
} priorityField.setVisible(true);
priorityField.setTextColor(16777215);
priorityField.setCanLoseFocus(false);
priorityField.setFocused(true);
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void update(int x, int y) {
{ }
bindTexture(texture);
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 priorityField.drawTextBox();
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 (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) @Override
{ public void drawForeground(int mouseX, int mouseY) {
int full = 0; 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) if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) {
{ int full = 0;
full = (int) ((float) gui.getStored() / (float) gui.getCapacity() * 100f);
}
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:storage.full", full)); if (gui.getCapacity() >= 0) {
} full = (int) ((float) gui.getStored() / (float) gui.getCapacity() * 100f);
} }
@Override drawTooltip(mouseX, mouseY, t("misc.refinedstorage:storage.full", full));
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) @Override
{ protected void keyTyped(char character, int keyCode) throws IOException {
gui.onPriorityChanged(result); if (!checkHotbarKeys(keyCode) && priorityField.textboxKeyTyped(character, keyCode)) {
} Integer result = Ints.tryParse(priorityField.getText());
}
else if (result != null) {
{ gui.onPriorityChanged(result);
super.keyTyped(character, keyCode); }
} } else {
} super.keyTyped(character, keyCode);
}
}
} }

View File

@@ -4,54 +4,46 @@ import net.minecraft.inventory.Container;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.TileWirelessTransmitter; import refinedstorage.tile.TileWirelessTransmitter;
public class GuiWirelessTransmitter extends GuiBase public class GuiWirelessTransmitter extends GuiBase {
{ private TileWirelessTransmitter wirelessTransmitter;
private TileWirelessTransmitter wirelessTransmitter;
public GuiWirelessTransmitter(Container container, TileWirelessTransmitter wirelessTransmitter) public GuiWirelessTransmitter(Container container, TileWirelessTransmitter wirelessTransmitter) {
{ super(container, 176, 137);
super(container, 176, 137);
this.wirelessTransmitter = wirelessTransmitter; this.wirelessTransmitter = wirelessTransmitter;
} }
@Override @Override
public void init(int x, int y) public void init(int x, int y) {
{ addSideButton(new SideButtonRedstoneMode(wirelessTransmitter));
addSideButton(new SideButtonRedstoneMode(wirelessTransmitter)); }
}
@Override @Override
public void update(int x, int y) public void update(int x, int y) {
{ }
}
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) public void drawBackground(int x, int y, int mouseX, int mouseY) {
{ bindTexture("gui/wireless_transmitter.png");
bindTexture("gui/wireless_transmitter.png");
drawTexture(x, y, 0, 0, width, height); drawTexture(x, y, 0, 0, width, height);
if (wirelessTransmitter.isWorking()) if (wirelessTransmitter.isWorking()) {
{ int progress = (int) ((float) wirelessTransmitter.getProgress() / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 14f);
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 @Override
public void drawForeground(int mouseX, int mouseY) public void drawForeground(int mouseX, int mouseY) {
{ drawString(7, 7, t("gui.refinedstorage:wireless_transmitter"));
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter")); drawString(7, 43, t("container.inventory"));
drawString(7, 43, t("container.inventory"));
if (inBounds(36, 21, 14, 14, mouseX, mouseY) && wirelessTransmitter.isWorking()) if (inBounds(36, 21, 14, 14, mouseX, mouseY) && wirelessTransmitter.isWorking()) {
{ int workRemaining = (int) (((float) (TileWirelessTransmitter.TOTAL_PROGRESS - wirelessTransmitter.getProgress())) / (float) TileWirelessTransmitter.TOTAL_PROGRESS * 100f);
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
View File

@@ -2,110 +2,91 @@ package refinedstorage.gui;
import org.lwjgl.input.Mouse; import org.lwjgl.input.Mouse;
public class Scrollbar public class Scrollbar {
{ private boolean canScroll = true;
private boolean canScroll = true;
private int x; private int x;
private int y; private int y;
private int scrollbarWidth; private int scrollbarWidth;
private int scrollbarHeight; private int scrollbarHeight;
private float currentScroll; private float currentScroll;
private boolean wasClicking = false; private boolean wasClicking = false;
private boolean isScrolling = false; private boolean isScrolling = false;
public Scrollbar(int x, int y, int scrollbarWidth, int scrollbarHeight) public Scrollbar(int x, int y, int scrollbarWidth, int scrollbarHeight) {
{ this.x = x;
this.x = x; this.y = y;
this.y = y; this.scrollbarWidth = scrollbarWidth;
this.scrollbarWidth = scrollbarWidth; this.scrollbarHeight = scrollbarHeight;
this.scrollbarHeight = scrollbarHeight; }
}
public void setCanScroll(boolean canScroll) public void setCanScroll(boolean canScroll) {
{ this.canScroll = canScroll;
this.canScroll = canScroll; }
}
public boolean canScroll() public boolean canScroll() {
{ return canScroll;
return canScroll; }
}
public float getCurrentScroll() public float getCurrentScroll() {
{ return currentScroll;
return currentScroll; }
}
public void setCurrentScroll(float newCurrentScroll) public void setCurrentScroll(float newCurrentScroll) {
{ if (newCurrentScroll < 0) {
if (newCurrentScroll < 0) newCurrentScroll = 0;
{ }
newCurrentScroll = 0;
}
int scrollbarItselfHeight = 12; int scrollbarItselfHeight = 12;
int max = scrollbarHeight - scrollbarItselfHeight - 3; int max = scrollbarHeight - scrollbarItselfHeight - 3;
if (newCurrentScroll > max) if (newCurrentScroll > max) {
{ newCurrentScroll = max;
newCurrentScroll = max; }
}
currentScroll = newCurrentScroll; currentScroll = newCurrentScroll;
} }
public void draw(GuiBase gui) public void draw(GuiBase gui) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png"); gui.drawTexture(gui.guiLeft + x, gui.guiTop + y + (int) currentScroll, canScroll() ? 232 : 244, 0, 12, 15);
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) public void update(GuiBase gui, int mouseX, int mouseY) {
{ if (!canScroll()) {
if (!canScroll()) isScrolling = false;
{ wasClicking = false;
isScrolling = false; currentScroll = 0;
wasClicking = false; } else {
currentScroll = 0; int wheel = Mouse.getDWheel();
}
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) if (wheel == -1) {
{ setCurrentScroll(currentScroll - delta);
setCurrentScroll(currentScroll - delta); } else 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)) if (!wasClicking && down && gui.inBounds(x, y, scrollbarWidth, scrollbarHeight, mouseX, mouseY)) {
{ isScrolling = true;
isScrolling = true; }
}
if (!down) if (!down) {
{ isScrolling = false;
isScrolling = false; }
}
wasClicking = down; wasClicking = down;
if (isScrolling) if (isScrolling) {
{ setCurrentScroll(mouseY - 20);
setCurrentScroll(mouseY - 20); }
} }
} }
}
} }

View File

@@ -2,45 +2,38 @@ package refinedstorage.gui.sidebutton;
import refinedstorage.gui.GuiBase; import refinedstorage.gui.GuiBase;
public abstract class SideButton public abstract class SideButton {
{ private int id;
private int id; private int x;
private int x; private int y;
private int y;
public int getId() public int getId() {
{ return id;
return id; }
}
public void setId(int id) public void setId(int id) {
{ this.id = id;
this.id = id; }
}
public int getX() public int getX() {
{ return x;
return x; }
}
public void setX(int x) public void setX(int x) {
{ this.x = x;
this.x = x; }
}
public int getY() public int getY() {
{ return y;
return y; }
}
public void setY(int y) public void setY(int y) {
{ this.y = 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();
} }

View File

@@ -7,60 +7,49 @@ import refinedstorage.network.MessageCompareUpdate;
import refinedstorage.tile.settings.ICompareSetting; import refinedstorage.tile.settings.ICompareSetting;
import refinedstorage.util.InventoryUtils; import refinedstorage.util.InventoryUtils;
public class SideButtonCompare extends SideButton public class SideButtonCompare extends SideButton {
{ private ICompareSetting setting;
private ICompareSetting setting; private int mask;
private int mask;
public SideButtonCompare(ICompareSetting setting, int mask) public SideButtonCompare(ICompareSetting setting, int mask) {
{ this.setting = setting;
this.setting = setting; this.mask = mask;
this.mask = mask; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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) if ((setting.getCompare() & mask) == mask) {
{ builder.append(gui.t("misc.refinedstorage:yes"));
builder.append(gui.t("misc.refinedstorage:yes")); } else {
} builder.append(gui.t("misc.refinedstorage:no"));
else }
{
builder.append(gui.t("misc.refinedstorage:no"));
}
return builder.toString(); return builder.toString();
} }
@Override @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png");
int ty = 0; int ty = 0;
if (mask == InventoryUtils.COMPARE_DAMAGE) if (mask == InventoryUtils.COMPARE_DAMAGE) {
{ ty = 80;
ty = 80; } else if (mask == InventoryUtils.COMPARE_NBT) {
} ty = 48;
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 @Override
public void actionPerformed() public void actionPerformed() {
{ RefinedStorage.NETWORK.sendToServer(new MessageCompareUpdate(setting, setting.getCompare() ^ mask));
RefinedStorage.NETWORK.sendToServer(new MessageCompareUpdate(setting, setting.getCompare() ^ mask)); }
}
} }

View File

@@ -8,36 +8,31 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageDetectorModeUpdate; import refinedstorage.network.MessageDetectorModeUpdate;
import refinedstorage.tile.TileDetector; import refinedstorage.tile.TileDetector;
public class SideButtonDetectorMode extends SideButton public class SideButtonDetectorMode extends SideButton {
{ private TileDetector detector;
private TileDetector detector;
public SideButtonDetectorMode(TileDetector detector) public SideButtonDetectorMode(TileDetector detector) {
{ this.detector = detector;
this.detector = detector; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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 @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.drawItem(x, y, new ItemStack(Items.redstone, 1));
gui.drawItem(x, y, new ItemStack(Items.redstone, 1)); }
}
@Override @Override
public void actionPerformed() public void actionPerformed() {
{ RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector));
RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector)); }
}
} }

View File

@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageGridSortingUpdate; import refinedstorage.network.MessageGridSortingUpdate;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class SideButtonGridSortingDirection extends SideButton public class SideButtonGridSortingDirection extends SideButton {
{ private TileGrid grid;
private TileGrid grid;
public SideButtonGridSortingDirection(TileGrid grid) public SideButtonGridSortingDirection(TileGrid grid) {
{ this.grid = grid;
this.grid = grid; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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 @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png"); gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16); }
}
@Override @Override
public void actionPerformed() public void actionPerformed() {
{ int dir = grid.getSortingDirection();
int dir = grid.getSortingDirection();
if (dir == TileGrid.SORTING_DIRECTION_ASCENDING) if (dir == TileGrid.SORTING_DIRECTION_ASCENDING) {
{ dir = TileGrid.SORTING_DIRECTION_DESCENDING;
dir = TileGrid.SORTING_DIRECTION_DESCENDING; } else if (dir == TileGrid.SORTING_DIRECTION_DESCENDING) {
} dir = TileGrid.SORTING_DIRECTION_ASCENDING;
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()));
} }
} }

View File

@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageGridSortingUpdate; import refinedstorage.network.MessageGridSortingUpdate;
import refinedstorage.tile.TileGrid; import refinedstorage.tile.TileGrid;
public class SideButtonGridSortingType extends SideButton public class SideButtonGridSortingType extends SideButton {
{ private TileGrid grid;
private TileGrid grid;
public SideButtonGridSortingType(TileGrid grid) public SideButtonGridSortingType(TileGrid grid) {
{ this.grid = grid;
this.grid = grid; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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 @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png"); gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16); }
}
@Override @Override
public void actionPerformed() public void actionPerformed() {
{ int type = grid.getSortingType();
int type = grid.getSortingType();
if (type == TileGrid.SORTING_TYPE_QUANTITY) if (type == TileGrid.SORTING_TYPE_QUANTITY) {
{ type = TileGrid.SORTING_TYPE_NAME;
type = TileGrid.SORTING_TYPE_NAME; } else if (type == TileGrid.SORTING_TYPE_NAME) {
} type = TileGrid.SORTING_TYPE_QUANTITY;
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));
} }
} }

View File

@@ -6,49 +6,41 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageModeToggle; import refinedstorage.network.MessageModeToggle;
import refinedstorage.tile.settings.IModeSetting; import refinedstorage.tile.settings.IModeSetting;
public class SideButtonMode extends SideButton public class SideButtonMode extends SideButton {
{ private IModeSetting mode;
private IModeSetting mode;
public SideButtonMode(IModeSetting mode) public SideButtonMode(IModeSetting mode) {
{ this.mode = mode;
this.mode = mode; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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 @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png");
int tx = 0; int tx = 0;
if (mode.isWhitelist()) if (mode.isWhitelist()) {
{ tx = 0;
tx = 0; } else if (mode.isBlacklist()) {
} tx = 16;
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 @Override
public void actionPerformed() public void actionPerformed() {
{ RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode));
RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode)); }
}
} }

View File

@@ -6,37 +6,32 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageRedstoneModeUpdate; import refinedstorage.network.MessageRedstoneModeUpdate;
import refinedstorage.tile.settings.IRedstoneModeSetting; import refinedstorage.tile.settings.IRedstoneModeSetting;
public class SideButtonRedstoneMode extends SideButton public class SideButtonRedstoneMode extends SideButton {
{ private IRedstoneModeSetting setting;
private IRedstoneModeSetting setting;
public SideButtonRedstoneMode(IRedstoneModeSetting setting) public SideButtonRedstoneMode(IRedstoneModeSetting setting) {
{ this.setting = setting;
this.setting = setting; }
}
@Override @Override
public String getTooltip(GuiBase gui) public String getTooltip(GuiBase gui) {
{ StringBuilder builder = new StringBuilder();
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 @Override
public void draw(GuiBase gui, int x, int y) public void draw(GuiBase gui, int x, int y) {
{ gui.bindTexture("icons.png");
gui.bindTexture("icons.png"); gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16);
gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16); }
}
@Override @Override
public void actionPerformed() public void actionPerformed() {
{ RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting)); }
}
} }

View File

@@ -6,162 +6,133 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
public class InventorySimple implements IInventory public class InventorySimple implements IInventory {
{ private TileEntity tile;
private TileEntity tile; private ItemStack[] inventory;
private ItemStack[] inventory; private int size;
private int size; private String name;
private String name;
public InventorySimple(String name, int size) public InventorySimple(String name, int size) {
{ this.name = name;
this.name = name; this.size = size;
this.size = size; this.inventory = new ItemStack[size];
this.inventory = new ItemStack[size]; }
}
public InventorySimple(String name, int size, TileEntity tile) public InventorySimple(String name, int size, TileEntity tile) {
{ this(name, size);
this(name, size);
this.tile = tile; this.tile = tile;
} }
@Override @Override
public int getSizeInventory() public int getSizeInventory() {
{ return size;
return size; }
}
@Override @Override
public ItemStack getStackInSlot(int slotIndex) public ItemStack getStackInSlot(int slotIndex) {
{ return inventory[slotIndex];
return inventory[slotIndex]; }
}
@Override @Override
public ItemStack decrStackSize(int slot, int amount) public ItemStack decrStackSize(int slot, int amount) {
{ ItemStack stack = getStackInSlot(slot);
ItemStack stack = getStackInSlot(slot);
if (stack != null) if (stack != null) {
{ if (stack.stackSize <= amount) {
if (stack.stackSize <= amount) setInventorySlotContents(slot, null);
{ } else {
setInventorySlotContents(slot, null); stack = stack.splitStack(amount);
}
else
{
stack = stack.splitStack(amount);
if (stack.stackSize == 0) if (stack.stackSize == 0) {
{ setInventorySlotContents(slot, null);
setInventorySlotContents(slot, null); }
} }
} }
}
return stack; return stack;
} }
@Override @Override
public ItemStack removeStackFromSlot(int slot) public ItemStack removeStackFromSlot(int slot) {
{ ItemStack stack = getStackInSlot(slot);
ItemStack stack = getStackInSlot(slot);
if (stack != null) if (stack != null) {
{ setInventorySlotContents(slot, null);
setInventorySlotContents(slot, null); }
}
return stack; return stack;
} }
@Override @Override
public void setInventorySlotContents(int slot, ItemStack stack) public void setInventorySlotContents(int slot, ItemStack stack) {
{ if (stack != null && stack.stackSize > getInventoryStackLimit()) {
if (stack != null && stack.stackSize > getInventoryStackLimit()) stack.stackSize = getInventoryStackLimit();
{ }
stack.stackSize = getInventoryStackLimit();
}
inventory[slot] = stack; inventory[slot] = stack;
} }
@Override @Override
public String getName() public String getName() {
{ return this.name;
return this.name; }
}
@Override @Override
public boolean hasCustomName() public boolean hasCustomName() {
{ return true;
return true; }
}
@Override @Override
public int getInventoryStackLimit() public int getInventoryStackLimit() {
{ return 64;
return 64; }
}
@Override @Override
public boolean isUseableByPlayer(EntityPlayer player) public boolean isUseableByPlayer(EntityPlayer player) {
{ return true;
return true; }
}
@Override @Override
public boolean isItemValidForSlot(int slot, ItemStack stack) public boolean isItemValidForSlot(int slot, ItemStack stack) {
{ return true;
return true; }
}
@Override @Override
public void markDirty() public void markDirty() {
{ if (tile != null) {
if (tile != null) tile.markDirty();
{ }
tile.markDirty(); }
}
}
@Override @Override
public void openInventory(EntityPlayer playerIn) public void openInventory(EntityPlayer playerIn) {
{ }
}
@Override @Override
public void closeInventory(EntityPlayer playerIn) public void closeInventory(EntityPlayer playerIn) {
{ }
}
@Override @Override
public int getField(int id) public int getField(int id) {
{ return 0;
return 0; }
}
@Override @Override
public void setField(int id, int value) public void setField(int id, int value) {
{ }
}
@Override @Override
public int getFieldCount() public int getFieldCount() {
{ return 0;
return 0; }
}
@Override @Override
public void clear() public void clear() {
{ }
}
@Override @Override
public ITextComponent getDisplayName() public ITextComponent getDisplayName() {
{ return null;
return null; }
}
} }

39
src/main/java/refinedstorage/item/ItemBase.java Normal file → Executable file
View File

@@ -4,31 +4,26 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorage;
public abstract class ItemBase extends Item public abstract class ItemBase extends Item {
{ private String name;
private String name;
public ItemBase(String name) public ItemBase(String name) {
{ this.name = name;
this.name = name;
setCreativeTab(RefinedStorage.TAB); setCreativeTab(RefinedStorage.TAB);
} }
@Override @Override
public String getUnlocalizedName() public String getUnlocalizedName() {
{ return "item." + RefinedStorage.ID + ":" + name;
return "item." + RefinedStorage.ID + ":" + name; }
}
@Override @Override
public String getUnlocalizedName(ItemStack stack) public String getUnlocalizedName(ItemStack stack) {
{ if (getHasSubtypes()) {
if (getHasSubtypes()) return getUnlocalizedName() + "." + stack.getItemDamage();
{ }
return getUnlocalizedName() + "." + stack.getItemDamage();
}
return getUnlocalizedName(); return getUnlocalizedName();
} }
} }

19
src/main/java/refinedstorage/item/ItemBlockBase.java Normal file → Executable file
View File

@@ -4,16 +4,13 @@ import net.minecraft.block.Block;
import net.minecraft.item.ItemColored; import net.minecraft.item.ItemColored;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public abstract class ItemBlockBase extends ItemColored public abstract class ItemBlockBase extends ItemColored {
{ public ItemBlockBase(Block block) {
public ItemBlockBase(Block block) super(block, true);
{ }
super(block, true);
}
@Override @Override
public String getUnlocalizedName(ItemStack stack) public String getUnlocalizedName(ItemStack stack) {
{ return getUnlocalizedName() + "." + stack.getItemDamage();
return getUnlocalizedName() + "." + stack.getItemDamage(); }
}
} }

View File

@@ -2,10 +2,8 @@ package refinedstorage.item;
import net.minecraft.block.Block; import net.minecraft.block.Block;
public class ItemBlockController extends ItemBlockBase public class ItemBlockController extends ItemBlockBase {
{ public ItemBlockController(Block block) {
public ItemBlockController(Block block) super(block);
{ }
super(block);
}
} }

10
src/main/java/refinedstorage/item/ItemBlockGrid.java Normal file → Executable file
View File

@@ -2,10 +2,8 @@ package refinedstorage.item;
import net.minecraft.block.Block; import net.minecraft.block.Block;
public class ItemBlockGrid extends ItemBlockBase public class ItemBlockGrid extends ItemBlockBase {
{ public ItemBlockGrid(Block block) {
public ItemBlockGrid(Block block) super(block);
{ }
super(block);
}
} }

66
src/main/java/refinedstorage/item/ItemBlockStorage.java Normal file → Executable file
View File

@@ -1,6 +1,5 @@
package refinedstorage.item; package refinedstorage.item;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -11,49 +10,42 @@ import refinedstorage.block.EnumStorageType;
import refinedstorage.storage.NBTStorage; import refinedstorage.storage.NBTStorage;
import refinedstorage.tile.TileStorage; import refinedstorage.tile.TileStorage;
public class ItemBlockStorage extends ItemBlockBase import java.util.List;
{
public ItemBlockStorage(Block block)
{
super(block);
}
@Override public class ItemBlockStorage extends ItemBlockBase {
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) public ItemBlockStorage(Block block) {
{ super(block);
EnumStorageType type = EnumStorageType.getById(stack.getMetadata()); }
if (type != null && stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileStorage.NBT_STORAGE)) @Override
{ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) {
NBTTagCompound tag = stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE); EnumStorageType type = EnumStorageType.getById(stack.getMetadata());
if (type == EnumStorageType.TYPE_CREATIVE) if (type != null && stack.getTagCompound() != null && stack.getTagCompound().hasKey(TileStorage.NBT_STORAGE)) {
{ NBTTagCompound tag = stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE);
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()));
}
}
}
@Override if (type == EnumStorageType.TYPE_CREATIVE) {
public void onCreated(ItemStack stack, World world, EntityPlayer player) list.add(String.format(I18n.translateToLocal("misc.refinedstorage:storage.stored"), NBTStorage.getStored(tag)));
{ } else {
super.onCreated(stack, world, player); 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) initNBT(stack);
{ }
NBTTagCompound tag = new NBTTagCompound();
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
View File

@@ -1,29 +1,26 @@
package refinedstorage.item; package refinedstorage.item;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class ItemCore extends ItemBase import java.util.List;
{
public static final int TYPE_CONSTRUCTION = 0;
public static final int TYPE_DESTRUCTION = 1;
public ItemCore() public class ItemCore extends ItemBase {
{ public static final int TYPE_CONSTRUCTION = 0;
super("core"); public static final int TYPE_DESTRUCTION = 1;
setHasSubtypes(true); public ItemCore() {
setMaxDamage(0); super("core");
}
@Override setHasSubtypes(true);
public void getSubItems(Item item, CreativeTabs tab, List list) setMaxDamage(0);
{ }
for (int i = 0; i < 2; ++i)
{ @Override
list.add(new ItemStack(item, 1, i)); 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
View File

@@ -1,34 +1,31 @@
package refinedstorage.item; package refinedstorage.item;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class ItemProcessor extends ItemBase import java.util.List;
{
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;
public ItemProcessor() public class ItemProcessor extends ItemBase {
{ public static final int TYPE_PRINTED_BASIC = 0;
super("processor"); 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); public ItemProcessor() {
setMaxDamage(0); super("processor");
}
@Override setHasSubtypes(true);
public void getSubItems(Item item, CreativeTabs tab, List list) setMaxDamage(0);
{ }
for (int i = 0; i <= 6; ++i)
{ @Override
list.add(new ItemStack(item, 1, i)); public void getSubItems(Item item, CreativeTabs tab, List list) {
} for (int i = 0; i <= 6; ++i) {
} list.add(new ItemStack(item, 1, i));
}
}
} }

Some files were not shown because too many files have changed in this diff Show More