Fixed lesu issue, temp remove rf output

This commit is contained in:
modmuss50 2015-07-03 17:12:31 +01:00
parent 10846270c5
commit ab384b661a
6 changed files with 55 additions and 28 deletions

View file

@ -41,14 +41,13 @@ public class BlockLesu extends BlockMachineBase {
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) public IIcon getIcon(int side, int metadata) {
{ if(side == metadata)
return this.iconFront;
return metadata == 0 && side == 3 ? this.iconFront return metadata == 0 && side == 3 ? this.iconFront
: side == 1 ? this.iconTop : : side == 1 ? this.iconTop :
side == 0 ? this.iconBottom: (side == 0 ? this.iconTop side == 0 ? this.iconBottom: (side == 0 ? this.iconTop
: (side == metadata ? this.iconFront : this.blockIcon)); : (side == metadata ? this.iconFront : this.blockIcon));
} }
@Override @Override

View file

@ -1,9 +1,16 @@
package techreborn.compat.nei.recipes; package techreborn.compat.nei.recipes;
import codechicken.lib.gui.GuiDraw;
import codechicken.nei.PositionedStack; import codechicken.nei.PositionedStack;
import codechicken.nei.recipe.TemplateRecipeHandler; import codechicken.nei.recipe.TemplateRecipeHandler;
import ic2.core.util.DrawUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.IIcon;
import techreborn.api.recipe.IBaseRecipeType; import techreborn.api.recipe.IBaseRecipeType;
import techreborn.api.recipe.machines.BlastFurnaceRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.client.gui.GuiBlastFurnace; import techreborn.client.gui.GuiBlastFurnace;
import techreborn.util.ItemUtils; import techreborn.util.ItemUtils;
@ -60,4 +67,17 @@ public class BlastFurnaceRecipeHandler extends GenericRecipeHander implements IN
this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect( this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(
new Rectangle(55, 20, 25, 20), getNeiBaseRecipe().getRecipeName(), new Object[0])); new Rectangle(55, 20, 25, 20), getNeiBaseRecipe().getRecipeName(), new Object[0]));
} }
@Override
public void drawBackground(int recipeIndex) {
super.drawBackground(recipeIndex);
CachedRecipe recipe = arecipes.get(recipeIndex);
if (recipe instanceof CachedGenericRecipe) {
if (((CachedGenericRecipe) recipe).recipie instanceof BlastFurnaceRecipe) {
BlastFurnaceRecipe blastFurnaceRecipeHandler = (BlastFurnaceRecipe) ((CachedGenericRecipe) recipe).recipie;
GuiDraw.drawString("Requires " + blastFurnaceRecipeHandler.neededHeat + " heat", 14, 135, -1);
}
}
}
} }

View file

