From 961bcdec9c65bbd5b7122da5085bb1e3b5efdaae Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 30 Aug 2021 16:39:55 +0200 Subject: [PATCH] come and join the pile --- .../block/{IScrewable.java => IToolable.java} | 9 ++++-- src/main/java/com/hbm/blocks/BlockBase.java | 24 ++++++++++++++ src/main/java/com/hbm/blocks/ModBlocks.java | 5 ++- .../com/hbm/blocks/machine/BlockGraphite.java | 30 ++++++++++++++++++ .../hbm/blocks/machine/BlockHadronDiode.java | 9 ++++-- .../com/hbm/blocks/machine/rbmk/RBMKBase.java | 10 ++++-- src/main/java/com/hbm/items/ModItems.java | 6 +++- ...{ItemScrewdriver.java => ItemTooling.java} | 15 ++++++--- .../blocks/block_graphite_drilled.png | Bin 0 -> 427 bytes .../textures/blocks/block_graphite_fuel.png | Bin 0 -> 413 bytes .../textures/blocks/block_graphite_rod_in.png | Bin 0 -> 429 bytes .../blocks/block_graphite_rod_out.png | Bin 0 -> 431 bytes .../assets/hbm/textures/items/hand_drill.png | Bin 0 -> 285 bytes 13 files changed, 94 insertions(+), 14 deletions(-) rename src/main/java/api/hbm/block/{IScrewable.java => IToolable.java} (51%) create mode 100644 src/main/java/com/hbm/blocks/BlockBase.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockGraphite.java rename src/main/java/com/hbm/items/tool/{ItemScrewdriver.java => ItemTooling.java} (58%) create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_graphite_drilled.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_graphite_fuel.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_graphite_rod_in.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_graphite_rod_out.png create mode 100644 src/main/resources/assets/hbm/textures/items/hand_drill.png diff --git a/src/main/java/api/hbm/block/IScrewable.java b/src/main/java/api/hbm/block/IToolable.java similarity index 51% rename from src/main/java/api/hbm/block/IScrewable.java rename to src/main/java/api/hbm/block/IToolable.java index 16dd8b872..3961d1900 100644 --- a/src/main/java/api/hbm/block/IScrewable.java +++ b/src/main/java/api/hbm/block/IToolable.java @@ -3,7 +3,12 @@ package api.hbm.block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; -public interface IScrewable { +public interface IToolable { - public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ); + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool); + + public static enum ToolType { + SCREWDRIVER, + HAND_DRILL + } } diff --git a/src/main/java/com/hbm/blocks/BlockBase.java b/src/main/java/com/hbm/blocks/BlockBase.java new file mode 100644 index 000000000..002362f79 --- /dev/null +++ b/src/main/java/com/hbm/blocks/BlockBase.java @@ -0,0 +1,24 @@ +package com.hbm.blocks; + +import com.hbm.lib.RefStrings; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockBase extends Block { + + public BlockBase() { + super(Material.rock); + } + + public BlockBase(Material material) { + super(material); + } + + @Override + public Block setBlockName(String name) { + super.setBlockName(name); + this.setBlockTextureName(RefStrings.MODID + ":" + name); + return this; + } +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7a38763bb..9a9604b95 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -223,6 +223,7 @@ public class ModBlocks { public static Block block_fallout; public static Block block_foam; public static Block block_graphite; + public static Block block_graphite_drilled; public static Block block_boron; public static Block block_lanthanium; public static Block block_actinium; @@ -1348,7 +1349,8 @@ public class ModBlocks { block_red_phosphorus = new BlockHazardFalling().makeBeaconable().addFire(15).toBlock().setStepSound(Block.soundTypeSand).setBlockName("block_red_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_red_phosphorus"); block_fallout = new BlockHazardFalling().addRadiation(ItemHazard.fo * ItemHazard.block).toBlock().setStepSound(Block.soundTypeGravel).setBlockName("block_fallout").setCreativeTab(MainRegistry.blockTab).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":ash"); block_foam = new BlockGeneric(Material.craftedSnow).setBlockName("block_foam").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSnow).setHardness(0.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":foam"); - block_graphite = new BlockFlammable(Material.iron, 30, 5).setBlockName("block_graphite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_graphite"); + block_graphite = new BlockGraphite(Material.iron, 30, 5).setBlockName("block_graphite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_graphite"); + block_graphite_drilled = new BlockFlammable(Material.iron, 30, 5).setBlockName("block_graphite_drilled").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_graphite_drilled"); block_boron = new BlockBeaconable(Material.iron).setBlockName("block_boron").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_boron"); block_lanthanium = new BlockBeaconable(Material.iron).setBlockName("block_lanthanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lanthanium"); block_actinium = new BlockBeaconable(Material.iron).setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); @@ -2269,6 +2271,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_fallout, ItemBlockHazard.class, block_fallout.getUnlocalizedName()); GameRegistry.registerBlock(block_foam, block_foam.getUnlocalizedName()); GameRegistry.registerBlock(block_graphite, block_graphite.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_drilled, block_graphite_drilled.getUnlocalizedName()); GameRegistry.registerBlock(block_boron, block_boron.getUnlocalizedName()); GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName()); GameRegistry.registerBlock(block_fiberglass, block_fiberglass.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/BlockGraphite.java b/src/main/java/com/hbm/blocks/machine/BlockGraphite.java new file mode 100644 index 000000000..f9a6faa18 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockGraphite.java @@ -0,0 +1,30 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockFlammable; + +import api.hbm.block.IToolable; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class BlockGraphite extends BlockFlammable implements IToolable { + + public BlockGraphite(Material mat, int en, int flam) { + super(mat, en, flam); + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.HAND_DRILL) + return false; + + if(!world.isRemote) { + world.setBlock(x, y, z, ModBlocks.block_graphite_drilled); + } + + return true; + } + +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java b/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java index 65504bbb9..30d59b14a 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java @@ -5,7 +5,7 @@ import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityHadronDiode; import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig; -import api.hbm.block.IScrewable; +import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; @@ -17,7 +17,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockHadronDiode extends BlockContainer implements IScrewable { +public class BlockHadronDiode extends BlockContainer implements IToolable { @SideOnly(Side.CLIENT) private IIcon iconIn; @@ -60,7 +60,10 @@ public class BlockHadronDiode extends BlockContainer implements IScrewable { } @Override - public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ) { + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) + return false; if(!world.isRemote) { TileEntityHadronDiode diode = (TileEntityHadronDiode) world.getTileEntity(x, y, z); diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java index b48a37de5..5b37a9b95 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java @@ -9,7 +9,8 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; -import api.hbm.block.IScrewable; +import api.hbm.block.IToolable; +import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; @@ -23,7 +24,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public abstract class RBMKBase extends BlockDummyable implements IScrewable { +public abstract class RBMKBase extends BlockDummyable implements IToolable { public static boolean dropLids = true; public static boolean digamma = false; @@ -150,7 +151,10 @@ public abstract class RBMKBase extends BlockDummyable implements IScrewable { } @Override - public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ) { + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + + if(tool != ToolType.SCREWDRIVER) + return false; int[] pos = this.findCore(world, x, y, z); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 582e6e42b..8b419a859 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -23,6 +23,7 @@ import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; import com.hbm.tileentity.machine.rbmk.IRBMKFluxReceiver.NType; +import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Items; @@ -1792,6 +1793,7 @@ public class ModItems { public static Item redcoil_capacitor; public static Item titanium_filter; public static Item screwdriver; + public static Item hand_drill; public static Item overfuse; public static Item arc_electrode; public static Item arc_electrode_burnt; @@ -4326,7 +4328,8 @@ public class ModItems { fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); titanium_filter = new ItemCapacitor(6 * 60 * 60 * 20).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":titanium_filter"); - screwdriver = new ItemScrewdriver().setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":screwdriver"); + screwdriver = new ItemTooling(ToolType.SCREWDRIVER).setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":screwdriver"); + hand_drill = new ItemTooling(ToolType.HAND_DRILL).setUnlocalizedName("hand_drill").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":hand_drill"); overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); arc_electrode = new ItemCustomLore().setUnlocalizedName("arc_electrode").setMaxDamage(250).setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode"); arc_electrode_burnt = new Item().setUnlocalizedName("arc_electrode_burnt").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode_burnt"); @@ -6158,6 +6161,7 @@ public class ModItems { GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); + GameRegistry.registerItem(hand_drill, hand_drill.getUnlocalizedName()); GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName()); GameRegistry.registerItem(arc_electrode, arc_electrode.getUnlocalizedName()); GameRegistry.registerItem(arc_electrode_burnt, arc_electrode_burnt.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemScrewdriver.java b/src/main/java/com/hbm/items/tool/ItemTooling.java similarity index 58% rename from src/main/java/com/hbm/items/tool/ItemScrewdriver.java rename to src/main/java/com/hbm/items/tool/ItemTooling.java index b3f65a73f..6520cec18 100644 --- a/src/main/java/com/hbm/items/tool/ItemScrewdriver.java +++ b/src/main/java/com/hbm/items/tool/ItemTooling.java @@ -1,21 +1,28 @@ package com.hbm.items.tool; -import api.hbm.block.IScrewable; +import api.hbm.block.IToolable; +import api.hbm.block.IToolable.ToolType; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -public class ItemScrewdriver extends Item { +public class ItemTooling extends Item { + + ToolType type; + + public ItemTooling(ToolType type) { + this.type = type; + } @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float fX, float fY, float fZ) { Block b = world.getBlock(x, y, z); - if(b instanceof IScrewable) { - return ((IScrewable)b).onScrew(world, player, x, y, z, side, fX, fY, fZ); + if(b instanceof IToolable) { + return ((IToolable)b).onScrew(world, player, x, y, z, side, fX, fY, fZ, this.type); } return false; diff --git a/src/main/resources/assets/hbm/textures/blocks/block_graphite_drilled.png b/src/main/resources/assets/hbm/textures/blocks/block_graphite_drilled.png new file mode 100644 index 0000000000000000000000000000000000000000..32f1508285fea3dabad276941c0c210e9d0e1ec9 GIT binary patch literal 427 zcmV;c0aX5pP)N{Oav zcs`%R7%9B>^nK6k^&+J-)i4Zr?nx?@yN6wj)5=yD*13-)s@BN2xYOvXC_>RGRKF1g{)%AM)cLs~a zg7f)|F^1V}hKNvA6_?B9gMse4j{E&i+qSfAJBgih#26>*bzQUFZt44;5W=4sjFv?N zV+>krlu{_AD9iHi3`W~2CA8L9Yo}F;2&>iVX9mmV5)mQi{A)r{V6DYki->T$-G0tN z+qP6yMP1h@r7*@|t>thya6BGA)~VL(b^a~~yWNhmED;ezgwyFn&iS{D0I2`Bz!&2C V;I2KM03QGV002ovPDHLkV1g5(xl#ZC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/block_graphite_fuel.png b/src/main/resources/assets/hbm/textures/blocks/block_graphite_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0fc7691f905632b7c76916e3fb987ee4b89928 GIT binary patch literal 413 zcmV;O0b>4%P)d295JewFA)pol0=RSK%C1udSh(>PseC+Nz!&lzd;mkD zBFL6GLvoA60t{!fdw?C_ck>4ykDq3{-DVL%RmnMXyxR#-!qOQDJ5=mOJIzl zC<<;VQ%dBV0Wii;Hci7gj^vz4DPfG6764+5h{%I+Ij;4P{}=cT)hiZ!SCIP100000NkvXX Hu0mjfV9U4p literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/block_graphite_rod_in.png b/src/main/resources/assets/hbm/textures/blocks/block_graphite_rod_in.png new file mode 100644 index 0000000000000000000000000000000000000000..2b7e564b94a88c8c107763a26d9ac0efb24f509f GIT binary patch literal 429 zcmV;e0aE^nP)x>y&u2u0kaOmAI&ryNP}Q#5wk79G2m$XsZQFK3P18_HK~)KLU2{AhX_^LA<$mr8 zoOASgJ?<)16*B|CIY+3fil%8WGgKAlT-N{~BIKMO2D=BQ(G2 zHlscq5GjbE+5wECXlIb)tLr*aN;v1R*3xxdFKXMCoHMG5i!pLOpK03`RpoIW z6BuI{3kT02pI%bzRf8Eu|Dx6=O`_03afyl%9nB1GCwT_ZSR^L#(xZ?f3hC zXD}L#u%A97QpiOq1?KZPyWQ@I!63%S@pvSJKnS51=d6SnIfh7xfv?}bvs^A|nueV7 zpBdb3E5y?Yk&MWF_lJ#tWnir(m-{Lrib(!-7rggOCXjn^jUDu@#Xb}&1UmtrSA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/hand_drill.png b/src/main/resources/assets/hbm/textures/items/hand_drill.png new file mode 100644 index 0000000000000000000000000000000000000000..1db4de307d67101e05c47655d34d1903b2705dae GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfjs4*}nm~E|V{H zT+Z5C%W24`%rre^WyJNG&n(kQ7#L*Ei$B?vCLG+LBP!hJU3}b4FI%n2HnOkxXpR+2 f%<^BEclNzg7D)1HUAdnR=syNeS3j3^P6g literal 0 HcmV?d00001