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

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

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

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

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

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

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

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

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

126
src/main/java/refinedstorage/block/BlockCable.java Normal file → Executable file
View File

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

View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileConstructor;
public class BlockConstructor extends BlockMachine
{
public BlockConstructor()
{
super("constructor");
}
public class BlockConstructor extends BlockMachine {
public BlockConstructor() {
super("constructor");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileConstructor();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileConstructor();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONSTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.CONSTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

142
src/main/java/refinedstorage/block/BlockController.java Normal file → Executable file
View File

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

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDestructor;
public class BlockDestructor extends BlockMachine
{
public BlockDestructor()
{
super("destructor");
}
public class BlockDestructor extends BlockMachine {
public BlockDestructor() {
super("destructor");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileDestructor();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileDestructor();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DESTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DESTRUCTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

103
src/main/java/refinedstorage/block/BlockDetector.java Normal file → Executable file
View File

@@ -16,72 +16,61 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDetector;
public class BlockDetector extends BlockMachine
{
public static final PropertyBool POWERED = PropertyBool.create("powered");
public class BlockDetector extends BlockMachine {
public static final PropertyBool POWERED = PropertyBool.create("powered");
public BlockDetector()
{
super("detector");
}
public BlockDetector() {
super("detector");
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, new IProperty[]
{
DIRECTION,
CONNECTED,
POWERED
});
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[]
{
DIRECTION,
CONNECTED,
POWERED
});
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
{
return super.getActualState(state, world, pos)
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
return super.getActualState(state, world, pos)
.withProperty(POWERED, ((TileDetector) world.getTileEntity(pos)).isPowered());
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileDetector();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileDetector();
}
@Override
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
{
TileDetector detector = (TileDetector) world.getTileEntity(pos);
@Override
public int getWeakPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
TileDetector detector = (TileDetector) world.getTileEntity(pos);
if (detector.getDirection() == side.getOpposite())
{
return detector.isPowered() ? 15 : 0;
}
if (detector.getDirection() == side.getOpposite()) {
return detector.isPowered() ? 15 : 0;
}
return 0;
}
return 0;
}
@Override
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
{
return getWeakPower(state, world, pos, side);
}
@Override
public int getStrongPower(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
return getWeakPower(state, world, pos, side);
}
@Override
public boolean canProvidePower(IBlockState state)
{
return true;
}
@Override
public boolean canProvidePower(IBlockState state) {
return true;
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DETECTOR, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileDrive;
public class BlockDrive extends BlockMachine
{
public BlockDrive()
{
super("drive");
}
public class BlockDrive extends BlockMachine {
public BlockDrive() {
super("drive");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileDrive();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileDrive();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.DRIVE, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileExporter;
public class BlockExporter extends BlockMachine
{
public BlockExporter()
{
super("exporter");
}
public class BlockExporter extends BlockMachine {
public BlockExporter() {
super("exporter");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileExporter();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileExporter();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.EXPORTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

View File

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileExternalStorage;
public class BlockExternalStorage extends BlockMachine
{
public BlockExternalStorage()
{
super("external_storage");
}
public class BlockExternalStorage extends BlockMachine {
public BlockExternalStorage() {
super("external_storage");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileExternalStorage();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileExternalStorage();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.STORAGE, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

91
src/main/java/refinedstorage/block/BlockGrid.java Normal file → Executable file
View File

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

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileImporter;
public class BlockImporter extends BlockMachine
{
public BlockImporter()
{
super("importer");
}
public class BlockImporter extends BlockMachine {
public BlockImporter() {
super("importer");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileImporter();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileImporter();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.IMPORTER, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.IMPORTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileInterface;
public class BlockInterface extends BlockMachine
{
public BlockInterface()
{
super("interface");
}
public class BlockInterface extends BlockMachine {
public BlockInterface() {
super("interface");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileInterface();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileInterface();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.INTERFACE, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

49
src/main/java/refinedstorage/block/BlockMachine.java Normal file → Executable file
View File

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

View File

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

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

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

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

@@ -11,27 +11,22 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileSolderer;
public class BlockSolderer extends BlockMachine
{
public BlockSolderer()
{
super("solderer");
}
public class BlockSolderer extends BlockMachine {
public BlockSolderer() {
super("solderer");
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileSolderer();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileSolderer();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.SOLDERER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

159
src/main/java/refinedstorage/block/BlockStorage.java Normal file → Executable file
View File

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

View File

@@ -16,47 +16,40 @@ import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageGui;
import refinedstorage.tile.TileWirelessTransmitter;
public class BlockWirelessTransmitter extends BlockMachine
{
public static final PropertyBool WORKING = PropertyBool.create("working");
public class BlockWirelessTransmitter extends BlockMachine {
public static final PropertyBool WORKING = PropertyBool.create("working");
public BlockWirelessTransmitter()
{
super("wireless_transmitter");
}
public BlockWirelessTransmitter() {
super("wireless_transmitter");
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, new IProperty[]
{
DIRECTION,
CONNECTED,
WORKING
});
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[]
{
DIRECTION,
CONNECTED,
WORKING
});
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos)
{
return super.getActualState(state, world, pos)
.withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking());
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
return super.getActualState(state, world, pos)
.withProperty(WORKING, ((TileWirelessTransmitter) world.getTileEntity(pos)).isWorking());
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return new TileWirelessTransmitter();
}
@Override
public TileEntity createTileEntity(World world, IBlockState state) {
return new TileWirelessTransmitter();
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
}
@Override
public boolean onBlockActivated(World world, net.minecraft.util.math.BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
if (!world.isRemote) {
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_TRANSMITTER, world, pos.getX(), pos.getY(), pos.getZ());
}
return true;
}
return true;
}
}

View File

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

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

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

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

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

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

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

View File

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

View File

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

View File

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

View File

@@ -4,14 +4,12 @@ import net.minecraft.entity.player.EntityPlayer;
import refinedstorage.container.slot.SlotSpecimen;
import refinedstorage.tile.TileDetector;
public class ContainerDetector extends ContainerBase
{
public ContainerDetector(EntityPlayer player, TileDetector detector)
{
super(player);
public class ContainerDetector extends ContainerBase {
public ContainerDetector(EntityPlayer player, TileDetector detector) {
super(player);
addSlotToContainer(new SlotSpecimen(detector.getInventory(), 0, 107, 20, false));
addSlotToContainer(new SlotSpecimen(detector.getInventory(), 0, 107, 20, false));
addPlayerInventory(8, 55);
}
addPlayerInventory(8, 55);
}
}

View File

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

View File

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

View File

@@ -6,37 +6,32 @@ import refinedstorage.block.EnumGridType;
import refinedstorage.container.slot.SlotGridCraftingResult;
import refinedstorage.tile.TileGrid;
public class ContainerGrid extends ContainerBase
{
private TileGrid grid;
public class ContainerGrid extends ContainerBase {
private TileGrid grid;
public ContainerGrid(EntityPlayer player, TileGrid grid)
{
super(player);
public ContainerGrid(EntityPlayer player, TileGrid grid) {
super(player);
this.grid = grid;
this.grid = grid;
addPlayerInventory(8, grid.getType() == EnumGridType.CRAFTING ? 174 : 108);
addPlayerInventory(8, grid.getType() == EnumGridType.CRAFTING ? 174 : 108);
if (grid.getType() == EnumGridType.CRAFTING)
{
int x = 25;
int y = 106;
if (grid.getType() == EnumGridType.CRAFTING) {
int x = 25;
int y = 106;
for (int i = 0; i < 9; ++i)
{
addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
for (int i = 0; i < 9; ++i) {
addSlotToContainer(new Slot(grid.getCraftingInventory(), i, x, y));
x += 18;
x += 18;
if ((i + 1) % 3 == 0)
{
y += 18;
x = 25;
}
}
if ((i + 1) % 3 == 0) {
y += 18;
x = 25;
}
}
addSlotToContainer(new SlotGridCraftingResult(player, grid.getCraftingInventory(), grid.getCraftingResultInventory(), grid, 0, 133 + 4, 120 + 4));
}
}
addSlotToContainer(new SlotGridCraftingResult(player, grid.getCraftingInventory(), grid.getCraftingResultInventory(), grid, 0, 133 + 4, 120 + 4));
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -1,10 +1,5 @@
package refinedstorage.gui;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
@@ -25,333 +20,274 @@ import refinedstorage.storage.StorageItem;
import refinedstorage.tile.TileController;
import refinedstorage.tile.TileGrid;
public class GuiGrid extends GuiBase
{
private ContainerGrid container;
private TileGrid grid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
private GuiTextField searchField;
public class GuiGrid extends GuiBase {
private ContainerGrid container;
private TileGrid grid;
private int hoveringSlotId;
private int hoveringId;
private GuiTextField searchField;
private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70);
private int hoveringSlotId;
private int hoveringId;
public GuiGrid(ContainerGrid container, TileGrid grid)
{
super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
private Scrollbar scrollbar = new Scrollbar(174, 20, 12, 70);
this.container = container;
this.grid = grid;
}
public GuiGrid(ContainerGrid container, TileGrid grid) {
super(container, 193, grid.getType() == EnumGridType.CRAFTING ? 256 : 190);
@Override
public void init(int x, int y)
{
addSideButton(new SideButtonRedstoneMode(grid));
this.container = container;
this.grid = grid;
}
addSideButton(new SideButtonGridSortingDirection(grid));
addSideButton(new SideButtonGridSortingType(grid));
@Override
public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(grid));
searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT);
searchField.setEnableBackgroundDrawing(false);
searchField.setVisible(true);
searchField.setTextColor(16777215);
searchField.setCanLoseFocus(false);
searchField.setFocused(true);
}
addSideButton(new SideButtonGridSortingDirection(grid));
addSideButton(new SideButtonGridSortingType(grid));
@Override
public void update(int x, int y)
{
scrollbar.setCanScroll(getRows() > getVisibleRows());
}
searchField = new GuiTextField(0, fontRendererObj, x + 80 + 1, y + 6 + 1, 88 - 6, fontRendererObj.FONT_HEIGHT);
searchField.setEnableBackgroundDrawing(false);
searchField.setVisible(true);
searchField.setTextColor(16777215);
searchField.setCanLoseFocus(false);
searchField.setFocused(true);
}
public int getOffset()
{
return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows());
}
@Override
public void update(int x, int y) {
scrollbar.setCanScroll(getRows() > getVisibleRows());
}
public int getVisibleRows()
{
return 4;
}
public int getOffset() {
return (int) (scrollbar.getCurrentScroll() / 70f * (float) getRows());
}
public int getRows()
{
if (!grid.isConnected())
{
return 0;
}
public int getVisibleRows() {
return 4;
}
int max = (int) Math.ceil((float) getItems().size() / (float) 9);
public int getRows() {
if (!grid.isConnected()) {
return 0;
}
return max < 0 ? 0 : max;
}
int max = (int) Math.ceil((float) getItems().size() / (float) 9);
private boolean isHoveringOverValidSlot(List<StorageItem> items)
{
return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
}
return max < 0 ? 0 : max;
}
private boolean isHoveringOverSlot()
{
return hoveringSlotId >= 0;
}
private boolean isHoveringOverValidSlot(List<StorageItem> items) {
return grid.isConnected() && isHoveringOverSlot() && hoveringSlotId < items.size();
}
public boolean isHoveringOverClear(int mouseX, int mouseY)
{
if (grid.getType() == EnumGridType.CRAFTING)
{
return inBounds(81, 105, 7, 7, mouseX, mouseY);
}
private boolean isHoveringOverSlot() {
return hoveringSlotId >= 0;
}
return false;
}
public boolean isHoveringOverClear(int mouseX, int mouseY) {
if (grid.getType() == EnumGridType.CRAFTING) {
return inBounds(81, 105, 7, 7, mouseX, mouseY);
}
@Override
public void drawBackground(int x, int y, int mouseX, int mouseY)
{
if (grid.getType() == EnumGridType.CRAFTING)
{
bindTexture("gui/crafting_grid.png");
}
else
{
bindTexture("gui/grid.png");
}
return false;
}
drawTexture(x, y, 0, 0, width, height);
@Override
public void drawBackground(int x, int y, int mouseX, int mouseY) {
if (grid.getType() == EnumGridType.CRAFTING) {
bindTexture("gui/crafting_grid.png");
} else {
bindTexture("gui/grid.png");
}
scrollbar.draw(this);
drawTexture(x, y, 0, 0, width, height);
searchField.drawTextBox();
}
scrollbar.draw(this);
@Override
public void drawForeground(int mouseX, int mouseY)
{
scrollbar.update(this, mouseX, mouseY);
searchField.drawTextBox();
}
drawString(7, 7, t("gui.refinedstorage:grid"));
@Override
public void drawForeground(int mouseX, int mouseY) {
scrollbar.update(this, mouseX, mouseY);
if (grid.getType() == EnumGridType.CRAFTING)
{
drawString(7, 94, t("container.crafting"));
}
drawString(7, 7, t("gui.refinedstorage:grid"));
drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
if (grid.getType() == EnumGridType.CRAFTING) {
drawString(7, 94, t("container.crafting"));
}
int x = 8;
int y = 20;
drawString(7, grid.getType() == EnumGridType.CRAFTING ? 163 : 96, t("container.inventory"));
List<StorageItem> items = getItems();
int x = 8;
int y = 20;
hoveringSlotId = -1;
List<StorageItem> items = getItems();
int slot = getOffset() * 9;
hoveringSlotId = -1;
RenderHelper.enableGUIStandardItemLighting();
int slot = getOffset() * 9;
for (int i = 0; i < 9 * getVisibleRows(); ++i)
{
if (slot < items.size())
{
int qty = items.get(slot).getQuantity();
RenderHelper.enableGUIStandardItemLighting();
String text;
for (int i = 0; i < 9 * getVisibleRows(); ++i) {
if (slot < items.size()) {
int qty = items.get(slot).getQuantity();
if (qty >= 1000000)
{
text = String.valueOf((int) Math.floor(qty / 1000000)) + "M";
}
else if (qty >= 1000)
{
text = String.valueOf((int) Math.floor(qty / 1000)) + "K";
}
else if (qty == 1)
{
text = null;
}
else
{
text = String.valueOf(qty);
}
String text;
drawItem(x, y, items.get(slot).toItemStack(), true, text);
}
if (qty >= 1000000) {
text = String.valueOf((int) Math.floor(qty / 1000000)) + "M";
} else if (qty >= 1000) {
text = String.valueOf((int) Math.floor(qty / 1000)) + "K";
} else if (qty == 1) {
text = null;
} else {
text = String.valueOf(qty);
}
if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected())
{
hoveringSlotId = slot;
drawItem(x, y, items.get(slot).toItemStack(), true, text);
}
if (slot < items.size())
{
// We need to use the ID, because if we filter, the client-side index will change
// while the serverside's index will still be the same.
hoveringId = items.get(slot).getId();
}
if (inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isConnected()) {
hoveringSlotId = slot;
int color = grid.isConnected() ? -2130706433 : 0xFF5B5B5B;
if (slot < items.size()) {
// We need to use the ID, because if we filter, the client-side index will change
// while the serverside's index will still be the same.
hoveringId = items.get(slot).getId();
}
GlStateManager.disableLighting();
GlStateManager.disableDepth();
zLevel = 190;
GlStateManager.colorMask(true, true, true, false);
drawGradientRect(x, y, x + 16, y + 16, color, color);
zLevel = 0;
GlStateManager.colorMask(true, true, true, true);
GlStateManager.enableLighting();
GlStateManager.enableDepth();
}
int color = grid.isConnected() ? -2130706433 : 0xFF5B5B5B;
slot++;
GlStateManager.disableLighting();
GlStateManager.disableDepth();
zLevel = 190;
GlStateManager.colorMask(true, true, true, false);
drawGradientRect(x, y, x + 16, y + 16, color, color);
zLevel = 0;
GlStateManager.colorMask(true, true, true, true);
GlStateManager.enableLighting();
GlStateManager.enableDepth();
}
x += 18;
slot++;
if ((i + 1) % 9 == 0)
{
x = 8;
y += 18;
}
}
x += 18;
if (isHoveringOverValidSlot(items))
{
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
}
if ((i + 1) % 9 == 0) {
x = 8;
y += 18;
}
}
if (isHoveringOverClear(mouseX, mouseY))
{
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
}
}
if (isHoveringOverValidSlot(items)) {
drawTooltip(mouseX, mouseY, items.get(hoveringSlotId).toItemStack());
}
public List<StorageItem> getItems()
{
List<StorageItem> items = new ArrayList<StorageItem>();
if (isHoveringOverClear(mouseX, mouseY)) {
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
}
}
if (!grid.isConnected())
{
return items;
}
public List<StorageItem> getItems() {
List<StorageItem> items = new ArrayList<StorageItem>();
items.addAll(grid.getController().getItems());
if (!grid.isConnected()) {
return items;
}
if (!searchField.getText().trim().isEmpty())
{
Iterator<StorageItem> t = items.iterator();
items.addAll(grid.getController().getItems());
while (t.hasNext())
{
StorageItem item = t.next();
if (!searchField.getText().trim().isEmpty()) {
Iterator<StorageItem> t = items.iterator();
if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase()))
{
t.remove();
}
}
}
while (t.hasNext()) {
StorageItem item = t.next();
items.sort(new Comparator<StorageItem>()
{
@Override
public int compare(StorageItem o1, StorageItem o2)
{
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING)
{
return o2.toItemStack().getDisplayName().compareTo(o1.toItemStack().getDisplayName());
}
else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING)
{
return o1.toItemStack().getDisplayName().compareTo(o2.toItemStack().getDisplayName());
}
if (!item.toItemStack().getDisplayName().toLowerCase().contains(searchField.getText().toLowerCase())) {
t.remove();
}
}
}
return 0;
}
});
items.sort(new Comparator<StorageItem>() {
@Override
public int compare(StorageItem o1, StorageItem o2) {
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING) {
return o2.toItemStack().getDisplayName().compareTo(o1.toItemStack().getDisplayName());
} else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING) {
return o1.toItemStack().getDisplayName().compareTo(o2.toItemStack().getDisplayName());
}
if (grid.getSortingType() == TileGrid.SORTING_TYPE_QUANTITY)
{
items.sort(new Comparator<StorageItem>()
{
@Override
public int compare(StorageItem o1, StorageItem o2)
{
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING)
{
return Integer.valueOf(o2.getQuantity()).compareTo(o1.getQuantity());
}
else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING)
{
return Integer.valueOf(o1.getQuantity()).compareTo(o2.getQuantity());
}
return 0;
}
});
return 0;
}
});
}
if (grid.getSortingType() == TileGrid.SORTING_TYPE_QUANTITY) {
items.sort(new Comparator<StorageItem>() {
@Override
public int compare(StorageItem o1, StorageItem o2) {
if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_ASCENDING) {
return Integer.valueOf(o2.getQuantity()).compareTo(o1.getQuantity());
} else if (grid.getSortingDirection() == TileGrid.SORTING_DIRECTION_DESCENDING) {
return Integer.valueOf(o1.getQuantity()).compareTo(o2.getQuantity());
}
return items;
}
return 0;
}
});
}
@Override
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException
{
super.mouseClicked(mouseX, mouseY, clickedButton);
return items;
}
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
@Override
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException {
super.mouseClicked(mouseX, mouseY, clickedButton);
if (grid.isConnected())
{
TileController controller = grid.getController();
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null)
{
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), -1, clickedButton == 1));
}
else if (isHoveringOverValidSlot(getItems()) && container.getPlayer().inventory.getItemStack() == null)
{
boolean half = clickedButton == 1;
boolean shift = GuiScreen.isShiftKeyDown();
boolean one = clickedButton == 2;
if (grid.isConnected()) {
TileController controller = grid.getController();
RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift));
}
else if (clickedClear)
{
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear(grid));
}
else
{
for (Slot slot : container.getPlayerInventorySlots())
{
if (inBounds(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX - guiLeft, mouseY - guiTop))
{
if (GuiScreen.isShiftKeyDown())
{
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), slot.slotNumber, clickedButton == 1));
}
}
}
}
}
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null) {
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), -1, clickedButton == 1));
} else if (isHoveringOverValidSlot(getItems()) && container.getPlayer().inventory.getItemStack() == null) {
boolean half = clickedButton == 1;
boolean shift = GuiScreen.isShiftKeyDown();
boolean one = clickedButton == 2;
if (clickedClear)
{
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
}
}
RefinedStorage.NETWORK.sendToServer(new MessageStoragePull(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), hoveringId, half, one, shift));
} else if (clickedClear) {
RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear(grid));
} else {
for (Slot slot : container.getPlayerInventorySlots()) {
if (inBounds(slot.xDisplayPosition, slot.yDisplayPosition, 16, 16, mouseX - guiLeft, mouseY - guiTop)) {
if (GuiScreen.isShiftKeyDown()) {
RefinedStorage.NETWORK.sendToServer(new MessageStoragePush(controller.getPos().getX(), controller.getPos().getY(), controller.getPos().getZ(), slot.slotNumber, clickedButton == 1));
}
}
}
}
}
@Override
protected void keyTyped(char character, int keyCode) throws IOException
{
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode))
{
}
else
{
super.keyTyped(character, keyCode);
}
}
if (clickedClear) {
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
}
}
@Override
protected void keyTyped(char character, int keyCode) throws IOException {
if (!checkHotbarKeys(keyCode) && searchField.textboxKeyTyped(character, keyCode)) {
} else {
super.keyTyped(character, keyCode);
}
}
}

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

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

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

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

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

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

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

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

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

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

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

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

