finish controller

This commit is contained in:
Raoul Van den Berge
2015-12-29 12:35:36 +01:00
parent 7bb5390007
commit 2237784d5f
13 changed files with 101 additions and 5 deletions

View File

@@ -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

View File

@@ -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"));
}
}

View File

@@ -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