From 29476bce612def7eee3b0d6bfde280320ce9e9b1 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Thu, 26 Nov 2015 18:45:06 +0100 Subject: [PATCH] Fixed Solar Panel working even though blocked Fixes https://github.com/Ellpeck/ActuallyAdditions/issues/22 --- .../tile/TileEntityFurnaceSolar.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceSolar.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceSolar.java index 20d9b4a10..47979ccf9 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceSolar.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceSolar.java @@ -51,11 +51,20 @@ public class TileEntityFurnaceSolar extends TileEntityBase implements IEnergyPro this.storage.readFromNBT(compound); } + public boolean hasBlockAbove(){ + for(int y = yCoord+1; y <= worldObj.getHeight(); y++){ + if(!worldObj.getBlock(xCoord, y, zCoord).isAir(worldObj, xCoord, y, zCoord)){ + return true; + } + } + return false; + } + @Override public void updateEntity(){ super.updateEntity(); if(!worldObj.isRemote){ - if(worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) && worldObj.isDaytime()){ + if(!this.hasBlockAbove() && worldObj.isDaytime()){ if(ConfigIntValues.FURNACE_SOLAR_ENERGY_PRODUCED.getValue() <= this.getMaxEnergyStored(ForgeDirection.UNKNOWN)-this.getEnergyStored(ForgeDirection.UNKNOWN)){ this.storage.receiveEnergy(ConfigIntValues.FURNACE_SOLAR_ENERGY_PRODUCED.getValue(), false); this.markDirty();