View File

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

151
src/main/java/refinedstorage/gui/Scrollbar.java Normal file → Executable file
View File

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

View File

@@ -2,45 +2,38 @@ package refinedstorage.gui.sidebutton;
import refinedstorage.gui.GuiBase;
public abstract class SideButton
{
private int id;
private int x;
private int y;
public abstract class SideButton {
private int id;
private int x;
private int y;
public int getId()
{
return id;
}
public int getId() {
return id;
}
public void setId(int id)
{
this.id = id;
}
public void setId(int id) {
this.id = id;
}
public int getX()
{
return x;
}
public int getX() {
return x;
}
public void setX(int x)
{
this.x = x;
}
public void setX(int x) {
this.x = x;
}
public int getY()
{
return y;
}
public int getY() {
return y;
}
public void setY(int y)
{
this.y = y;
}
public void setY(int y) {
this.y = y;
}
public abstract String getTooltip(GuiBase gui);
public abstract String getTooltip(GuiBase gui);
public abstract void draw(GuiBase gui, int x, int y);
public abstract void draw(GuiBase gui, int x, int y);
public abstract void actionPerformed();
public abstract void actionPerformed();
}

View File

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

View File

@@ -8,36 +8,31 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageDetectorModeUpdate;
import refinedstorage.tile.TileDetector;
public class SideButtonDetectorMode extends SideButton
{
private TileDetector detector;
public class SideButtonDetectorMode extends SideButton {
private TileDetector detector;
public SideButtonDetectorMode(TileDetector detector)
{
this.detector = detector;
}
public SideButtonDetectorMode(TileDetector detector) {
this.detector = detector;
}
@Override
public String getTooltip(GuiBase gui)
{
StringBuilder builder = new StringBuilder();
@Override
public String getTooltip(GuiBase gui) {
StringBuilder builder = new StringBuilder();
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:detector.mode")).append(TextFormatting.RESET).append("\n");
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:detector.mode")).append(TextFormatting.RESET).append("\n");
builder.append(gui.t("sidebutton.refinedstorage:detector.mode." + detector.getMode()));
builder.append(gui.t("sidebutton.refinedstorage:detector.mode." + detector.getMode()));
return builder.toString();
}
return builder.toString();
}
@Override
public void draw(GuiBase gui, int x, int y)
{
gui.drawItem(x, y, new ItemStack(Items.redstone, 1));
}
@Override
public void draw(GuiBase gui, int x, int y) {
gui.drawItem(x, y, new ItemStack(Items.redstone, 1));
}
@Override
public void actionPerformed()
{
RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector));
}
@Override
public void actionPerformed() {
RefinedStorage.NETWORK.sendToServer(new MessageDetectorModeUpdate(detector));
}
}

