From 053324154e97b3216717176ed1c921ee4ef67570 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 24 Mar 2019 00:54:54 +0000 Subject: [PATCH] Improve creative solar panel --- .../generator/TileCreativeSolarPanel.java | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/techreborn/tiles/generator/TileCreativeSolarPanel.java b/src/main/java/techreborn/tiles/generator/TileCreativeSolarPanel.java index d2f5970fc..3e8024ad8 100644 --- a/src/main/java/techreborn/tiles/generator/TileCreativeSolarPanel.java +++ b/src/main/java/techreborn/tiles/generator/TileCreativeSolarPanel.java @@ -28,6 +28,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; +import net.minecraftforge.energy.CapabilityEnergy; +import net.minecraftforge.energy.IEnergyStorage; import reborncore.api.IToolDrop; import reborncore.api.power.EnumPowerTier; import reborncore.common.powerSystem.PowerSystem; @@ -48,24 +50,18 @@ public class TileCreativeSolarPanel extends TilePowerAcceptor implements IToolDr @Override public void update() { - //If FE power is disabled we handle the power this way. - if(!PowerSystem.EnergySystem.FE.enabled.get()){ - boolean added = false; - for (EnumFacing facing : EnumFacing.VALUES){ - TileEntity tileEntity = world.getTileEntity(getPos().offset(facing)); - if(tileEntity instanceof TilePowerAcceptor){ - ((TilePowerAcceptor) tileEntity).addEnergy(100000); - added = true; + if(world.isRemote){ + return; + } + for (EnumFacing facing : EnumFacing.VALUES){ + TileEntity tileEntity = world.getTileEntity(getPos().offset(facing)); + if(tileEntity != null ){ + IEnergyStorage energyStorage = tileEntity.getCapability(CapabilityEnergy.ENERGY, facing.getOpposite()); + if(energyStorage != null){ + energyStorage.receiveEnergy(Integer.MAX_VALUE, false); } } - if(!added){ - //If nothing happened then go back to to ic2 power - super.update(); - } - } else { - super.update(); } - setEnergy(getMaxPower()); }