Finish porting to new power api
This commit is contained in:
parent
4f80a8c651
commit
aa6eb60d46
19 changed files with 103 additions and 150 deletions
|
@ -100,7 +100,7 @@ dependencies {
|
||||||
transitive = false
|
transitive = false
|
||||||
}
|
}
|
||||||
|
|
||||||
compile 'teamreborn:energy:0.0.5'
|
compile 'teamreborn:energy:0.0.6'
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
|
|
@ -32,6 +32,7 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import reborncore.api.power.ItemPowerHolder;
|
||||||
import reborncore.common.config.Configuration;
|
import reborncore.common.config.Configuration;
|
||||||
import reborncore.common.recipes.RecipeCrafter;
|
import reborncore.common.recipes.RecipeCrafter;
|
||||||
import reborncore.common.util.Torus;
|
import reborncore.common.util.Torus;
|
||||||
|
@ -44,7 +45,6 @@ import techreborn.init.*;
|
||||||
import techreborn.packets.ClientboundPackets;
|
import techreborn.packets.ClientboundPackets;
|
||||||
import techreborn.packets.ServerboundPackets;
|
import techreborn.packets.ServerboundPackets;
|
||||||
import techreborn.utils.BehaviorDispenseScrapbox;
|
import techreborn.utils.BehaviorDispenseScrapbox;
|
||||||
import reborncore.common.chunkloading.ChunkLoaderManager;
|
|
||||||
import techreborn.world.WorldGenerator;
|
import techreborn.world.WorldGenerator;
|
||||||
|
|
||||||
public class TechReborn implements ModInitializer {
|
public class TechReborn implements ModInitializer {
|
||||||
|
@ -62,6 +62,7 @@ public class TechReborn implements ModInitializer {
|
||||||
INSTANCE = this;
|
INSTANCE = this;
|
||||||
new Configuration(TechRebornConfig.class, "techreborn");
|
new Configuration(TechRebornConfig.class, "techreborn");
|
||||||
|
|
||||||
|
ItemPowerHolder.setup();
|
||||||
|
|
||||||
// Done to force the class to load
|
// Done to force the class to load
|
||||||
ModRecipes.GRINDER.getName();
|
ModRecipes.GRINDER.getName();
|
||||||
|
|
|
@ -148,11 +148,9 @@ public class CableBlockEntity extends BlockEntity
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Collections.shuffle(acceptors);
|
Collections.shuffle(acceptors);
|
||||||
acceptors.forEach(blockEntity -> {
|
acceptors.forEach(blockEntity -> Energy.of(this)
|
||||||
Energy.of(this)
|
.into(Energy.of(blockEntity))
|
||||||
.into(Energy.of(blockEntity))
|
.move());
|
||||||
.move();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IListInfoProvider
|
// IListInfoProvider
|
||||||
|
|
|
@ -37,6 +37,7 @@ import reborncore.common.blocks.BlockMachineBase;
|
||||||
import reborncore.common.powerSystem.PowerAcceptorBlockEntity;
|
import reborncore.common.powerSystem.PowerAcceptorBlockEntity;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.StringUtils;
|
import reborncore.common.util.StringUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
import techreborn.blocks.generator.BlockSolarPanel;
|
import techreborn.blocks.generator.BlockSolarPanel;
|
||||||
import techreborn.init.TRBlockEntities;
|
import techreborn.init.TRBlockEntities;
|
||||||
|
@ -49,7 +50,7 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
|
|
||||||
boolean canSeeSky = false;
|
boolean canSeeSky = false;
|
||||||
boolean lastState = false;
|
boolean lastState = false;
|
||||||
SolarPanels panel;
|
private SolarPanels panel;
|
||||||
|
|
||||||
public SolarPanelBlockEntity() {
|
public SolarPanelBlockEntity() {
|
||||||
super(TRBlockEntities.SOLAR_PANEL);
|
super(TRBlockEntities.SOLAR_PANEL);
|
||||||
|
@ -77,7 +78,7 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
if (world.isClient) {
|
if (world.isClient) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (panel == TRContent.SolarPanels.CREATIVE) {
|
if (getPanel() == TRContent.SolarPanels.CREATIVE) {
|
||||||
checkOverfill = false;
|
checkOverfill = false;
|
||||||
setEnergy(Integer.MAX_VALUE);
|
setEnergy(Integer.MAX_VALUE);
|
||||||
return;
|
return;
|
||||||
|
@ -91,9 +92,9 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
}
|
}
|
||||||
int powerToAdd;
|
int powerToAdd;
|
||||||
if (isSunOut()) {
|
if (isSunOut()) {
|
||||||
powerToAdd = panel.generationRateD;
|
powerToAdd = getPanel().generationRateD;
|
||||||
} else if (canSeeSky) {
|
} else if (canSeeSky) {
|
||||||
powerToAdd = panel.generationRateN;
|
powerToAdd = getPanel().generationRateN;
|
||||||
} else {
|
} else {
|
||||||
powerToAdd = 0;
|
powerToAdd = 0;
|
||||||
}
|
}
|
||||||
|
@ -103,7 +104,7 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getBaseMaxPower() {
|
public double getBaseMaxPower() {
|
||||||
return panel.internalCapacity;
|
return getPanel().internalCapacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -118,7 +119,7 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getBaseMaxOutput() {
|
public double getBaseMaxOutput() {
|
||||||
return panel.generationRateD;
|
return getPanel().generationRateD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -128,7 +129,7 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EnergyTier getTier() {
|
public EnergyTier getTier() {
|
||||||
return panel.powerTier;
|
return getPanel().powerTier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -136,6 +137,13 @@ public class SolarPanelBlockEntity extends PowerAcceptorBlockEntity implements I
|
||||||
// Nope
|
// Nope
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SolarPanels getPanel() {
|
||||||
|
if(panel == null){
|
||||||
|
updatePanel();
|
||||||
|
}
|
||||||
|
return panel;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addInfo(List<Text> info, boolean isReal, boolean hasData) {
|
public void addInfo(List<Text> info, boolean isReal, boolean hasData) {
|
||||||
info.add(new LiteralText(Formatting.GRAY + StringUtils.t("reborncore.tooltip.energy.maxEnergy") + ": "
|
info.add(new LiteralText(Formatting.GRAY + StringUtils.t("reborncore.tooltip.energy.maxEnergy") + ": "
|
||||||
|
|
|
@ -114,6 +114,9 @@ public class EnergyStorageBlockEntity extends PowerAcceptorBlockEntity
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Direction getFacingEnum() {
|
public Direction getFacingEnum() {
|
||||||
|
if(world == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
Block block = world.getBlockState(pos).getBlock();
|
Block block = world.getBlockState(pos).getBlock();
|
||||||
if (block instanceof BlockEnergyStorage) {
|
if (block instanceof BlockEnergyStorage) {
|
||||||
return ((BlockEnergyStorage) block).getFacing(world.getBlockState(pos));
|
return ((BlockEnergyStorage) block).getFacing(world.getBlockState(pos));
|
||||||
|
|
|
@ -42,9 +42,9 @@ import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.util.WorldUtils;
|
import reborncore.common.util.WorldUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import techreborn.events.TRRecipeHandler;
|
import techreborn.events.TRRecipeHandler;
|
||||||
import techreborn.init.ModSounds;
|
import techreborn.init.ModSounds;
|
||||||
import techreborn.init.TRContent;
|
import techreborn.init.TRContent;
|
||||||
|
@ -121,21 +121,15 @@ public class BlockRubberLog extends LogBlock {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Should it be here??
|
if ((Energy.valid(stack) && Energy.of(stack).getEnergy() > 20) || stack.getItem() instanceof ItemTreeTap) {
|
||||||
ItemPowerManager capEnergy = null;
|
|
||||||
if (stack.getItem() instanceof ItemElectricTreetap) {
|
|
||||||
capEnergy = new ItemPowerManager(stack);
|
|
||||||
}
|
|
||||||
if ((capEnergy != null && capEnergy.getEnergyStored() > 20) || stack.getItem() instanceof ItemTreeTap) {
|
|
||||||
if (state.get(HAS_SAP) && state.get(SAP_SIDE) == hitResult.getSide()) {
|
if (state.get(HAS_SAP) && state.get(SAP_SIDE) == hitResult.getSide()) {
|
||||||
worldIn.setBlockState(pos, state.with(HAS_SAP, false).with(SAP_SIDE, Direction.fromHorizontal(0)));
|
worldIn.setBlockState(pos, state.with(HAS_SAP, false).with(SAP_SIDE, Direction.fromHorizontal(0)));
|
||||||
worldIn.playSound(null, pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAP_EXTRACT, SoundCategory.BLOCKS,
|
worldIn.playSound(null, pos.getX(), pos.getY(), pos.getZ(), ModSounds.SAP_EXTRACT, SoundCategory.BLOCKS,
|
||||||
0.6F, 1F);
|
0.6F, 1F);
|
||||||
if (!worldIn.isClient) {
|
if (!worldIn.isClient) {
|
||||||
if (capEnergy != null) {
|
if (Energy.valid(stack)) {
|
||||||
capEnergy.useEnergy(20, false);
|
Energy.of(stack).use(20);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, playerIn);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
|
||||||
} else {
|
} else {
|
||||||
playerIn.getStackInHand(Hand.MAIN_HAND).damage(1, playerIn, playerEntity -> {});
|
playerIn.getStackInHand(Hand.MAIN_HAND).damage(1, playerIn, playerEntity -> {});
|
||||||
}
|
}
|
||||||
|
@ -151,14 +145,4 @@ public class BlockRubberLog extends LogBlock {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void getDrops(BlockState state, DefaultedList<ItemStack> drops, World world, BlockPos pos, int fortune) {
|
|
||||||
// drops.add(new ItemStack(this));
|
|
||||||
// if (state.get(HAS_SAP)) {
|
|
||||||
// if (new Random().nextInt(4) == 0) {
|
|
||||||
// drops.add(TRContent.Parts.SAP.getStack());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,9 +40,9 @@ import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Formatting;
|
import net.minecraft.util.Formatting;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import reborncore.api.IListInfoProvider;
|
import reborncore.api.IListInfoProvider;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.StringUtils;
|
import reborncore.common.util.StringUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import techreborn.TechReborn;
|
import techreborn.TechReborn;
|
||||||
|
@ -61,10 +61,9 @@ public class StackToolTipHandler implements ItemTooltipCallback {
|
||||||
if (item instanceof IListInfoProvider) {
|
if (item instanceof IListInfoProvider) {
|
||||||
((IListInfoProvider) item).addInfo(components, false, false);
|
((IListInfoProvider) item).addInfo(components, false, false);
|
||||||
} else if (stack.getItem() instanceof EnergyHolder) {
|
} else if (stack.getItem() instanceof EnergyHolder) {
|
||||||
ItemPowerManager itemPowerManager = new ItemPowerManager(stack);
|
LiteralText line1 = new LiteralText(PowerSystem.getLocaliszedPowerFormattedNoSuffix(Energy.of(stack).getEnergy()));
|
||||||
LiteralText line1 = new LiteralText(PowerSystem.getLocaliszedPowerFormattedNoSuffix(itemPowerManager.getEnergyStored()));
|
|
||||||
line1.append("/");
|
line1.append("/");
|
||||||
line1.append(PowerSystem.getLocaliszedPowerFormattedNoSuffix(itemPowerManager.getMaxEnergyStored()));
|
line1.append(PowerSystem.getLocaliszedPowerFormattedNoSuffix(Energy.of(stack).getMaxStored()));
|
||||||
line1.append(" ");
|
line1.append(" ");
|
||||||
line1.append(PowerSystem.getDisplayPower().abbreviation);
|
line1.append(PowerSystem.getDisplayPower().abbreviation);
|
||||||
line1.formatted(Formatting.GOLD);
|
line1.formatted(Formatting.GOLD);
|
||||||
|
@ -72,7 +71,7 @@ public class StackToolTipHandler implements ItemTooltipCallback {
|
||||||
components.add(1, line1);
|
components.add(1, line1);
|
||||||
|
|
||||||
if (Screen.hasShiftDown()) {
|
if (Screen.hasShiftDown()) {
|
||||||
int percentage = percentage(itemPowerManager.getMaxEnergyStored(), itemPowerManager.getEnergyStored());
|
int percentage = percentage(Energy.of(stack).getMaxStored(), Energy.of(stack).getEnergy());
|
||||||
Formatting color = StringUtils.getPercentageColour(percentage);
|
Formatting color = StringUtils.getPercentageColour(percentage);
|
||||||
components.add(2, new LiteralText(color + "" + percentage + "%" + Formatting.GRAY + " Charged"));
|
components.add(2, new LiteralText(color + "" + percentage + "%" + Formatting.GRAY + " Charged"));
|
||||||
// TODO: show both input and output rates
|
// TODO: show both input and output rates
|
||||||
|
|
|
@ -34,9 +34,9 @@ import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.DefaultedList;
|
import net.minecraft.util.DefaultedList;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -61,22 +61,17 @@ public class ItemCloakingDevice extends ItemTRArmour implements EnergyHolder {
|
||||||
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
||||||
if (entityIn instanceof PlayerEntity) {
|
if (entityIn instanceof PlayerEntity) {
|
||||||
PlayerEntity player = (PlayerEntity) entityIn;
|
PlayerEntity player = (PlayerEntity) entityIn;
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
|
||||||
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
|
if (Energy.valid(stack)) {
|
||||||
capEnergy.useEnergy(usage, false);
|
Energy.of(stack).use(usage, () -> player.setInvisible(true), () -> {
|
||||||
player.setInvisible(true);
|
if (!player.hasStatusEffect(StatusEffects.INVISIBILITY)) {
|
||||||
} else {
|
player.setInvisible(false);
|
||||||
if (!player.hasStatusEffect(StatusEffects.INVISIBILITY)) {
|
}
|
||||||
player.setInvisible(false);
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onArmorTick(World world, PlayerEntity player, ItemStack stack) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
@Override
|
@Override
|
||||||
public void appendStacks(ItemGroup group, DefaultedList<ItemStack> itemList) {
|
public void appendStacks(ItemGroup group, DefaultedList<ItemStack> itemList) {
|
||||||
|
@ -101,7 +96,6 @@ public class ItemCloakingDevice extends ItemTRArmour implements EnergyHolder {
|
||||||
return PowerSystem.getDisplayPower().colour;
|
return PowerSystem.getDisplayPower().colour;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// IEnergyItemInfo
|
// IEnergyItemInfo
|
||||||
@Override
|
@Override
|
||||||
public double getMaxStoredPower() {
|
public double getMaxStoredPower() {
|
||||||
|
|
|
@ -35,7 +35,6 @@ import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.DefaultedList;
|
import net.minecraft.util.DefaultedList;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
|
@ -63,11 +62,9 @@ public class ItemLithiumIonBatpack extends ArmorItem implements EnergyHolder, It
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(itemStack);
|
|
||||||
|
|
||||||
for (int i = 0; i < player.inventory.getInvSize(); i++) {
|
for (int i = 0; i < player.inventory.getInvSize(); i++) {
|
||||||
if (!player.inventory.getInvStack(i).isEmpty()) {
|
if (!player.inventory.getInvStack(i).isEmpty()) {
|
||||||
ExternalPowerSystems.chargeItem(capEnergy, player.inventory.getInvStack(i));
|
ExternalPowerSystems.chargeItem(itemStack, player.inventory.getInvStack(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,10 +32,10 @@ import net.minecraft.item.ItemPropertyGetter;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
import techreborn.TechReborn;
|
import techreborn.TechReborn;
|
||||||
|
@ -55,7 +55,7 @@ public class ItemBattery extends Item implements EnergyHolder, ItemDurabilityExt
|
||||||
@Override
|
@Override
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public float call(ItemStack stack, @Nullable World worldIn, @Nullable LivingEntity entityIn) {
|
public float call(ItemStack stack, @Nullable World worldIn, @Nullable LivingEntity entityIn) {
|
||||||
if (!stack.isEmpty() && new ItemPowerManager(stack).getEnergyStored() == 0) {
|
if (!stack.isEmpty() && Energy.of(stack).getEnergy() == 0) {
|
||||||
return 1.0F;
|
return 1.0F;
|
||||||
}
|
}
|
||||||
return 0.0F;
|
return 0.0F;
|
||||||
|
|
|
@ -35,11 +35,11 @@ import net.minecraft.item.*;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -65,7 +65,7 @@ public class ItemChainsaw extends AxeItem implements EnergyHolder, ItemDurabilit
|
||||||
@Override
|
@Override
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public float call(ItemStack stack, @Nullable World worldIn, @Nullable LivingEntity entityIn) {
|
public float call(ItemStack stack, @Nullable World worldIn, @Nullable LivingEntity entityIn) {
|
||||||
if (!stack.isEmpty() && new ItemPowerManager(stack).getEnergyStored() >= cost
|
if (!stack.isEmpty() && Energy.of(stack).getEnergy() >= cost
|
||||||
&& entityIn != null && entityIn.getMainHandStack().equals(stack)) {
|
&& entityIn != null && entityIn.getMainHandStack().equals(stack)) {
|
||||||
return 1.0F;
|
return 1.0F;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ public class ItemChainsaw extends AxeItem implements EnergyHolder, ItemDurabilit
|
||||||
// ItemAxe
|
// ItemAxe
|
||||||
@Override
|
@Override
|
||||||
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() >= cost
|
if (Energy.of(stack).getEnergy() >= cost
|
||||||
&& (state.getMaterial() == Material.WOOD)) {
|
&& (state.getMaterial() == Material.WOOD)) {
|
||||||
return this.poweredSpeed;
|
return this.poweredSpeed;
|
||||||
} else {
|
} else {
|
||||||
|
@ -90,10 +90,8 @@ public class ItemChainsaw extends AxeItem implements EnergyHolder, ItemDurabilit
|
||||||
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) {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
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);
|
Energy.of(stack).use(cost);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,11 +31,11 @@ import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -59,7 +59,7 @@ public class ItemDrill extends PickaxeItem implements EnergyHolder, ItemDurabili
|
||||||
// ItemPickaxe
|
// ItemPickaxe
|
||||||
@Override
|
@Override
|
||||||
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (Energy.of(stack).getEnergy() < cost) {
|
||||||
return unpoweredSpeed;
|
return unpoweredSpeed;
|
||||||
}
|
}
|
||||||
if (Items.WOODEN_PICKAXE.getMiningSpeed(stack, state) > 1.0F
|
if (Items.WOODEN_PICKAXE.getMiningSpeed(stack, state) > 1.0F
|
||||||
|
@ -75,10 +75,8 @@ public class ItemDrill extends PickaxeItem implements EnergyHolder, ItemDurabili
|
||||||
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) {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
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);
|
Energy.of(stack).use(cost);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,11 +35,11 @@ import net.minecraft.item.PickaxeItem;
|
||||||
import net.minecraft.item.ToolMaterials;
|
import net.minecraft.item.ToolMaterials;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -61,7 +61,7 @@ public class ItemJackhammer extends PickaxeItem implements EnergyHolder, ItemDur
|
||||||
// ItemPickaxe
|
// ItemPickaxe
|
||||||
@Override
|
@Override
|
||||||
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
||||||
if (Block.isNaturalStone(state.getBlock()) && new ItemPowerManager(stack).getEnergyStored() >= cost) {
|
if (Block.isNaturalStone(state.getBlock()) && Energy.of(stack).getEnergy() >= cost) {
|
||||||
return miningSpeed;
|
return miningSpeed;
|
||||||
} else {
|
} else {
|
||||||
return 0.5F;
|
return 0.5F;
|
||||||
|
@ -73,10 +73,8 @@ public class ItemJackhammer extends PickaxeItem implements EnergyHolder, ItemDur
|
||||||
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) {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
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);
|
Energy.of(stack).use(cost);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,11 +35,11 @@ import net.minecraft.item.*;
|
||||||
import net.minecraft.util.DefaultedList;
|
import net.minecraft.util.DefaultedList;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -71,7 +71,7 @@ public class ItemRockCutter extends PickaxeItem implements EnergyHolder, ItemDur
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
public float getMiningSpeed(ItemStack stack, BlockState state) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (Energy.of(stack).getEnergy() < cost) {
|
||||||
return 2F;
|
return 2F;
|
||||||
} else {
|
} else {
|
||||||
return Items.DIAMOND_PICKAXE.getMiningSpeed(stack, state);
|
return Items.DIAMOND_PICKAXE.getMiningSpeed(stack, state);
|
||||||
|
@ -83,10 +83,8 @@ public class ItemRockCutter extends PickaxeItem implements EnergyHolder, ItemDur
|
||||||
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) {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
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);
|
Energy.of(stack).use(cost);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -137,8 +135,7 @@ public class ItemRockCutter extends PickaxeItem implements EnergyHolder, ItemDur
|
||||||
uncharged.addEnchantment(Enchantments.SILK_TOUCH, 1);
|
uncharged.addEnchantment(Enchantments.SILK_TOUCH, 1);
|
||||||
ItemStack charged = new ItemStack(TRContent.ROCK_CUTTER);
|
ItemStack charged = new ItemStack(TRContent.ROCK_CUTTER);
|
||||||
charged.addEnchantment(Enchantments.SILK_TOUCH, 1);
|
charged.addEnchantment(Enchantments.SILK_TOUCH, 1);
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(charged);
|
Energy.of(charged).set(Energy.of(charged).getMaxStored());
|
||||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
|
||||||
|
|
||||||
itemList.add(uncharged);
|
itemList.add(uncharged);
|
||||||
itemList.add(charged);
|
itemList.add(charged);
|
||||||
|
|
|
@ -44,10 +44,10 @@ import net.minecraft.util.*;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.util.ChatUtils;
|
import reborncore.common.util.ChatUtils;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import techreborn.config.TechRebornConfig;
|
import techreborn.config.TechRebornConfig;
|
||||||
import techreborn.init.TRContent;
|
import techreborn.init.TRContent;
|
||||||
import techreborn.items.tool.ItemChainsaw;
|
import techreborn.items.tool.ItemChainsaw;
|
||||||
|
@ -117,7 +117,7 @@ public class ItemIndustrialChainsaw extends ItemChainsaw {
|
||||||
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
||||||
final ItemStack stack = player.getStackInHand(hand);
|
final ItemStack stack = player.getStackInHand(hand);
|
||||||
if (player.isSneaking()) {
|
if (player.isSneaking()) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (Energy.of(stack).getEnergy() < cost) {
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
||||||
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
||||||
|
@ -148,7 +148,7 @@ public class ItemIndustrialChainsaw extends ItemChainsaw {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void usageTick(World world, LivingEntity entity, ItemStack stack, int i) {
|
public void usageTick(World world, LivingEntity entity, ItemStack stack, int i) {
|
||||||
if (ItemUtils.isActive(stack) && new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (ItemUtils.isActive(stack) && Energy.of(stack).getEnergy() < cost) {
|
||||||
if(entity.world.isClient){
|
if(entity.world.isClient){
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
||||||
|
@ -178,24 +178,21 @@ public class ItemIndustrialChainsaw extends ItemChainsaw {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
Energy.of(stack).use(cost, () -> {
|
||||||
if (capEnergy.getEnergyStored() < cost) {
|
BlockState blockState = world.getBlockState(pos);
|
||||||
return;
|
if (blockState.getHardness(world, pos) == -1.0F) {
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
|
if(!(entityLiving instanceof PlayerEntity)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
BlockState blockState = world.getBlockState(pos);
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
if (blockState.getHardness(world, pos) == -1.0F) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(!(entityLiving instanceof PlayerEntity)){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
capEnergy.useEnergy(cost, false);
|
blockState.getBlock().afterBreak(world, (PlayerEntity) entityLiving, pos, blockState, world.getBlockEntity(pos), stack);
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
world.setBlockState(pos, Blocks.AIR.getDefaultState());
|
||||||
|
world.removeBlockEntity(pos);
|
||||||
|
});
|
||||||
|
|
||||||
blockState.getBlock().afterBreak(world, (PlayerEntity) entityLiving, pos, blockState, world.getBlockEntity(pos), stack);
|
|
||||||
world.setBlockState(pos, Blocks.AIR.getDefaultState());
|
|
||||||
world.removeBlockEntity(pos);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,10 +47,10 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.RayTraceContext;
|
import net.minecraft.world.RayTraceContext;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.util.ChatUtils;
|
import reborncore.common.util.ChatUtils;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import techreborn.config.TechRebornConfig;
|
import techreborn.config.TechRebornConfig;
|
||||||
import techreborn.init.TRContent;
|
import techreborn.init.TRContent;
|
||||||
import techreborn.items.tool.ItemDrill;
|
import techreborn.items.tool.ItemDrill;
|
||||||
|
@ -121,17 +121,14 @@ public class ItemIndustrialDrill extends ItemDrill {
|
||||||
private void breakBlock(BlockPos pos, World world, PlayerEntity playerIn, ItemStack drill) {
|
private void breakBlock(BlockPos pos, World world, PlayerEntity playerIn, ItemStack drill) {
|
||||||
BlockState blockState = world.getBlockState(pos);
|
BlockState blockState = world.getBlockState(pos);
|
||||||
|
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(drill);
|
Energy.of(drill).use(cost, () -> {
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(drill, playerIn);
|
||||||
if(capEnergy.getEnergyStored() > cost){
|
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, playerIn);
|
|
||||||
|
|
||||||
blockState.getBlock().onBlockRemoved(blockState, world, pos, blockState, true);
|
blockState.getBlock().onBlockRemoved(blockState, world, pos, blockState, true);
|
||||||
blockState.getBlock().afterBreak(world, playerIn, pos, blockState, world.getBlockEntity(pos), drill);
|
blockState.getBlock().afterBreak(world, playerIn, pos, blockState, world.getBlockEntity(pos), drill);
|
||||||
world.setBlockState(pos, Blocks.AIR.getDefaultState());
|
world.setBlockState(pos, Blocks.AIR.getDefaultState());
|
||||||
world.removeBlockEntity(pos);
|
world.removeBlockEntity(pos);
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean shouldBreak(PlayerEntity playerIn, World worldIn, BlockPos originalPos, BlockPos pos) {
|
private boolean shouldBreak(PlayerEntity playerIn, World worldIn, BlockPos originalPos, BlockPos pos) {
|
||||||
|
@ -176,7 +173,7 @@ public class ItemIndustrialDrill extends ItemDrill {
|
||||||
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
||||||
final ItemStack stack = player.getStackInHand(hand);
|
final ItemStack stack = player.getStackInHand(hand);
|
||||||
if (player.isSneaking()) {
|
if (player.isSneaking()) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (Energy.of(stack).getEnergy() < cost) {
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
||||||
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
||||||
|
@ -207,7 +204,7 @@ public class ItemIndustrialDrill extends ItemDrill {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void usageTick(World world, LivingEntity entity, ItemStack stack, int i) {
|
public void usageTick(World world, LivingEntity entity, ItemStack stack, int i) {
|
||||||
if (ItemUtils.isActive(stack) && new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (ItemUtils.isActive(stack) && Energy.of(stack).getEnergy() < cost) {
|
||||||
if(entity.world.isClient){
|
if(entity.world.isClient){
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
||||||
|
|
|
@ -42,13 +42,13 @@ import net.minecraft.text.TranslatableText;
|
||||||
import net.minecraft.util.*;
|
import net.minecraft.util.*;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.items.ItemStackModifiers;
|
import reborncore.api.items.ItemStackModifiers;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ChatUtils;
|
import reborncore.common.util.ChatUtils;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
import reborncore.common.util.StringUtils;
|
import reborncore.common.util.StringUtils;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -77,8 +77,7 @@ public class ItemNanosaber extends SwordItem implements EnergyHolder, ItemDurabi
|
||||||
@Nullable
|
@Nullable
|
||||||
LivingEntity entityIn) {
|
LivingEntity entityIn) {
|
||||||
if (ItemUtils.isActive(stack)) {
|
if (ItemUtils.isActive(stack)) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
if (Energy.of(stack).getMaxStored() - Energy.of(stack).getEnergy() >= 0.9 * Energy.of(stack).getMaxStored()) {
|
||||||
if (capEnergy.getMaxEnergyStored() - capEnergy.getEnergyStored() >= 0.9 * capEnergy.getMaxEnergyStored()) {
|
|
||||||
return 0.5F;
|
return 0.5F;
|
||||||
}
|
}
|
||||||
return 1.0F;
|
return 1.0F;
|
||||||
|
@ -91,14 +90,9 @@ public class ItemNanosaber extends SwordItem implements EnergyHolder, ItemDurabi
|
||||||
// ItemSword
|
// ItemSword
|
||||||
@Override
|
@Override
|
||||||
public boolean postHit(ItemStack stack, LivingEntity entityHit, LivingEntity entityHitter) {
|
public boolean postHit(ItemStack stack, LivingEntity entityHit, LivingEntity entityHitter) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
boolean used = Energy.of(stack).use(cost);
|
||||||
if (capEnergy.getEnergyStored() >= cost) {
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityHitter);
|
||||||
capEnergy.useEnergy(cost, false);
|
return used;
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityHitter);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -116,7 +110,7 @@ public class ItemNanosaber extends SwordItem implements EnergyHolder, ItemDurabi
|
||||||
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
public TypedActionResult<ItemStack> use(final World world, final PlayerEntity player, final Hand hand) {
|
||||||
final ItemStack stack = player.getStackInHand(hand);
|
final ItemStack stack = player.getStackInHand(hand);
|
||||||
if (player.isSneaking()) {
|
if (player.isSneaking()) {
|
||||||
if (new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (Energy.of(stack).getEnergy() < cost) {
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyErrorTo") + " "
|
||||||
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
+ Formatting.GOLD + StringUtils.t("techreborn.message.nanosaberActivate")));
|
||||||
|
@ -147,7 +141,7 @@ public class ItemNanosaber extends SwordItem implements EnergyHolder, ItemDurabi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
|
||||||
if (ItemUtils.isActive(stack) && new ItemPowerManager(stack).getEnergyStored() < cost) {
|
if (ItemUtils.isActive(stack) && Energy.of(stack).getEnergy() < cost) {
|
||||||
if(worldIn.isClient){
|
if(worldIn.isClient){
|
||||||
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new LiteralText(
|
||||||
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
Formatting.GRAY + StringUtils.t("techreborn.message.nanosaberEnergyError") + " "
|
||||||
|
@ -191,14 +185,12 @@ public class ItemNanosaber extends SwordItem implements EnergyHolder, ItemDurabi
|
||||||
ItemStack inactiveCharged = new ItemStack(TRContent.NANOSABER);
|
ItemStack inactiveCharged = new ItemStack(TRContent.NANOSABER);
|
||||||
inactiveCharged.setTag(new CompoundTag());
|
inactiveCharged.setTag(new CompoundTag());
|
||||||
inactiveCharged.getTag().putBoolean("isActive", false);
|
inactiveCharged.getTag().putBoolean("isActive", false);
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(inactiveCharged);
|
Energy.of(inactiveCharged).set(Energy.of(inactiveCharged).getMaxStored());
|
||||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
|
||||||
|
|
||||||
ItemStack activeCharged = new ItemStack(TRContent.NANOSABER);
|
ItemStack activeCharged = new ItemStack(TRContent.NANOSABER);
|
||||||
activeCharged.setTag(new CompoundTag());
|
activeCharged.setTag(new CompoundTag());
|
||||||
activeCharged.getTag().putBoolean("isActive", true);
|
activeCharged.getTag().putBoolean("isActive", true);
|
||||||
ItemPowerManager capEnergy2 = new ItemPowerManager(activeCharged);
|
Energy.of(activeCharged).set(Energy.of(activeCharged).getMaxStored());
|
||||||
capEnergy2.setEnergyStored(capEnergy2.getMaxEnergyStored());
|
|
||||||
|
|
||||||
itemList.add(inactiveUncharged);
|
itemList.add(inactiveUncharged);
|
||||||
itemList.add(inactiveCharged);
|
itemList.add(inactiveCharged);
|
||||||
|
|
|
@ -39,12 +39,12 @@ import net.minecraft.util.DefaultedList;
|
||||||
import net.minecraft.util.Formatting;
|
import net.minecraft.util.Formatting;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
|
||||||
import reborncore.common.powerSystem.ExternalPowerSystems;
|
import reborncore.common.powerSystem.ExternalPowerSystems;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.util.ItemDurabilityExtensions;
|
import reborncore.common.util.ItemDurabilityExtensions;
|
||||||
import reborncore.common.util.ItemUtils;
|
import reborncore.common.util.ItemUtils;
|
||||||
import reborncore.common.util.TorchHelper;
|
import reborncore.common.util.TorchHelper;
|
||||||
|
import team.reborn.energy.Energy;
|
||||||
import team.reborn.energy.EnergyHolder;
|
import team.reborn.energy.EnergyHolder;
|
||||||
import team.reborn.energy.EnergySide;
|
import team.reborn.energy.EnergySide;
|
||||||
import team.reborn.energy.EnergyTier;
|
import team.reborn.energy.EnergyTier;
|
||||||
|
@ -79,11 +79,8 @@ public class ItemOmniTool extends PickaxeItem implements EnergyHolder, ItemDurab
|
||||||
// ItemTool
|
// ItemTool
|
||||||
@Override
|
@Override
|
||||||
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);
|
Energy.of(stack).use(cost);
|
||||||
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityLiving);
|
||||||
capEnergy.useEnergy(cost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityLiving);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,13 +107,8 @@ public class ItemOmniTool extends PickaxeItem implements EnergyHolder, ItemDurab
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean postHit(ItemStack stack, LivingEntity entityliving, LivingEntity attacker) {
|
public boolean postHit(ItemStack stack, LivingEntity entityliving, LivingEntity attacker) {
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(stack);
|
Energy.of(stack).use(hitCost, () -> entityliving.damage(DamageSource.player((PlayerEntity) attacker), 8F));
|
||||||
if (capEnergy.getEnergyStored() >= hitCost) {
|
ExternalPowerSystems.requestEnergyFromArmor(stack, entityliving);
|
||||||
capEnergy.useEnergy(hitCost, false);
|
|
||||||
ExternalPowerSystems.requestEnergyFromArmor(capEnergy, entityliving);
|
|
||||||
|
|
||||||
entityliving.damage(DamageSource.player((PlayerEntity) attacker), 8F);
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ import net.minecraft.util.DefaultedList;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import reborncore.RebornRegistry;
|
import reborncore.RebornRegistry;
|
||||||
import reborncore.api.power.ItemPowerManager;
|
import team.reborn.energy.Energy;
|
||||||
import techreborn.TechReborn;
|
import techreborn.TechReborn;
|
||||||
|
|
||||||
public class InitUtils {
|
public class InitUtils {
|
||||||
|
@ -54,8 +54,8 @@ public class InitUtils {
|
||||||
public static void initPoweredItems(Item item, DefaultedList<ItemStack> itemList) {
|
public static void initPoweredItems(Item item, DefaultedList<ItemStack> itemList) {
|
||||||
ItemStack uncharged = new ItemStack(item);
|
ItemStack uncharged = new ItemStack(item);
|
||||||
ItemStack charged = new ItemStack(item);
|
ItemStack charged = new ItemStack(item);
|
||||||
ItemPowerManager capEnergy = new ItemPowerManager(charged);
|
|
||||||
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
|
Energy.of(charged).set(Energy.of(charged).getMaxStored());
|
||||||
|
|
||||||
itemList.add(uncharged);
|
itemList.add(uncharged);
|
||||||
itemList.add(charged);
|
itemList.add(charged);
|
||||||
|
|
Loading…
Add table
Reference in a new issue