diff --git a/src/main/java/storagecraft/block/BlockController.java b/src/main/java/storagecraft/block/BlockController.java index 61da6c1cf..6e50dfc69 100755 --- a/src/main/java/storagecraft/block/BlockController.java +++ b/src/main/java/storagecraft/block/BlockController.java @@ -16,7 +16,7 @@ import storagecraft.tile.TileController; public class BlockController extends BlockBase { - public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 15); + public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 8); public BlockController() { @@ -37,7 +37,7 @@ public class BlockController extends BlockBase public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) { return super.getActualState(state, world, pos) - .withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(15)); + .withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaled(8)); } @Override diff --git a/src/main/java/storagecraft/proxy/ClientProxy.java b/src/main/java/storagecraft/proxy/ClientProxy.java index 636d97b09..9c0e2bb4c 100755 --- a/src/main/java/storagecraft/proxy/ClientProxy.java +++ b/src/main/java/storagecraft/proxy/ClientProxy.java @@ -106,5 +106,6 @@ public class ClientProxy extends CommonProxy mesher.register(Item.getItemFromBlock(StorageCraftBlocks.IMPORTER), 0, new ModelResourceLocation("storagecraft:importer", "inventory")); mesher.register(Item.getItemFromBlock(StorageCraftBlocks.EXTERNAL_STORAGE), 0, new ModelResourceLocation("storagecraft:external_storage", "inventory")); mesher.register(Item.getItemFromBlock(StorageCraftBlocks.DRIVE), 0, new ModelResourceLocation("storagecraft:drive", "inventory")); + mesher.register(Item.getItemFromBlock(StorageCraftBlocks.CONTROLLER), 0, new ModelResourceLocation("storagecraft:controller", "inventory")); } } diff --git a/src/main/java/storagecraft/tile/TileController.java b/src/main/java/storagecraft/tile/TileController.java index f4bc7d5ce..aafbfe3b9 100755 --- a/src/main/java/storagecraft/tile/TileController.java +++ b/src/main/java/storagecraft/tile/TileController.java @@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; +import storagecraft.StorageCraftBlocks; import storagecraft.storage.IStorage; import storagecraft.storage.IStorageProvider; import storagecraft.storage.StorageItem; @@ -27,7 +28,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor private List visitedCables = new ArrayList(); - private EnergyStorage energy = new EnergyStorage(32000); + private EnergyStorage energy = new EnergyStorage(1000); private int energyUsage; private boolean destroyed = false; @@ -44,6 +45,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor if (!worldObj.isRemote) { + int lastEnergy = energy.getEnergyStored(); + if (ticks % 40 == 0) { if (!isActive()) @@ -111,6 +114,11 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor } energy.extractEnergy(energyUsage, false); + + if (lastEnergy != energy.getEnergyStored()) { + worldObj.markBlockForUpdate(pos); + worldObj.updateComparatorOutputLevel(pos, StorageCraftBlocks.CONTROLLER); + } } } @@ -326,8 +334,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor public boolean isActive() { - return true; - // @TODO: return energy.getEnergyStored() >= getEnergyUsage() && redstoneMode.isEnabled(worldObj, pos); + return energy.getEnergyStored() >= getEnergyUsage() && redstoneMode.isEnabled(worldObj, pos); } @Override diff --git a/src/main/resources/assets/storagecraft/blockstates/controller.json b/src/main/resources/assets/storagecraft/blockstates/controller.json new file mode 100755 index 000000000..53ec13fa3 --- /dev/null +++ b/src/main/resources/assets/storagecraft/blockstates/controller.json @@ -0,0 +1,88 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "orientable", + "textures": { + "side": "storagecraft:blocks/side", + "top": "storagecraft:blocks/side", + "front": "storagecraft:blocks/controller_0" + } + }, + "variants": { + "inventory": [ + { + "y": 0 + }, + { + "y": 0 + } + ], + "energy": { + "0": { + "textures": { + "front": "storagecraft:blocks/controller_0" + } + }, + "1": { + "textures": { + "front": "storagecraft:blocks/controller_1" + } + }, + "2": { + "textures": { + "front": "storagecraft:blocks/controller_2" + } + }, + "3": { + "textures": { + "front": "storagecraft:blocks/controller_3" + } + }, + "4": { + "textures": { + "front": "storagecraft:blocks/controller_4" + } + }, + "5": { + "textures": { + "front": "storagecraft:blocks/controller_5" + } + }, + "6": { + "textures": { + "front": "storagecraft:blocks/controller_6" + } + }, + "7": { + "textures": { + "front": "storagecraft:blocks/controller_7" + } + }, + "8": { + "textures": { + "front": "storagecraft:blocks/controller_8" + } + } + }, + "direction": { + "north": { + "y": 0 + }, + "east": { + "y": 90 + }, + "south": { + "y": 180 + }, + "west": { + "y": 270 + }, + "up": { + "x": 270 + }, + "down": { + "x": 90 + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller0.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_0.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller0.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_0.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller1.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_1.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller1.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_1.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller2.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_2.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller2.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_2.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller3.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_3.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller3.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_3.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller4.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_4.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller4.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_4.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller5.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_5.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller5.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_5.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller6.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_6.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller6.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_6.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller7.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_7.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller7.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_7.png diff --git a/src/main/resources/assets/storagecraft/textures/blocks/controller8.png b/src/main/resources/assets/storagecraft/textures/blocks/controller_8.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/blocks/controller8.png rename to src/main/resources/assets/storagecraft/textures/blocks/controller_8.png