finish controller
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<BlockPos> visitedCables = new ArrayList<BlockPos>();
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user