From 98fc460da0a31c9addc691227b58367627ba63cd Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 9 May 2014 09:42:52 -0500 Subject: [PATCH 1/4] Removed Old RF Api. --- core/Registration.java | 20 ++++++++++++++----- integration/modules/RF.java | 1 + .../modules/helpers/NullRFHandler.java | 10 +++------- parts/p2p/PartP2PRFPower.java | 11 +++------- tile/powersink/RedstoneFlux.java | 6 ------ 5 files changed, 22 insertions(+), 26 deletions(-) diff --git a/core/Registration.java b/core/Registration.java index 39871b1d5..9b18b0e86 100644 --- a/core/Registration.java +++ b/core/Registration.java @@ -466,15 +466,25 @@ public class Registration recipeHandler.parseRecipes( new JarLoader( "/assets/appliedenergistics2/recipes/" ), "index.recipe" ); IPartHelper ph = AEApi.instance().partHelper(); - ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergySink", "ic2.api.energy.tile.IEnergySink" ); - ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergySource", "ic2.api.energy.tile.IEnergySource" ); ph.registerNewLayer( "appeng.api.parts.layers.LayerISidedInventory", "net.minecraft.inventory.ISidedInventory" ); - ph.registerNewLayer( "appeng.api.parts.layers.LayerIPowerEmitter", "buildcraft.api.power.IPowerEmitter" ); - ph.registerNewLayer( "appeng.api.parts.layers.LayerIPowerReceptor", "buildcraft.api.power.IPowerReceptor" ); ph.registerNewLayer( "appeng.api.parts.layers.LayerIFluidHandler", "net.minecraftforge.fluids.IFluidHandler" ); - ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergyHandler", "cofh.api.energy.IEnergyHandler" ); ph.registerNewLayer( "appeng.api.parts.layers.LayerITileStorageMonitorable", "appeng.api.implementations.tiles.ITileStorageMonitorable" ); + if ( AppEng.instance.isIntegrationEnabled( "IC2" ) ) + { + ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergySink", "ic2.api.energy.tile.IEnergySink" ); + ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergySource", "ic2.api.energy.tile.IEnergySource" ); + } + + if ( AppEng.instance.isIntegrationEnabled( "MJ" ) ) + { + ph.registerNewLayer( "appeng.api.parts.layers.LayerIPowerEmitter", "buildcraft.api.power.IPowerEmitter" ); + ph.registerNewLayer( "appeng.api.parts.layers.LayerIPowerReceptor", "buildcraft.api.power.IPowerReceptor" ); + } + + if ( AppEng.instance.isIntegrationEnabled( "RF" ) ) + ph.registerNewLayer( "appeng.api.parts.layers.LayerIEnergyHandler", "cofh.api.energy.IEnergyHandler" ); + FMLCommonHandler.instance().bus().register( TickHandler.instance ); MinecraftForge.EVENT_BUS.register( new PartPlacement() ); diff --git a/integration/modules/RF.java b/integration/modules/RF.java index 61114cfc9..ba2eddff6 100644 --- a/integration/modules/RF.java +++ b/integration/modules/RF.java @@ -16,6 +16,7 @@ public class RF extends BaseModule implements IIntegrationModule public RF() { TestClass( cofh.api.energy.IEnergyHandler.class ); + TestClass( cofh.api.energy.IEnergyConnection.class ); } @Override diff --git a/integration/modules/helpers/NullRFHandler.java b/integration/modules/helpers/NullRFHandler.java index 2174c19c5..10b9662e9 100644 --- a/integration/modules/helpers/NullRFHandler.java +++ b/integration/modules/helpers/NullRFHandler.java @@ -1,4 +1,5 @@ package appeng.integration.modules.helpers; + import net.minecraftforge.common.util.ForgeDirection; import cofh.api.energy.IEnergyHandler; @@ -29,15 +30,10 @@ public class NullRFHandler implements IEnergyHandler return 0; } - @Deprecated - public boolean canInterface(ForgeDirection from) + @Override + public boolean canConnectEnergy(ForgeDirection from) { return true; } - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return true; - } - } diff --git a/parts/p2p/PartP2PRFPower.java b/parts/p2p/PartP2PRFPower.java index 2cab3fe62..23ccbdf8c 100644 --- a/parts/p2p/PartP2PRFPower.java +++ b/parts/p2p/PartP2PRFPower.java @@ -236,7 +236,7 @@ public class PartP2PRFPower extends PartP2PTunnel implements cof cachedTarget = true; } - if ( outputTarget == null ) + if ( outputTarget == null || !outputTarget.canConnectEnergy( side.getOpposite() ) ) return myNullHandler; return outputTarget; @@ -244,14 +244,9 @@ public class PartP2PRFPower extends PartP2PTunnel implements cof return myNullHandler; } - @Deprecated - public boolean canInterface(ForgeDirection from) + @Override + public boolean canConnectEnergy(ForgeDirection from) { return true; } - - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return true; - } } diff --git a/tile/powersink/RedstoneFlux.java b/tile/powersink/RedstoneFlux.java index 5faebb49f..50f4ff2ee 100644 --- a/tile/powersink/RedstoneFlux.java +++ b/tile/powersink/RedstoneFlux.java @@ -34,12 +34,6 @@ public abstract class RedstoneFlux extends RotaryCraft implements IEnergyHandler return 0; } - @Deprecated - final public boolean canInterface(ForgeDirection from) - { - return canConnectEnergy(from); - } - final public boolean canConnectEnergy(ForgeDirection from) { return internalCanAcceptPower && getPowerSides().contains( from ); From 1ba7feac9f32641a69aeeda79eded08193c2d8fd Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 9 May 2014 20:29:24 -0500 Subject: [PATCH 2/4] Fixed minor render issue with glass cables connected to machines. --- parts/networking/PartCable.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parts/networking/PartCable.java b/parts/networking/PartCable.java index 2782d94e7..18ef53a96 100644 --- a/parts/networking/PartCable.java +++ b/parts/networking/PartCable.java @@ -381,7 +381,7 @@ public class PartCable extends AEBasePart implements IPartCable IPartHost ccph = te instanceof IPartHost ? (IPartHost) te : null; IGridHost gh = te instanceof IGridHost ? (IGridHost) te : null; - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of, of.getOpposite() ) ) ); + rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of ) ) ); if ( gh != null && ccph != null && gh.getCableConnectionType( of ) == AECableType.GLASS && ccph.getColor() != AEColor.Transparent && ccph.getPart( of.getOpposite() ) == null ) @@ -494,7 +494,7 @@ public class PartCable extends AEBasePart implements IPartCable IGridHost ghh = te instanceof IGridHost ? (IGridHost) te : null; boolean isSmart = false; - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of, of.getOpposite() ) ) ); + rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getOpposite() ) ) ); if ( ghh != null && ccph != null && ghh.getCableConnectionType( of.getOpposite() ) == AECableType.GLASS && ccph.getPart( of.getOpposite() ) == null && ccph.getColor() != AEColor.Transparent ) rh.setTexture( getGlassTexture( ccph.getColor() ) ); From 2f071e7341359f9e242da38e5a5f3b7ca750020b Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 9 May 2014 20:29:42 -0500 Subject: [PATCH 3/4] Style issue. --- migration/OldItemMaterial.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/migration/OldItemMaterial.java b/migration/OldItemMaterial.java index 40edea872..2cf31139c 100644 --- a/migration/OldItemMaterial.java +++ b/migration/OldItemMaterial.java @@ -20,7 +20,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; import appeng.api.config.Upgrades; import appeng.api.implementations.items.IItemGroup; import appeng.api.implementations.items.IStorageComponent; @@ -28,7 +27,6 @@ import appeng.api.implementations.items.IUpgradeModule; import appeng.client.texture.MissingIcon; import appeng.core.AEConfig; import appeng.core.features.AEFeature; -import appeng.core.features.AEFeatureHandler; import appeng.core.features.ItemStackSrc; import appeng.items.AEBaseItem; import appeng.items.materials.ItemMultiMaterial; @@ -179,9 +177,10 @@ public class OldItemMaterial extends AEBaseItem implements IStorageComponent, IU { return "AE2-OLD-ITEM"; } - + @Override - public String getItemStackDisplayName(ItemStack par1ItemStack) { + public String getItemStackDisplayName(ItemStack par1ItemStack) + { return "AE2-OLD-ITEM"; } From 570f098f81463f787fe64ed19a3d207842360199 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Sat, 10 May 2014 13:27:48 -0500 Subject: [PATCH 4/4] Fixed a few more rendering/visual update glitches. --- client/render/BusRenderHelper.java | 2 +- core/Registration.java | 3 +-- parts/CableBusContainer.java | 11 +++++++++-- parts/networking/PartCable.java | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/client/render/BusRenderHelper.java b/client/render/BusRenderHelper.java index 6f41739ef..f14529a32 100644 --- a/client/render/BusRenderHelper.java +++ b/client/render/BusRenderHelper.java @@ -334,7 +334,7 @@ public class BusRenderHelper implements IPartRenderHelper if ( !renderThis() ) return; - renderer.renderStandardBlock( renderer.blockAccess.getBlock( x, y, z ), x, y, z ); + renderer.renderStandardBlock( blk, x, y, z ); } @Override diff --git a/core/Registration.java b/core/Registration.java index 9b18b0e86..ea29c773e 100644 --- a/core/Registration.java +++ b/core/Registration.java @@ -419,8 +419,7 @@ public class Registration } catch (Throwable e) { - AELog.severe( "Error with Feature: " + c.getName() ); - throw new RuntimeException( e ); + throw new RuntimeException( "Error with Feature: " + c.getName(), e ); } } diff --git a/parts/CableBusContainer.java b/parts/CableBusContainer.java index e8874bc25..dcce990b0 100644 --- a/parts/CableBusContainer.java +++ b/parts/CableBusContainer.java @@ -575,6 +575,8 @@ public class CableBusContainer implements AEMultiTile, ICableBusContainer { byte sides = data.readByte(); + boolean updateBlock = false; + for (int x = 0; x < 7; x++) { ForgeDirection side = ForgeDirection.getOrientation( x ); @@ -589,7 +591,10 @@ public class CableBusContainer implements AEMultiTile, ICableBusContainer ItemStack current = p != null ? p.getItemStack( PartItemStack.Network ) : null; if ( current != null && current.getItem() == myItem && current.getItemDamage() == dmgValue ) - p.readFromStream( data ); + { + if ( p.readFromStream( data ) ) + updateBlock = true; + } else { removePart( side, false ); @@ -607,7 +612,9 @@ public class CableBusContainer implements AEMultiTile, ICableBusContainer removePart( side, false ); } - return fc.readFromStream( data ); + if ( fc.readFromStream( data ) ) + return true; + return updateBlock; } ForgeDirection getSide(IPart part) diff --git a/parts/networking/PartCable.java b/parts/networking/PartCable.java index 18ef53a96..b1c53a9c4 100644 --- a/parts/networking/PartCable.java +++ b/parts/networking/PartCable.java @@ -284,7 +284,7 @@ public class PartCable extends AEBasePart implements IPartCable int cs = data.readByte(); int sideOut = data.readInt(); - EnumSet myC = connections; + EnumSet myC = connections.clone(); boolean wasPowered = powered; powered = false; boolean chchanged = false;