diff --git a/changelog b/changelog index 945aaaca5..bf2ab4458 100644 --- a/changelog +++ b/changelog @@ -42,6 +42,7 @@ * Multiblocks are no longer affected by collapses caused by nuclear explosions * The old NITAN powder chests have been removed * In their place, there's now a different, more useful structure with similar but not identical spawn rules +* ROR controller torches can now set the threshold of particle accelerator dipoles ## Fixed * Fixed arc furnace only allowing electrodes to be inserted when the lid is down instead of up diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index da9b4ad88..d21a6497e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -903,6 +903,8 @@ public class ModBlocks { public static Block iter; public static Block plasma_heater; + + public static Block fusion_component; public static Block machine_icf_press; public static Block icf_component; @@ -2043,6 +2045,8 @@ public class ModBlocks { iter = new MachineITER().setBlockName("iter").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":iter"); plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater"); + fusion_component = new BlockFusionComponent().setBlockName("fusion_component").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_component"); + machine_icf_press = new MachineICFPress().setBlockName("machine_icf_press").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); icf_component = new BlockICFComponent().setBlockName("icf_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_component"); @@ -3423,6 +3427,8 @@ public class ModBlocks { GameRegistry.registerBlock(plasma, ItemBlockLore.class, plasma.getUnlocalizedName()); GameRegistry.registerBlock(iter, iter.getUnlocalizedName()); GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName()); + + register(fusion_component); register(watz_element); register(watz_cooler); diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index 686bd9655..f018659c3 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -153,6 +153,7 @@ public class BlockToolConversion extends BlockMulti implements IToolable, ILookO public static void registerRecipes() { conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.DURA.bolt(), 4)}, new MetaBlock(ModBlocks.watz_end, 1))); conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.fusion_conductor, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast())}, new MetaBlock(ModBlocks.fusion_conductor, 1))); + conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.fusion_component, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast())}, new MetaBlock(ModBlocks.fusion_component, 1))); conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.icf_component, 1)), new Pair(new AStack[] {new OreDictStack(OreDictManager.ANY_BISMOIDBRONZE.plateCast())}, new MetaBlock(ModBlocks.icf_component, 2))); conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.icf_component, 3)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast()), new OreDictStack(OreDictManager.DURA.bolt(), 4)}, new MetaBlock(ModBlocks.icf_component, 4))); } diff --git a/src/main/java/com/hbm/blocks/machine/BlockFusionComponent.java b/src/main/java/com/hbm/blocks/machine/BlockFusionComponent.java new file mode 100644 index 000000000..8a6de8adc --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockFusionComponent.java @@ -0,0 +1,13 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.generic.BlockToolConversion; + +import net.minecraft.block.material.Material; + +public class BlockFusionComponent extends BlockToolConversion { + + public BlockFusionComponent() { + super(Material.iron); + this.addVariant(".bscco_welded", ".blanket", ".motor"); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java index 7ea9007da..f0645c063 100644 --- a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPADipole.java @@ -16,6 +16,7 @@ import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.redstoneoverradio.IRORInteractive; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,7 +35,7 @@ import net.minecraftforge.common.util.ForgeDirection; @SuppressWarnings("unused") @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProvider, IControlReceiver, IParticleUser, OCComponent, SimpleComponent { +public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProvider, IControlReceiver, IParticleUser, OCComponent, SimpleComponent, IRORInteractive { public int dirLower; public int dirUpper; @@ -351,4 +352,20 @@ public class TileEntityPADipole extends TileEntityCooledBase implements IGUIProv throw new NoSuchMethodException(); } + @Override + public String[] getFunctionInfo() { + return new String[] { + PREFIX_FUNCTION + "setthreshold" + NAME_SEPARATOR + "threshold", + }; + } + + @Override + public String runRORFunction(String name, String[] params) { + + if((PREFIX_FUNCTION + "setthreshold").equals(name) && params.length > 0) { + this.threshold = IRORInteractive.parseInt(params[0], 0, 999_999_999); + this.markChanged(); + } + return null; + } } diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_component.blanket.png b/src/main/resources/assets/hbm/textures/blocks/fusion_component.blanket.png new file mode 100644 index 000000000..601b048b0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fusion_component.blanket.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_component.bscco_welded.png b/src/main/resources/assets/hbm/textures/blocks/fusion_component.bscco_welded.png new file mode 100644 index 000000000..e4c543998 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fusion_component.bscco_welded.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_component.motor.png b/src/main/resources/assets/hbm/textures/blocks/fusion_component.motor.png new file mode 100644 index 000000000..cccfc643f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fusion_component.motor.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_component.png b/src/main/resources/assets/hbm/textures/blocks/fusion_component.png new file mode 100644 index 000000000..2357238d4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fusion_component.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/assembly_machine_alt.png b/src/main/resources/assets/hbm/textures/models/machines/assembly_machine_alt.png new file mode 100644 index 000000000..bdc453cb4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/assembly_machine_alt.png differ