From 0146c009e7e08550e2386cf171c83edf78d30b02 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 6 Apr 2023 16:59:37 +0200 Subject: [PATCH] diode and schrabidate blindness fix --- .../com/hbm/blocks/network/BlockCable.java | 24 +++++++++---------- .../com/hbm/blocks/network/CableDiode.java | 13 +++++++++- .../java/com/hbm/hazard/HazardRegistry.java | 2 +- .../storage/TileEntityMachineBattery.java | 5 +++- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 92fc65684..60906e5fd 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -48,12 +48,12 @@ public class BlockCable extends BlockContainer { @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); + boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); + boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); + boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); + boolean negY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); + boolean posZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); + boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); setBlockBounds(posX, negX, posY, negY, posZ, negZ); @@ -63,12 +63,12 @@ public class BlockCable extends BlockContainer { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); + boolean posX = Library.canConnect(world, x + 1, y, z, Library.POS_X); + boolean negX = Library.canConnect(world, x - 1, y, z, Library.NEG_X); + boolean posY = Library.canConnect(world, x, y + 1, z, Library.POS_Y); + boolean negY = Library.canConnect(world, x, y - 1, z, Library.NEG_Y); + boolean posZ = Library.canConnect(world, x, y, z + 1, Library.POS_Z); + boolean negZ = Library.canConnect(world, x, y, z - 1, Library.NEG_Z); setBlockBounds(posX, negX, posY, negY, posZ, negZ); } diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index da65eb314..6771ccf2d 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -12,6 +12,7 @@ import com.hbm.util.I18nUtil; import api.hbm.block.IToolable; import api.hbm.energy.IEnergyUser; import api.hbm.energy.IEnergyConnector.ConnectionPriority; +import api.hbm.energy.IEnergyConnectorBlock; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -32,7 +33,7 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class CableDiode extends BlockContainer implements ILookOverlay, IToolable, ITooltipProvider { +public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, ILookOverlay, IToolable, ITooltipProvider { public CableDiode(Material mat) { super(mat); @@ -66,6 +67,11 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl world.setBlockMetadataWithNotify(x, y, z, l, 2); } + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + return true; + } + @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { @@ -179,6 +185,11 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl } } } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir != getDir(); + } private boolean recursionBrake = false; private long subBuffer; diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 7f686ff4c..b404040a2 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -177,7 +177,7 @@ public class HazardRegistry { HazardSystem.register(lamp_demon, makeData(RADIATION, 100_000F)); HazardSystem.register(cell_tritium, makeData(RADIATION, 0.001F)); - HazardSystem.register(cell_sas3, makeData().addEntry(RADIATION, sas3).addEntry(BLINDING, 10F)); + HazardSystem.register(cell_sas3, makeData().addEntry(RADIATION, sas3).addEntry(BLINDING, 60F)); HazardSystem.register(cell_balefire, makeData(RADIATION, 50F)); HazardSystem.register(powder_balefire, makeData(RADIATION, 500F)); HazardSystem.register(egg_balefire_shard, makeData(RADIATION, bf * nugget)); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 5704599fa..1043fb572 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -222,7 +222,10 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I //if it's just a consumer, buffer it as a subscriber } else if(te instanceof IEnergyConnector) { - consumers.add((IEnergyConnector) te); + IEnergyConnector con = (IEnergyConnector) te; + if(con.canConnect(dir.getOpposite())) { + consumers.add((IEnergyConnector) te); + } } }