View File

@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageGridSortingUpdate;
import refinedstorage.tile.TileGrid;
public class SideButtonGridSortingDirection extends SideButton
{
private TileGrid grid;
public class SideButtonGridSortingDirection extends SideButton {
private TileGrid grid;
public SideButtonGridSortingDirection(TileGrid grid)
{
this.grid = grid;
}
public SideButtonGridSortingDirection(TileGrid grid) {
this.grid = grid;
}
@Override
public String getTooltip(GuiBase gui)
{
StringBuilder builder = new StringBuilder();
@Override
public String getTooltip(GuiBase gui) {
StringBuilder builder = new StringBuilder();
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.direction")).append(TextFormatting.RESET).append("\n");
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.direction")).append(TextFormatting.RESET).append("\n");
builder.append(gui.t("sidebutton.refinedstorage:sorting.direction." + grid.getSortingDirection()));
builder.append(gui.t("sidebutton.refinedstorage:sorting.direction." + grid.getSortingDirection()));
return builder.toString();
}
return builder.toString();
}
@Override
public void draw(GuiBase gui, int x, int y)
{
gui.bindTexture("icons.png");
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
}
@Override
public void draw(GuiBase gui, int x, int y) {
gui.bindTexture("icons.png");
gui.drawTexture(x, y + 2 - 1, grid.getSortingDirection() * 16, 16, 16, 16);
}
@Override
public void actionPerformed()
{
int dir = grid.getSortingDirection();
@Override
public void actionPerformed() {
int dir = grid.getSortingDirection();
if (dir == TileGrid.SORTING_DIRECTION_ASCENDING)
{
dir = TileGrid.SORTING_DIRECTION_DESCENDING;
}
else if (dir == TileGrid.SORTING_DIRECTION_DESCENDING)
{
dir = TileGrid.SORTING_DIRECTION_ASCENDING;
}
if (dir == TileGrid.SORTING_DIRECTION_ASCENDING) {
dir = TileGrid.SORTING_DIRECTION_DESCENDING;
} else if (dir == TileGrid.SORTING_DIRECTION_DESCENDING) {
dir = TileGrid.SORTING_DIRECTION_ASCENDING;
}
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, dir, grid.getSortingType()));
}
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, dir, grid.getSortingType()));
}
}

