From b31cb80fa3a91ce93088af83f5176a0ec26302e7 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 5 Jul 2024 15:25:04 +0200 Subject: [PATCH] tweaks --- changelog | 5 +++-- .../api/hbm/energymk2/IEnergyProviderMK2.java | 3 ++- .../api/hbm/energymk2/IEnergyReceiverMK2.java | 3 ++- .../java/api/hbm/fluid/IFluidConnector.java | 3 ++- src/main/java/api/hbm/fluid/IFluidUser.java | 3 ++- .../java/com/hbm/inventory/material/Mats.java | 2 +- .../inventory/recipes/AssemblerRecipes.java | 2 +- .../machine/rbmk/TileEntityRBMKConsole.java | 21 ++++++++++--------- 8 files changed, 24 insertions(+), 18 deletions(-) diff --git a/changelog b/changelog index dc2f9757e..44f38000a 100644 --- a/changelog +++ b/changelog @@ -2,7 +2,7 @@ * Acidizer Input Partitioner * Buffers inputs for the ore acidizer and releases the exact amount needed to complete an operation * This allows easy automation of acidizers accepting multiple types which have higher input requirements - * By simply shoving items into the acidizer all at once, there is a high likelyhood of the acidizer to clog, as the remaining input is no longer sufficient + * By simply shoving items into the acidizer all at once, there is a high likelihood of the acidizer to clog, as the remaining input is no longer sufficient * The partitioner only has 9 slots for ingredients, for more types it's necessary to sort the items and use multiple partitioners * The partitioner has 9 additional slots for invalid items that cannot be processed via acidizer, those can be ejected via hopper IO * An inline conveyor machine similar to the splitter, receives items from conveyors (but not from ejectors directly) and outputs them on its built-in conveyor belt @@ -32,4 +32,5 @@ * Added recipe caching to the arc furnace, fixing an issue where recipe detection and item IO are horribly inefficient * Fixed arc furnace state not properly saving after performing a recipe * Fixed crash regarding OC compat -* Fixed a rare crash with the anvil GUI \ No newline at end of file +* Fixed a rare crash with the anvil GUI +* Fixed potential world corruption caused by the RBMK console \ No newline at end of file diff --git a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java index 6464995a0..c264d0120 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java @@ -2,6 +2,7 @@ package api.hbm.energymk2; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -24,7 +25,7 @@ public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { public default void tryProvide(World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IEnergyConductorMK2) { diff --git a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java index 11e55bedc..5ec931234 100644 --- a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java +++ b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java @@ -2,6 +2,7 @@ package api.hbm.energymk2; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -30,7 +31,7 @@ public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IEnergyConductorMK2) { diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index a9c900635..a6db68c2c 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -3,6 +3,7 @@ package api.hbm.fluid; import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import api.hbm.tile.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -45,7 +46,7 @@ public interface IFluidConnector extends ILoadedTile { */ public default void trySubscribe(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); boolean red = false; if(te instanceof IFluidConductor) { diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index a0b5a47f0..4c98dfd14 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -4,6 +4,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; @@ -71,7 +72,7 @@ public interface IFluidUser extends IFluidConnector { public static IPipeNet getPipeNet(World world, int x, int y, int z, FluidType type) { - TileEntity te = world.getTileEntity(x, y, z); + TileEntity te = Compat.getTileStandard(world, x, y, z); if(te instanceof IFluidConductor) { IFluidConductor con = (IFluidConductor) te; diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 357f238ea..d294972a9 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -90,7 +90,7 @@ public class Mats { public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0x7B535D).setShapes(NUGGET, BILLET, INGOT, DUST).m(); public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF, 0x005C5C, 0x32FFFF).setShapes(NUGGET, WIRE, BILLET, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK).m(); public static final NTMMaterial MAT_SOLINIUM = makeSmeltable(12627, SA327, 0xA2E6E0, 0x00433D, 0x72B6B0).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); - public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setShapes(INGOT, DUST, DENSEWIRE, BLOCK).m(); + public static final NTMMaterial MAT_SCHRABIDATE = makeSmeltable(12600, SBD, 0x77C0D7, 0x39005E, 0x6589B4).setShapes(INGOT, DUST, DENSEWIRE, CASTPLATE, BLOCK).m(); public static final NTMMaterial MAT_SCHRARANIUM = makeSmeltable(12601, SRN, 0x2B3227, 0x2B3227, 0x24AFAC).setShapes(INGOT, BLOCK).m(); public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setShapes(NUGGET, BILLET, INGOT, BLOCK).m(); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index f8a00fa59..2464b3b7e 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -639,7 +639,7 @@ public class AssemblerRecipes extends SerializableRecipe { }, 1200); makeRecipe(new ComparableStack(ModItems.sat_gerald, 1), new AStack[] { - new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 128), + new OreDictStack(SBD.plateCast(), 128), new OreDictStack(BSCCO.wireDense(), 128), new ComparableStack(ModBlocks.det_nuke, 64), new ComparableStack(ModItems.part_generic, 256, EnumPartType.HDE), diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index 57211a6cf..ffbaea36f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -14,6 +14,7 @@ import com.hbm.inventory.gui.GUIRBMKConsole; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; +import com.hbm.util.Compat; import com.hbm.util.EnumUtil; import com.hbm.util.I18nUtil; @@ -88,7 +89,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); int index = (i + 7) + (j + 7) * 15; if(te instanceof TileEntityRBMKBase) { @@ -266,7 +267,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = data.getInteger(key) % 15 - 7; int z = data.getInteger(key) / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -307,7 +308,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = i % 15 - 7; int z = i / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -324,7 +325,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int x = i % 15 - 7; int z = i / 15 - 7; - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + z); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + z); if(te instanceof TileEntityRBMKBoiler) { TileEntityRBMKBoiler rod = (TileEntityRBMKBoiler) te; @@ -534,7 +535,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int i = (y + 7) * 15 + (x + 7); - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKBase) { TileEntityRBMKBase column = (TileEntityRBMKBase) te; @@ -603,7 +604,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon boolean foundRods = false; for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -629,7 +630,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int y = -args.checkInteger(1) + 7; double new_level = args.checkDouble(2); - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -652,7 +653,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon if(color >= 0 && color <=4){ for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -682,7 +683,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon int y = -args.checkInteger(1) + 7; int new_color = args.checkInteger(2); if(new_color >= 0 && new_color <=4){ - TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + TileEntity te = Compat.getTileStandard(worldObj, targetX + x, targetY, targetZ + y); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; @@ -701,7 +702,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon boolean hasRods = false; for(int i = -7; i <= 7; i++) { for(int j = -7; j <= 7; j++) { - TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + TileEntity te = Compat.getTileStandard(worldObj, targetX + i, targetY, targetZ + j); if (te instanceof TileEntityRBMKControlManual) { TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te;