From 269343f9f073d760cd7ce9ebc1d04abb12a6e2e2 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Thu, 31 Jul 2014 18:17:03 -0400 Subject: [PATCH 1/3] Revert back to the old method of power distribution to fix BuildCraft issues. We shouldn't try to make up for other mods' bugs. --- .../java/mekanism/common/EnergyNetwork.java | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/src/main/java/mekanism/common/EnergyNetwork.java b/src/main/java/mekanism/common/EnergyNetwork.java index f83a19a6b..11b012149 100644 --- a/src/main/java/mekanism/common/EnergyNetwork.java +++ b/src/main/java/mekanism/common/EnergyNetwork.java @@ -201,26 +201,21 @@ public class EnergyNetwork extends DynamicNetwork if(acceptor instanceof IStrictEnergyAcceptor) { - double used = ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(side.getOpposite(), currentSending); - sent += used; - if(used > 0) continue; + sent += ((IStrictEnergyAcceptor)acceptor).transferEnergyToAcceptor(side.getOpposite(), currentSending); } - if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler) + else if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler) { IEnergyHandler handler = (IEnergyHandler)acceptor; int used = handler.receiveEnergy(side.getOpposite(), (int)Math.round(currentSending*Mekanism.TO_TE), false); sent += used*Mekanism.FROM_TE; - if(used > 0) continue; } - if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink) + else if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink) { - double toSend = Math.min(currentSending, EnergyNet.instance.getPowerFromTier(Math.min(((IEnergySink) acceptor).getSinkTier(), 8))*Mekanism.FROM_IC2); + double toSend = Math.min(currentSending, EnergyNet.instance.getPowerFromTier(((IEnergySink) acceptor).getSinkTier())*Mekanism.FROM_IC2); toSend = Math.min(toSend, ((IEnergySink)acceptor).getDemandedEnergy()*Mekanism.FROM_IC2); - double used = toSend - (((IEnergySink)acceptor).injectEnergy(side.getOpposite(), toSend*Mekanism.TO_IC2, 0)*Mekanism.FROM_IC2); - sent += used; - if(used > 0) continue; + sent += (toSend - (((IEnergySink)acceptor).injectEnergy(side.getOpposite(), toSend*Mekanism.TO_IC2, 0)*Mekanism.FROM_IC2)); } - if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor) + else if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor) { PowerReceiver receiver = ((IPowerReceptor)acceptor).getPowerReceiver(side.getOpposite()); @@ -228,7 +223,6 @@ public class EnergyNetwork extends DynamicNetwork { double toSend = receiver.receiveEnergy(Type.PIPE, (float)(Math.min(receiver.powerRequest(), currentSending*Mekanism.TO_BC)), side.getOpposite()); sent += toSend*Mekanism.FROM_BC; - if(toSend > 0) continue; } } } @@ -266,11 +260,10 @@ public class EnergyNetwork extends DynamicNetwork if(handler.getMaxEnergy() - handler.getEnergy() > 0) { toReturn.add(acceptor); - continue; } } } - if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler) + else if(MekanismUtils.useRF() && acceptor instanceof IEnergyHandler) { IEnergyHandler handler = (IEnergyHandler)acceptor; @@ -279,27 +272,22 @@ public class EnergyNetwork extends DynamicNetwork if(handler.getMaxEnergyStored(side.getOpposite()) - handler.getEnergyStored(side.getOpposite()) > 0 || handler.receiveEnergy(side.getOpposite(), 1, true) > 0) { toReturn.add(acceptor); - continue; } } } - if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink) + else if(MekanismUtils.useIC2() && acceptor instanceof IEnergySink) { IEnergySink handler = (IEnergySink)acceptor; if(handler.acceptsEnergyFrom(null, side.getOpposite())) { - double demanded = handler.getDemandedEnergy()*Mekanism.FROM_IC2; - int tier = Math.min(handler.getSinkTier(), 8); - double max = EnergyNet.instance.getPowerFromTier(tier)*Mekanism.FROM_IC2; - if(Math.min(demanded, max) > 0) + if(Math.min((handler.getDemandedEnergy()*Mekanism.FROM_IC2), (EnergyNet.instance.getPowerFromTier(handler.getSinkTier())*Mekanism.FROM_IC2)) > 0) { toReturn.add(acceptor); - continue; } } } - if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor) + else if(MekanismUtils.useBuildCraft() && acceptor instanceof IPowerReceptor) { IPowerReceptor handler = (IPowerReceptor)acceptor; @@ -313,7 +301,6 @@ public class EnergyNetwork extends DynamicNetwork } toReturn.add(acceptor); - continue; } } } From b2e676aabbe57a1c08ce631c64bd4a34bf289f47 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Thu, 31 Jul 2014 18:41:27 -0400 Subject: [PATCH 2/3] Fixed an API issue, fixed Robit nametag not updating, fixed Sorter Mod ID filter bugginess --- src/main/java/mekanism/client/gui/GuiRobitMain.java | 2 +- .../java/mekanism/{api/gas => common}/FuelHandler.java | 9 +++------ src/main/java/mekanism/common/Mekanism.java | 1 - src/main/java/mekanism/common/entity/EntityRobit.java | 7 +++---- .../common/network/PacketLogisticalSorterGui.java | 2 +- .../mekanism/generators/common/MekanismGenerators.java | 3 +-- .../generators/common/tile/TileEntityGasGenerator.java | 4 ++-- 7 files changed, 11 insertions(+), 17 deletions(-) rename src/main/java/mekanism/{api/gas => common}/FuelHandler.java (95%) diff --git a/src/main/java/mekanism/client/gui/GuiRobitMain.java b/src/main/java/mekanism/client/gui/GuiRobitMain.java index 74b3a89bf..abe05ea3d 100644 --- a/src/main/java/mekanism/client/gui/GuiRobitMain.java +++ b/src/main/java/mekanism/client/gui/GuiRobitMain.java @@ -107,7 +107,7 @@ public class GuiRobitMain extends GuiMekanism if(!displayNameChange) { CharSequence owner = robit.getOwnerName().length() > 14 ? robit.getOwnerName().subSequence(0, 14) : robit.getOwnerName(); - fontRendererObj.drawString(MekanismUtils.localize("gui.robit.greeting") + " " + robit.getTranslatedEntityName() + "!", 29, 18, 0x00CD00); + fontRendererObj.drawString(MekanismUtils.localize("gui.robit.greeting") + " " + robit.getCommandSenderName() + "!", 29, 18, 0x00CD00); fontRendererObj.drawString(MekanismUtils.localize("gui.energy") + ": " + MekanismUtils.getEnergyDisplay(robit.getEnergy()), 29, 36-4, 0x00CD00); fontRendererObj.drawString(MekanismUtils.localize("gui.robit.following") + ": " + robit.getFollowing(), 29, 45-4, 0x00CD00); fontRendererObj.drawString(MekanismUtils.localize("gui.robit.dropPickup") + ": " + robit.getDropPickup(), 29, 54-4, 0x00CD00); diff --git a/src/main/java/mekanism/api/gas/FuelHandler.java b/src/main/java/mekanism/common/FuelHandler.java similarity index 95% rename from src/main/java/mekanism/api/gas/FuelHandler.java rename to src/main/java/mekanism/common/FuelHandler.java index ff3537dc4..f4ae79af7 100644 --- a/src/main/java/mekanism/api/gas/FuelHandler.java +++ b/src/main/java/mekanism/common/FuelHandler.java @@ -1,15 +1,12 @@ -package mekanism.api.gas; +package mekanism.common; import java.util.HashMap; -import mekanism.common.Mekanism; - +import mekanism.api.gas.Gas; import net.minecraftforge.fluids.FluidContainerRegistry; - -import cpw.mods.fml.common.ModAPIManager; - import buildcraft.api.fuels.IronEngineFuel; import buildcraft.api.fuels.IronEngineFuel.Fuel; +import cpw.mods.fml.common.ModAPIManager; public class FuelHandler { diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index dce79ef61..2d9ea7c9f 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -18,7 +18,6 @@ import mekanism.api.MekanismAPI; import mekanism.api.MekanismAPI.BoxBlacklistEvent; import mekanism.api.PressurizedProducts; import mekanism.api.PressurizedReactants; -import mekanism.api.gas.FuelHandler; import mekanism.api.gas.Gas; import mekanism.api.gas.GasNetwork.GasTransferEvent; import mekanism.api.gas.GasRegistry; diff --git a/src/main/java/mekanism/common/entity/EntityRobit.java b/src/main/java/mekanism/common/entity/EntityRobit.java index 3fc48aa0c..db8abee5a 100644 --- a/src/main/java/mekanism/common/entity/EntityRobit.java +++ b/src/main/java/mekanism/common/entity/EntityRobit.java @@ -19,7 +19,6 @@ import mekanism.common.item.ItemConfigurator; import mekanism.common.item.ItemRobit; import mekanism.common.tile.TileEntityChargepad; import mekanism.common.util.MekanismUtils; - import micdoodle8.mods.galacticraft.api.entity.IEntityBreathable; import net.minecraft.entity.EntityCreature; import net.minecraft.entity.SharedMonsterAttributes; @@ -43,7 +42,6 @@ import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.util.Constants; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.Method; - import cofh.api.energy.IEnergyContainerItem; @Interface(iface = "micdoodle8.mods.galacticraft.api.entity.IEntityBreathable", modid = "Galacticrat API") @@ -405,7 +403,7 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine ItemRobit item = (ItemRobit)entityItem.getEntityItem().getItem(); item.setEnergy(entityItem.getEntityItem(), getEnergy()); item.setInventory(getInventory(), entityItem.getEntityItem()); - item.setName(entityItem.getEntityItem(), getTranslatedEntityName()); + item.setName(entityItem.getEntityItem(), getCommandSenderName()); float k = 0.05F; entityItem.motionX = 0; @@ -723,7 +721,8 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine return tagList; } - public String getTranslatedEntityName() + @Override + public String getCommandSenderName() { return getName().isEmpty() ? "Robit" : getName(); } diff --git a/src/main/java/mekanism/common/network/PacketLogisticalSorterGui.java b/src/main/java/mekanism/common/network/PacketLogisticalSorterGui.java index 3a6b65053..5250048ee 100644 --- a/src/main/java/mekanism/common/network/PacketLogisticalSorterGui.java +++ b/src/main/java/mekanism/common/network/PacketLogisticalSorterGui.java @@ -185,7 +185,7 @@ public class PacketLogisticalSorterGui implements IMessageHandler Date: Thu, 31 Jul 2014 18:57:18 -0400 Subject: [PATCH 3/3] Fixed Atomic Disassembler issue --- .../java/mekanism/common/item/ItemAtomicDisassembler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/mekanism/common/item/ItemAtomicDisassembler.java b/src/main/java/mekanism/common/item/ItemAtomicDisassembler.java index d4eccb054..56ae1be0a 100644 --- a/src/main/java/mekanism/common/item/ItemAtomicDisassembler.java +++ b/src/main/java/mekanism/common/item/ItemAtomicDisassembler.java @@ -97,6 +97,11 @@ public class ItemAtomicDisassembler extends ItemEnergized { Block block = player.worldObj.getBlock(x, y, z); int meta = player.worldObj.getBlockMetadata(x, y, z); + + if(block == Blocks.lit_redstone_ore) + { + block = Blocks.redstone_ore; + } ItemStack stack = new ItemStack(block, 1, meta); Coord4D orig = new Coord4D(x, y, z, player.worldObj.provider.dimensionId);