View File

@@ -6,48 +6,40 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageGridSortingUpdate;
import refinedstorage.tile.TileGrid;
public class SideButtonGridSortingType extends SideButton
{
private TileGrid grid;
public class SideButtonGridSortingType extends SideButton {
private TileGrid grid;
public SideButtonGridSortingType(TileGrid grid)
{
this.grid = grid;
}
public SideButtonGridSortingType(TileGrid grid) {
this.grid = grid;
}
@Override
public String getTooltip(GuiBase gui)
{
StringBuilder builder = new StringBuilder();
@Override
public String getTooltip(GuiBase gui) {
StringBuilder builder = new StringBuilder();
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.type")).append(TextFormatting.RESET).append("\n");
builder.append(TextFormatting.YELLOW).append(gui.t("sidebutton.refinedstorage:sorting.type")).append(TextFormatting.RESET).append("\n");
builder.append(gui.t("sidebutton.refinedstorage:sorting.type." + grid.getSortingType()));
builder.append(gui.t("sidebutton.refinedstorage:sorting.type." + grid.getSortingType()));
return builder.toString();
}
return builder.toString();
}
@Override
public void draw(GuiBase gui, int x, int y)
{
gui.bindTexture("icons.png");
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
}
@Override
public void draw(GuiBase gui, int x, int y) {
gui.bindTexture("icons.png");
gui.drawTexture(x - 1, y + 2 - 1, grid.getSortingType() * 16, 32, 16, 16);
}
@Override
public void actionPerformed()
{
int type = grid.getSortingType();
@Override
public void actionPerformed() {
int type = grid.getSortingType();
if (type == TileGrid.SORTING_TYPE_QUANTITY)
{
type = TileGrid.SORTING_TYPE_NAME;
}
else if (type == TileGrid.SORTING_TYPE_NAME)
{
type = TileGrid.SORTING_TYPE_QUANTITY;
}
if (type == TileGrid.SORTING_TYPE_QUANTITY) {
type = TileGrid.SORTING_TYPE_NAME;
} else if (type == TileGrid.SORTING_TYPE_NAME) {
type = TileGrid.SORTING_TYPE_QUANTITY;
}
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, grid.getSortingDirection(), type));
}
RefinedStorage.NETWORK.sendToServer(new MessageGridSortingUpdate(grid, grid.getSortingDirection(), type));
}
}