@ -6,21 +6,23 @@ import cofh.api.energy.IEnergyProvider;
import cofh.api.energy.IEnergyReceiver; import cofh.api.energy.IEnergyReceiver;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import techreborn.api.power.IEnergyInterfaceTile;
import techreborn.lib.Functions;
import techreborn.tiles.TileMachineBase; import techreborn.tiles.TileMachineBase;
/** /**
* This is done in a different class so the updateEntity can be striped for ic2 and this one will still get called. * This is done in a different class so the updateEntity can be striped for ic2 and this one will still get called.
*/ */
public abstract class RFProviderTile extends TileMachineBase implements IEnergyReceiver, IEnergyProvider { public abstract class RFProviderTile extends TileMachineBase implements IEnergyReceiver, IEnergyProvider, IEnergyInterfaceTile {
@Override @Override
public void updateEntity() { public void updateEntity() {
super.updateEntity(); super.updateEntity();
sendPower(); //sendPower();
} }
public void sendPower() {//TODO tick this every tick public void sendPower() {//TODO fix this
if (!PowerSystem.RFPOWENET) { if (!PowerSystem.RFPOWENET) {
return; return;
} }
@ -29,21 +31,25 @@ public abstract class RFProviderTile extends TileMachineBase implements IEnergyR
TileEntity tile = worldObj.getTileEntity(xCoord + direction.offsetX, yCoord + direction.offsetY, zCoord + direction.offsetZ); TileEntity tile = worldObj.getTileEntity(xCoord + direction.offsetX, yCoord + direction.offsetY, zCoord + direction.offsetZ);
if (isPoweredTile(tile, direction)) { if (isPoweredTile(tile, direction)) {
if (tile instanceof IEnergyHandler) { System.out.println(canProvideEnergy(direction));
IEnergyHandler handler = (IEnergyHandler) tile; if(canProvideEnergy(direction)){
int neededRF = handler.receiveEnergy( if (tile instanceof IEnergyHandler) {
direction.getOpposite(), IEnergyHandler handler = (IEnergyHandler) tile;
extracted, false); int neededRF = handler.receiveEnergy(
direction.getOpposite(),
extracted, false);
extractEnergy(direction.getOpposite(), neededRF, false); extractEnergy(direction.getOpposite(), neededRF, false);
} else if (tile instanceof IEnergyReceiver) { } else if (tile instanceof IEnergyReceiver) {
IEnergyReceiver handler = (IEnergyReceiver) tile; IEnergyReceiver handler = (IEnergyReceiver) tile;
int neededRF = handler.receiveEnergy( int neededRF = handler.receiveEnergy(
direction.getOpposite(), direction.getOpposite(),
extracted, false); extracted, false);
extractEnergy(direction.getOpposite(), neededRF, false); extractEnergy(direction.getOpposite(), neededRF, false);
}
} }
} }
} }
} }

View file

@ -20,6 +20,7 @@ public class LesuNetwork {
} }
private void rebuild(){ private void rebuild(){
master = null;
for(TileLesuStorage lesuStorage : storages){ for(TileLesuStorage lesuStorage : storages){
lesuStorage.findAndJoinNetwork(lesuStorage.getWorldObj(), lesuStorage.xCoord, lesuStorage.yCoord, lesuStorage.zCoord); lesuStorage.findAndJoinNetwork(lesuStorage.getWorldObj(), lesuStorage.xCoord, lesuStorage.yCoord, lesuStorage.zCoord);
} }
@ -33,6 +34,9 @@ public class LesuNetwork {
for(TileLesuStorage lesuStorage : tileLesuStorages){ for(TileLesuStorage lesuStorage : tileLesuStorages){
lesuStorage.setNetwork(this); lesuStorage.setNetwork(this);
} }
if(network.master != null && this.master == null){
this.master = network.master;
}
} }
} }
@ -45,9 +49,4 @@ public class LesuNetwork {
storages.clear(); storages.clear();
} }
public void printInfo(){
System.out.println(storages.size());
}
} }

View file

@ -3,6 +3,7 @@ package techreborn.tiles.lesu;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import techreborn.config.ConfigTechReborn; import techreborn.config.ConfigTechReborn;
import techreborn.lib.Functions;
import techreborn.powerSystem.TilePowerAcceptor; import techreborn.powerSystem.TilePowerAcceptor;
import techreborn.util.Inventory; import techreborn.util.Inventory;
@ -91,7 +92,7 @@ public class TileLesu extends TilePowerAcceptor {//TODO wrench
@Override @Override
public boolean canProvideEnergy(ForgeDirection direction) { public boolean canProvideEnergy(ForgeDirection direction) {
return direction.ordinal() == blockMetadata; return Functions.getIntDirFromDirection(direction) == blockMetadata;
} }
@Override @Override

View file

@ -14,7 +14,9 @@ public class TileLesuStorage extends TileMachineBase {
if(network == null){ if(network == null){
findAndJoinNetwork(worldObj, xCoord, yCoord, zCoord); findAndJoinNetwork(worldObj, xCoord, yCoord, zCoord);
} else { } else {
//network.printInfo(); if(network.master != null && network.master.getWorldObj().getTileEntity(network.master.xCoord, network.master.yCoord, network.master.zCoord) != network.master){
network.master = null;
}
} }
} }