From 44ca9d1067bacb1e737b2fb6a0d117261eda4fe4 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Thu, 21 Nov 2013 08:44:59 -0500 Subject: [PATCH] Start work on bounding blocks --- common/mekanism/common/item/ItemBlockMachine.java | 13 ++++++++++--- .../common/tileentity/TileEntityDigitalMiner.java | 4 ++-- common/mekanism/common/util/MekanismUtils.java | 12 ------------ .../generators/common/item/ItemBlockGenerator.java | 2 +- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/common/mekanism/common/item/ItemBlockMachine.java b/common/mekanism/common/item/ItemBlockMachine.java index 00cb9dc7e..58f58febd 100644 --- a/common/mekanism/common/item/ItemBlockMachine.java +++ b/common/mekanism/common/item/ItemBlockMachine.java @@ -156,9 +156,14 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, IItem @Override public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { - boolean place = super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata); + boolean place = true; - if(place) + if(stack.getItemDamage() == MachineType.DIGITAL_MINER.meta) + { + + } + + if(place && super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata)) { TileEntityElectricBlock tileEntity = (TileEntityElectricBlock)world.getBlockTileEntity(x, y, z); @@ -206,9 +211,11 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, IItem ((ISustainedInventory)tileEntity).setInventory(getInventory(stack)); tileEntity.electricityStored = getEnergy(stack); + + return true; } - return place; + return false; } @Override diff --git a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java index 9913faf50..122d181fe 100644 --- a/common/mekanism/common/tileentity/TileEntityDigitalMiner.java +++ b/common/mekanism/common/tileentity/TileEntityDigitalMiner.java @@ -102,14 +102,14 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I { ChargeUtils.discharge(27, this); - if(running && getEnergy() >= MekanismUtils.getEnergy(getSpeedMultiplier(), ENERGY_USAGE) && searcher.state == State.FINISHED && oresToMine.size() > 0) + if(running && getEnergy() >= MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_USAGE) && searcher.state == State.FINISHED && oresToMine.size() > 0) { if(delay > 0) { delay--; } - setEnergy(getEnergy()-MekanismUtils.getEnergy(getSpeedMultiplier(), ENERGY_USAGE)); + setEnergy(getEnergy()-MekanismUtils.getEnergyPerTick(getSpeedMultiplier(), getEnergyMultiplier(), ENERGY_USAGE)); if(delay == 0) { diff --git a/common/mekanism/common/util/MekanismUtils.java b/common/mekanism/common/util/MekanismUtils.java index b4057035b..a98104213 100644 --- a/common/mekanism/common/util/MekanismUtils.java +++ b/common/mekanism/common/util/MekanismUtils.java @@ -557,18 +557,6 @@ public final class MekanismUtils return (int)(def * Math.pow(10, (-speedUpgrade/9.0))); } - /** - * Gets the energy required per tick for a machine via it's upgrades. - * @param speedUpgrade - number of speed upgrades - * @param energyUpgrade - number of energy upgrades - * @param def - the original, default energy required - * @return max energy per tick - */ - public static int getEnergyPerTick(int speedUpgrade, int energyUpgrade, int def) - { - return (int)(def * Math.pow(10, ((speedUpgrade-energyUpgrade)/9.0))); - } - /** * Gets the energy required per tick for a machine via it's upgrades. * @param speedUpgrade - number of speed upgrades diff --git a/common/mekanism/generators/common/item/ItemBlockGenerator.java b/common/mekanism/generators/common/item/ItemBlockGenerator.java index 87a6783d3..8741c224d 100644 --- a/common/mekanism/generators/common/item/ItemBlockGenerator.java +++ b/common/mekanism/generators/common/item/ItemBlockGenerator.java @@ -112,7 +112,7 @@ public class ItemBlockGenerator extends ItemBlock implements IEnergizedItem, IIt if(stack.getItemDamage() == GeneratorType.ADVANCED_SOLAR_GENERATOR.meta) { - if(world.getBlockId(x, y, z) != Block.tallGrass.blockID && world.getBlockId(x, y, z) != 0) + if(!Block.blocksList[world.getBlockId(x, y, z)].isBlockReplaceable(world, x, y, z) && world.getBlockId(x, y, z) != 0) place = false; if(world.getBlockId(x, y, z) != 0)