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()) {
|
if (stack.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: Should it be here??
|
||||||
ItemPowerManager capEnergy = null;
|
ItemPowerManager capEnergy = null;
|
||||||
if (stack.getItem() instanceof ItemElectricTreetap) {
|
if (stack.getItem() instanceof ItemElectricTreetap) {
|
||||||
capEnergy = new ItemPowerManager(stack);
|
capEnergy = new ItemPowerManager(stack);
|
||||||
|
@ -130,7 +132,7 @@ public class BlockRubberLog extends LogBlock {
|
||||||
0.6F, 1F);
|
0.6F, 1F);
|
||||||
if (!worldIn.isClient) {
|
if (!worldIn.isClient) {
|
||||||
if (capEnergy != null) {
|
if (capEnergy != null) {
|
||||||
capEnergy.extractEnergy(20, false);
|
capEnergy.useEnergy(20, false);
|
||||||
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
|
||||||
PlayerEntity player = (PlayerEntity) entityIn;
|
PlayerEntity player = (PlayerEntity) entityIn;
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
||||||
capEnergy.extractEnergy(usage, false);
|
capEnergy.useEnergy(usage, false);
|
||||||
player.setInvisible(true);
|
player.setInvisible(true);
|
||||||
} else {
|
} else {
|
||||||
if (!player.hasStatusEffect(StatusEffects.INVISIBILITY)) {
|
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) {
|
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class ItemDrill extends PickaxeItem implements IEnergyItemInfo, ItemDurab
|
||||||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class ItemJackhammer extends PickaxeItem implements IEnergyItemInfo, Item
|
||||||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class ItemRockCutter extends PickaxeItem implements IEnergyItemInfo, Item
|
||||||
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
if (rand.nextInt(EnchantmentHelper.getLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class ItemElectricTreetap extends Item implements IEnergyItemInfo, ItemDu
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(context.getStack());
|
ItemPowerManager capEnergy = new ItemPowerManager(context.getStack());
|
||||||
if(TechRebornAPI.ic2Helper != null && capEnergy.getEnergyStored() >= cost){
|
if(TechRebornAPI.ic2Helper != null && capEnergy.getEnergyStored() >= cost){
|
||||||
if(TechRebornAPI.ic2Helper.extractSap(context, null) && !context.getWorld().isClient){
|
if(TechRebornAPI.ic2Helper.extractSap(context, null) && !context.getWorld().isClient){
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, context.getPlayer());
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, context.getPlayer());
|
||||||
|
|
||||||
return ActionResult.SUCCESS;
|
return ActionResult.SUCCESS;
|
||||||
|
|
|
@ -200,7 +200,7 @@ public class ItemIndustrialChainsaw extends ItemChainsaw {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
|
|
||||||
blockState.getBlock().afterBreak(world, (PlayerEntity) entityLiving, pos, blockState, world.getBlockEntity(pos), stack);
|
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);
|
ItemPowerManager capEnergy = new ItemPowerManager(drill);
|
||||||
|
|
||||||
if(capEnergy.getEnergyStored() > cost){
|
if(capEnergy.getEnergyStored() > cost){
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
||||||
|
|
||||||
blockState.getBlock().onBlockRemoved(blockState, world, pos, blockState, true);
|
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) {
|
public boolean postHit(ItemStack stack, LivingEntity entityHit, LivingEntity entityHitter) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
if (capEnergy.getEnergyStored() >= cost) {
|
if (capEnergy.getEnergyStored() >= cost) {
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityHitter);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityHitter);
|
||||||
|
|
||||||
return true;
|
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) {
|
public boolean postMine(ItemStack stack, World worldIn, BlockState blockIn, BlockPos pos, LivingEntity entityLiving) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
|
|
||||||
capEnergy.extractEnergy(cost, false);
|
capEnergy.useEnergy(cost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -109,7 +109,7 @@ public class ItemOmniTool extends PickaxeItem implements IEnergyItemInfo, ItemDu
|
||||||
public boolean postHit(ItemStack stack, LivingEntity entityliving, LivingEntity attacker) {
|
public boolean postHit(ItemStack stack, LivingEntity entityliving, LivingEntity attacker) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
||||||
if (capEnergy.getEnergyStored() >= hitCost) {
|
if (capEnergy.getEnergyStored() >= hitCost) {
|
||||||
capEnergy.extractEnergy(hitCost, false);
|
capEnergy.useEnergy(hitCost, false);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityliving);
|
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityliving);
|
||||||
|
|
||||||
entityliving.damage(DamageSource.player((PlayerEntity) attacker), 8F);
|
entityliving.damage(DamageSource.player((PlayerEntity) attacker), 8F);
|
||||||
|
|
Loading…
Add table
Reference in a new issue