View File

@@ -6,49 +6,41 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageModeToggle;
import refinedstorage.tile.settings.IModeSetting;
public class SideButtonMode extends SideButton
{
private IModeSetting mode;
public class SideButtonMode extends SideButton {
private IModeSetting mode;
public SideButtonMode(IModeSetting mode)
{
this.mode = mode;
}
public SideButtonMode(IModeSetting mode) {
this.mode = mode;
}
@Override
public String getTooltip(GuiBase gui)
{
StringBuilder builder = new StringBuilder();
@Override
public String getTooltip(GuiBase gui) {
StringBuilder builder = new StringBuilder();
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:mode")).append(TextFormatting.RESET).append("\n");
builder.append(TextFormatting.GREEN).append(gui.t("sidebutton.refinedstorage:mode")).append(TextFormatting.RESET).append("\n");
builder.append(gui.t("sidebutton.refinedstorage:mode." + (mode.isWhitelist() ? "whitelist" : "blacklist")));
builder.append(gui.t("sidebutton.refinedstorage:mode." + (mode.isWhitelist() ? "whitelist" : "blacklist")));
return builder.toString();
}
return builder.toString();
}
@Override
public void draw(GuiBase gui, int x, int y)
{
gui.bindTexture("icons.png");
@Override
public void draw(GuiBase gui, int x, int y) {
gui.bindTexture("icons.png");
int tx = 0;
int tx = 0;
if (mode.isWhitelist())
{
tx = 0;
}
else if (mode.isBlacklist())
{
tx = 16;
}
if (mode.isWhitelist()) {
tx = 0;
} else if (mode.isBlacklist()) {
tx = 16;
}
gui.drawTexture(x, y + 1, tx, 64, 16, 16);
}
gui.drawTexture(x, y + 1, tx, 64, 16, 16);
}
@Override
public void actionPerformed()
{
RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode));
}
@Override
public void actionPerformed() {
RefinedStorage.NETWORK.sendToServer(new MessageModeToggle(mode));
}
}

