Drcrazy fixes

This commit is contained in:
Dimmerworld 2017-10-08 11:38:40 +11:00 committed by drcrazy
parent c7f599ead1
commit 9972822acd

View file

@ -27,17 +27,13 @@ package techreborn.tiles.generator;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.TextFormatting;
import reborncore.api.IToolDrop; import reborncore.api.IToolDrop;
import reborncore.api.power.EnumPowerTier; import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.PowerSystem;
import reborncore.common.powerSystem.TilePowerAcceptor; import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.blocks.generator.solarpanel.BlockSolarPanel; import techreborn.blocks.generator.solarpanel.BlockSolarPanel;
import techreborn.blocks.generator.solarpanel.EnumPanelType; import techreborn.blocks.generator.solarpanel.EnumPanelType;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import java.util.List;
/** /**
* Created by modmuss50 on 25/02/2016. * Created by modmuss50 on 25/02/2016.
*/ */
@ -46,9 +42,8 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
boolean canSeeSky = false; boolean canSeeSky = false;
int tickCount = 0;
int powerToAdd; int powerToAdd;
EnumPanelType panel = EnumPanelType.Basic; EnumPanelType panel = null;
public TileSolarPanel() { public TileSolarPanel() {
super(); super();
@ -56,7 +51,7 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
@Override @Override
public void onLoad() { public void onLoad() {
panel = getPanelType(); this.panel = getPanelType();
} }
@Override @Override
@ -65,13 +60,11 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
if (this.world.isRemote) { if (this.world.isRemote) {
return; return;
} }
if (tickCount >= 20) { if (world.getTotalWorldTime() % 20 == 0) {
canSeeSky = this.world.canBlockSeeSky(this.pos.up()); canSeeSky = this.world.canBlockSeeSky(this.pos.up());
tickCount = 0;
} }
if (isSunOut()) { if (isSunOut()) {
this.powerToAdd = panel.generationRateD; this.powerToAdd = panel.generationRateD;
this.addEnergy(this.powerToAdd);
} else if (canSeeSky) { } else if (canSeeSky) {
this.powerToAdd = panel.generationRateN; this.powerToAdd = panel.generationRateN;
} else { } else {
@ -79,7 +72,6 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
} }
this.addEnergy(this.powerToAdd); this.addEnergy(this.powerToAdd);
tickCount++;
} }
public boolean isSunOut() { public boolean isSunOut() {
@ -95,7 +87,10 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
@Override @Override
public double getBaseMaxPower() { public double getBaseMaxPower() {
return (double) panel.internalCapacity; if (this.panel != null) {
return (double) this.panel.internalCapacity;
}
return 0;
} }
@Override @Override
@ -110,8 +105,10 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
@Override @Override
public double getBaseMaxOutput() { public double getBaseMaxOutput() {
if (this.panel != null) {
return this.panel.powerTier.getMaxOutput();
}
return 0; return 0;
//TODO Figure out why panel.generationrateN crashes the game on load.
} }
@Override @Override
@ -119,11 +116,13 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
return 0; return 0;
} }
@Override @Override
public EnumPowerTier getBaseTier() { public EnumPowerTier getBaseTier() {
return EnumPowerTier.MEDIUM; if (this.panel != null){
//TODO Figure out why panel.powerTier crashes the game on load. return this.panel.powerTier;
} }
return EnumPowerTier.MEDIUM;
}
@Override @Override
public ItemStack getToolDrop(final EntityPlayer p0) { public ItemStack getToolDrop(final EntityPlayer p0) {