From 5f8b0f6aedc1445b934a59ef5b73543f62584995 Mon Sep 17 00:00:00 2001 From: PewPewCricket Date: Tue, 15 Jul 2025 04:10:06 -0500 Subject: [PATCH] fix TileEntityOpenComputersCablePaintable not implementing ICopyable and add null check for ModBlocks.oc_cable_paintable in CraftingManager.java --- .../hbm/blocks/network/BlockOpenComputersCablePaintable.java | 3 ++- src/main/java/com/hbm/main/CraftingManager.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/BlockOpenComputersCablePaintable.java b/src/main/java/com/hbm/blocks/network/BlockOpenComputersCablePaintable.java index c18f5ce2b..d40d81595 100644 --- a/src/main/java/com/hbm/blocks/network/BlockOpenComputersCablePaintable.java +++ b/src/main/java/com/hbm/blocks/network/BlockOpenComputersCablePaintable.java @@ -2,6 +2,7 @@ package com.hbm.blocks.network; import api.hbm.block.IToolable; import com.hbm.blocks.IBlockMultiPass; +import com.hbm.interfaces.ICopiable; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; import com.hbm.tileentity.TileEntityLoadedBase; @@ -176,7 +177,7 @@ public class BlockOpenComputersCablePaintable extends BlockContainer implements @Optional.Interface(iface = "li.cil.oc.api.network.SidedEnvironment", modid = "OpenComputers"), @Optional.Interface(iface = "li.cil.oc.api.network.Colored", modid = "OpenComputers") }) - public static class TileEntityOpenComputersCablePaintable extends TileEntityLoadedBase implements Environment, SidedEnvironment, Colored { + public static class TileEntityOpenComputersCablePaintable extends TileEntityLoadedBase implements Environment, SidedEnvironment, Colored, ICopiable { protected Node node; protected boolean addedToNetwork = false; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index d91f00033..89650f200 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -237,7 +237,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', BE.ingot(), 'R', ModItems.coil_tungsten, 'W', CU.plateCast(), 'F', Item.getItemFromBlock(Blocks.furnace) }); addRecipeAuto(new ItemStack(ModBlocks.red_wire_coated, 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', MINGRADE.ingot(), 'R', MINGRADE.wireFine() }); addRecipeAuto(new ItemStack(ModBlocks.red_cable_paintable, 16), new Object[] { "WRW", "RIR", "WRW", 'W', STEEL.plate(), 'I', MINGRADE.ingot(), 'R', MINGRADE.wireFine() }); - addRecipeAuto(new ItemStack(ModBlocks.oc_cable_paintable, 16), new Object[] { "WRW", "RIR", "WRW", 'W', STEEL.plate(), 'I', REDSTONE.dust(), 'R', MINGRADE.wireFine() }); + if (ModBlocks.oc_cable_paintable != null) + addRecipeAuto(new ItemStack(ModBlocks.oc_cable_paintable, 16), new Object[] { "WRW", "RIR", "WRW", 'W', STEEL.plate(), 'I', REDSTONE.dust(), 'R', MINGRADE.wireFine() }); addRecipeAuto(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.cable_detector, 1), new Object[] { "S", "W", 'S', REDSTONE.dust(), 'W', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.cable_diode, 1), new Object[] { " Q ", "CAC", " Q ", 'Q', SI.nugget(), 'C', ModBlocks.red_cable, 'A', AL.ingot() });