View File

@@ -6,37 +6,32 @@ import refinedstorage.gui.GuiBase;
import refinedstorage.network.MessageRedstoneModeUpdate;
import refinedstorage.tile.settings.IRedstoneModeSetting;
public class SideButtonRedstoneMode extends SideButton
{
private IRedstoneModeSetting setting;
public class SideButtonRedstoneMode extends SideButton {
private IRedstoneModeSetting setting;
public SideButtonRedstoneMode(IRedstoneModeSetting setting)
{
this.setting = setting;
}
public SideButtonRedstoneMode(IRedstoneModeSetting setting) {
this.setting = setting;
}
@Override
public String getTooltip(GuiBase gui)
{
StringBuilder builder = new StringBuilder();
@Override
public String getTooltip(GuiBase gui) {
StringBuilder builder = new StringBuilder();
builder.append(TextFormatting.RED).append(gui.t("sidebutton.refinedstorage:redstone_mode")).append(TextFormatting.RESET).append("\n");
builder.append(TextFormatting.RED).append(gui.t("sidebutton.refinedstorage:redstone_mode")).append(TextFormatting.RESET).append("\n");
builder.append(gui.t("sidebutton.refinedstorage:redstone_mode." + setting.getRedstoneMode().id));
builder.append(gui.t("sidebutton.refinedstorage:redstone_mode." + setting.getRedstoneMode().id));
return builder.toString();
}
return builder.toString();
}
@Override
public void draw(GuiBase gui, int x, int y)
{
gui.bindTexture("icons.png");
gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16);
}
@Override
public void draw(GuiBase gui, int x, int y) {
gui.bindTexture("icons.png");
gui.drawTexture(x, y + 1, setting.getRedstoneMode().id * 16, 0, 16, 16);
}
@Override
public void actionPerformed()
{
RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
}
@Override
public void actionPerformed() {
RefinedStorage.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
}
}

