Items use energy to do work. Closes #1770
This commit is contained in:
parent
4012a69fab
commit
56d1d196f0
11 changed files with 14 additions and 12 deletions
|
@ -119,6 +119,8 @@ public class BlockRubberLog extends LogBlock {
|
|||
if (stack.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//TODO: Should it be here??
|
||||
ItemPowerManager capEnergy = null;
|
||||
if (stack.getItem() instanceof ItemElectricTreetap) {
|
||||
capEnergy = new ItemPowerManager(stack);
|
||||
|
@ -130,7 +132,7 @@ public class BlockRubberLog extends LogBlock {
|
|||
0.6F, 1F);
|
||||
if (!worldIn.isClient) {
|
||||
if (capEnergy != null) {
|
||||
capEnergy.extractEnergy(20, false);
|
||||
capEnergy.useEnergy(20, false);
|
||||
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
||||
} else {
|
||||
|
|
|
@ -63,7 +63,7 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
|
|||
PlayerEntity player = (PlayerEntity) entityIn;
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
||||
capEnergy.extractEnergy(usage, false);
|
||||
capEnergy.useEnergy(usage, false);
|
||||
player.setInvisible(true);
|
||||
} else {
|
||||
if (!player.hasStatusEffect(StatusEffects.INVISIBILITY)) {
|
||||
|
|
|
@ -90,7 +90,7 @@ public class ItemChainsaw extends AxeItem implements IEnergyItemInfo, ItemDurabi
|
|||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -75,7 +75,7 @@ public class ItemDrill extends PickaxeItem implements IEnergyItemInfo, ItemDurab
|
|||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -75,7 +75,7 @@ public class ItemJackhammer extends PickaxeItem implements IEnergyItemInfo, Item
|
|||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -83,7 +83,7 @@ public class ItemRockCutter extends PickaxeItem implements IEnergyItemInfo, Item
|
|||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -60,7 +60,7 @@ public class ItemElectricTreetap extends Item implements IEnergyItemInfo, ItemDu
|
|||
ItemPowerManager capEnergy = new ItemPowerManager(context.getStack());
|
||||
if(TechRebornAPI.ic2Helper != null && capEnergy.getEnergyStored() >= cost){
|
||||
if(TechRebornAPI.ic2Helper.extractSap(context, null) && !context.getWorld().isClient){
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, context.getPlayer());
|
||||
|
||||
return ActionResult.SUCCESS;
|
||||
|
|
|
@ -200,7 +200,7 @@ public class ItemIndustrialChainsaw extends ItemChainsaw {
|
|||
return;
|
||||
}
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
|
||||
blockState.getBlock().afterBreak(world, (PlayerEntity) entityLiving, pos, blockState, world.getBlockEntity(pos), stack);
|
||||
|
|
|
@ -123,7 +123,7 @@ public class ItemIndustrialDrill extends ItemDrill {
|
|||
ItemPowerManager capEnergy = new ItemPowerManager(drill);
|
||||
|
||||
if(capEnergy.getEnergyStored() > cost){
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
||||
|
||||
blockState.getBlock().onBlockRemoved(blockState, world, pos, blockState, true);
|
||||
|
|
|
@ -86,7 +86,7 @@ public class ItemNanosaber extends SwordItem implements IEnergyItemInfo, ItemDur
|
|||
public boolean postHit(ItemStack stack, LivingEntity entityHit, LivingEntity entityHitter) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
if (capEnergy.getEnergyStored() >= cost) {
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityHitter);
|
||||
|
||||
return true;
|
||||
|
|
|
@ -78,7 +78,7 @@ public class ItemOmniTool extends PickaxeItem implements IEnergyItemInfo, ItemDu
|
|||
public boolean postMine(ItemStack stack, World worldIn, BlockState blockIn, BlockPos pos, LivingEntity entityLiving) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
|
||||
capEnergy.extractEnergy(cost, false);
|
||||
capEnergy.useEnergy(cost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||
|
||||
return true;
|
||||
|
@ -109,7 +109,7 @@ public class ItemOmniTool extends PickaxeItem implements IEnergyItemInfo, ItemDu
|
|||
public boolean postHit(ItemStack stack, LivingEntity entityliving, LivingEntity attacker) {
|
||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||
if (capEnergy.getEnergyStored() >= hitCost) {
|
||||
capEnergy.extractEnergy(hitCost, false);
|
||||
capEnergy.useEnergy(hitCost, false);
|
||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityliving);
|
||||
|
||||
entityliving.damage(DamageSource.player((PlayerEntity) attacker), 8F);
|
||||
|
|
Loading…
Add table
Reference in a new issue