View File

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

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

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

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

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

View File

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

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

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

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

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

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

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

45
src/main/java/refinedstorage/item/ItemProcessor.java Normal file → Executable file
View File

@@ -1,34 +1,31 @@
package refinedstorage.item;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemProcessor extends ItemBase
{
public static final int TYPE_PRINTED_BASIC = 0;
public static final int TYPE_PRINTED_IMPROVED = 1;
public static final int TYPE_PRINTED_ADVANCED = 2;
public static final int TYPE_BASIC = 3;
public static final int TYPE_IMPROVED = 4;
public static final int TYPE_ADVANCED = 5;
public static final int TYPE_PRINTED_SILICON = 6;
import java.util.List;
public ItemProcessor()
{
super("processor");
public class ItemProcessor extends ItemBase {
public static final int TYPE_PRINTED_BASIC = 0;
public static final int TYPE_PRINTED_IMPROVED = 1;
public static final int TYPE_PRINTED_ADVANCED = 2;
public static final int TYPE_BASIC = 3;
public static final int TYPE_IMPROVED = 4;
public static final int TYPE_ADVANCED = 5;
public static final int TYPE_PRINTED_SILICON = 6;
setHasSubtypes(true);
setMaxDamage(0);
}
public ItemProcessor() {
super("processor");
@Override
public void getSubItems(Item item, CreativeTabs tab, List list)
{
for (int i = 0; i <= 6; ++i)
{
list.add(new ItemStack(item, 1, i));
}
}
setHasSubtypes(true);
setMaxDamage(0);
}
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i <= 6; ++i) {
list.add(new ItemStack(item, 1, i));
}
}
}

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