From 26bcbcf7e0f5230344f549ccb461cc07676340df Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 27 May 2022 14:54:45 +0200 Subject: [PATCH] it's an autocrafter --- src/main/java/com/hbm/blocks/ModBlocks.java | 6 ++ .../blocks/machine/MachineAutocrafter.java | 65 ++++++++++++++++++ .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityMachineAutocrafter.java | 20 ++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../blocks/machine_autocrafter_bottom.png | Bin 0 -> 466 bytes .../blocks/machine_autocrafter_side.png | Bin 0 -> 466 bytes .../blocks/machine_autocrafter_top.png | Bin 0 -> 556 bytes .../gui/processing/gui_autocrafter.png | Bin 0 -> 2444 bytes .../gui/storage/gui_mass_storage_double.png | Bin 3320 -> 0 bytes .../gui/storage/gui_mass_storage_triple.png | Bin 3413 -> 0 bytes 12 files changed, 96 insertions(+) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_top.png create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_autocrafter.png delete mode 100644 src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_double.png delete mode 100644 src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_triple.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 948fd7ec2..2f25a1301 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1047,6 +1047,8 @@ public class ModBlocks { public static Block machine_storage_drum; public static final int guiID_storage_drum = 118; + public static Block machine_autocrafter; + public static Block anvil_iron; public static Block anvil_lead; public static Block anvil_steel; @@ -2166,6 +2168,8 @@ public class ModBlocks { machine_electrolyser = new MachineElectrolyser().setBlockName("machine_electrolyser").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); + machine_autocrafter = new MachineAutocrafter().setBlockName("machine_autocrafter").setCreativeTab(MainRegistry.machineTab); + anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); anvil_lead = new NTMAnvil(Material.iron, 1).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); anvil_steel = new NTMAnvil(Material.iron, 2).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); @@ -2917,6 +2921,8 @@ public class ModBlocks { //GameRegistry.registerBlock(observer_off, observer_off.getUnlocalizedName()); //GameRegistry.registerBlock(observer_on, observer_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_autocrafter, ItemBlockBase.class, machine_autocrafter.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_iron, ItemBlockBase.class, anvil_iron.getUnlocalizedName()); GameRegistry.registerBlock(anvil_lead, ItemBlockBase.class, anvil_lead.getUnlocalizedName()); GameRegistry.registerBlock(anvil_steel, ItemBlockBase.class, anvil_steel.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java new file mode 100644 index 000000000..7bb318c6a --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java @@ -0,0 +1,65 @@ +package com.hbm.blocks.machine; + +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemLock; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityMachineAutocrafter; +import com.hbm.tileentity.machine.storage.TileEntityCrateBase; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class MachineAutocrafter extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + @SideOnly(Side.CLIENT) + private IIcon iconBottom; + + public MachineAutocrafter() { + super(Material.iron); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_autocrafter_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_autocrafter_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_autocrafter_bottom"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMachineAutocrafter(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + TileEntity entity = world.getTileEntity(x, y, z); + if(entity instanceof TileEntityMachineAutocrafter) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + } + return true; + } else { + return false; + } + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 6a539da64..73d9c279a 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -246,6 +246,7 @@ public class TileMappings { } private static void putMachines() { + put(TileEntityMachineAutocrafter.class, "tileentity_autocrafter"); put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace"); put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis"); put(TileEntityUVLamp.class, "tileentity_uv_lamp"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java new file mode 100644 index 000000000..388ef2ef9 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java @@ -0,0 +1,20 @@ +package com.hbm.tileentity.machine; + +import com.hbm.tileentity.TileEntityMachineBase; + +public class TileEntityMachineAutocrafter extends TileEntityMachineBase { + + public TileEntityMachineAutocrafter() { + super(21); + } + + @Override + public String getName() { + return "container.autocrafter"; + } + + @Override + public void updateEntity() { + + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 950c219b3..6f579507d 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -261,6 +261,7 @@ container.machineSolidifier=Verfestiger container.machineTurbine=Dampfturbine container.machineTurbofan=Turbofan container.machine_schrabidium_transmutator=Schrabidium-Transmutationsgerät +container.massStorage=Speicher container.microwave=Mikrowelle container.miningDrill=Automatischer Minenbohrer container.miningLaser=Bergbaulaser @@ -3404,6 +3405,7 @@ tile.machine_waste_drum.name=Abklingbecken-Trommel tile.machine_well.name=Ölbohrturm tile.machine_zirnox.name=ZIRNOX Atomreaktor tile.marker_structure.name=Multiblock-Strukturvorlage +tile.mass_storage.name=Massenspeicher tile.meteor_battery.name=Stermenmetall-Elektrostatikgenerator tile.meteor_brick.name=Meteoritenziegel tile.meteor_brick_chiseled.name=Gemeißelter Meteoritenziegel diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index dc3f6b587..31e3ec3b9 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -437,6 +437,7 @@ container.machineSolidifier=Solidifier container.machineTurbine=Steam Turbine container.machineTurbofan=Turbofan container.machine_schrabidium_transmutator=Schrabidium Transmutation Device +container.massStorage=Storage container.microwave=Microwave container.miningDrill=Automatic Mining Drill container.miningLaser=Mining Laser @@ -3797,6 +3798,7 @@ tile.machine_waste_drum.name=Spent Fuel Pool Drum tile.machine_well.name=Oil Derrick tile.machine_zirnox.name=ZIRNOX Nuclear Reactor tile.marker_structure.name=Multiblock Structure Marker +tile.mass_storage.name=Mass Storage Unit tile.meteor_battery.name=Starmetal Static Electricity Generator tile.meteor_brick.name=Meteor Bricks tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d737646cf087e43eb8d0e08e2c797e9ca7feefaa GIT binary patch literal 466 zcmV;@0WJQCP)&u5QV>(#9c)!78L)AXkqQ2-%eSyP_)oO5R}#3Y?51C z5{&o3JCGuonKS3i5V2mbeO=cGA<$Z*wMHq05CZQ#0YV6#&nH5Ny_j2$p7#!yQ*zlw%hHW;e-UOb@H{}?{`A@0|bES=W)Q>`Tzg`07*qo IM6N<$f+aoBCIA2c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..5f88cdcb8fa852e6db6ca046c34420feef629b32 GIT binary patch literal 466 zcmV;@0WJQCP)G^!l;c&n?H@FOh z0O#C5uqX=hJV!T81Hj|)Kq-Y%3hzD6Ih0ZWXsrjuZQF9c-@kX^a5|k**EQ$!ITC|F zz+$mryytBLDyZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_autocrafter_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f22794800063728acdcee8a82a453113274cc10c GIT binary patch literal 556 zcmV+{0@MA8P)!-uQha`XqLk|7%+1XW ztJMnUT<0j;0_)mjUfwU%D5*BQx} zYq|Gc#u0$oY{pM$Fa;9$8m>~IF7lyyQ3%yk=gv0PHT-ZMidGB{9PSh0vTDB zQ4|FLUteG3dCp?70InW*e0-!R3aqu9&u1Z1Iyf8-G))6sb#I!6rfE99sHzIBHPh+z zmxI48B}qb(Bn$=voO6suBZk8vWm%%N=KlU(d?6h;=L8_^z4vIXMXr$7T64Kvga_|E zCW@{?%;$5)Q*KerPPrtPTt{eVlm;PpCNt+#`#fi#r)TeT)<0`~>s{;jzQ6bVe($rcIXPI# zNGnPM0Ay^eEu8^?kR=4r63FBkQ4okss7Q00V`yZ=qEGz|04WO_OS5Aavp){A!j#;; zlNf1bzlm^RG%JlkT^XpMu!rwf@CoH`hB3z&=15!;XAK1o0>y&@kW7x>>~YB>rfpA1 z)904bH*6h zYQD=At#vTuwpX01U!CYm3Qseo8n;OjH5sv@?$URYj#XsQQf1g~o(VZSmvYg|fOEhJ z>XE_%AIc*UkJYHxPU6|OMS&=D6uU2lTOp#8==JM!lL+E&JTV6Y%?=KB%ve{X1}N>g z|5Nu{c{Mm@<1pCvPq;uGpxacwP|>0qBTSK)5RP~MFM~1Mi=3@o&Gi{o^fonrDCuMc zFqug32+pxD;eN@#??1qJe>P2gC{v*v4M)a$8()efNMr-cezVjy;7GZmn?pJ;IN6 z=xW)#zAZNhV8ZfZ95;>dm~vuK;}9O)MlPy@gw{IL>|Spxpf{$OdZ}uxgRpAHl60~I zsDL@jPNd>gs=ZKIbgOMI8U1&oO&D5BM+OS){4-EvVPb$WZ0Z%?urdagULFwgWJS{BeVIW?`^eyhZ9zEdf@$HhOBg z-BA-(lfm60qlofaU2!m}QN=50>XakMx{8&Dy4(0^7%&wNW7SFwJ%i5pYaU6ErZ4XRLOwzKlvL?>gFtsNa zYYNYQmwaT=Fr2OfmGwq>^)Bzb(fYuB+p-HSmcEBjx}KAA8Vg2B z30mSs+EnJ`i-D+wQeNOeY*u@ZvZ*X;Po_urg1HgHsT`v>=vFYG;oxVi>V4lfy|I~TS(~yH{ zRP$oiP9S@9;Wb7fxPeu1-hn)By0DlMWq*0fy-IZM7<|dz8=7)hV*NF!w|a?Ayss=5 znzb7&ExuGLPEpaJ+ZaHhYi5Jl5`SuzQ1QnCGbyN14Zt|KC*n}JdV9`GChuON^oVo; z%CLVY6#jw4RTyuJ|70SF0<;c!YUCr?JnTJtzmHE8lIg_wo1c4%WU0^nMqhv0q_euU zVE_t`iJ7bsZqi-d+KPM>;PzmWCJ})+xxtlvE%z#9I{WBJOIM|-ea5Thee%PJyYETk z0pkOjM4J>dOgE*Dmf%*CXB*j*4w1L&Y=Kh?_*X6iaNi6tV+ zFuI_KK{RD1vu|ObO3LuFqJlgyQ?BKVbB>soA!@Jmm{YCAG>?sAAk2_|>fqS8LOt>LZeF35bEA&t6Jz>SXdE-*dG<}#9OJ!@N~+Z{!x<36Xoj3nj+OQ&%LdepXk%ix2udR4l*mA z%KtCKZ=6j99sc_3mk75v>dJ;@raS9rwcSl~7It1Vvr^-g>$I1tcb=`#Vx&bxN4vdf z;+|~JSHFHfQ`O2UkIxbN-PphJ^ef|TY_nloN&|_6+V3#W`+(L{R*t82e>OCRk2a}% zX|La;;rF06l1C>to{8IbH?mwEQ*LdQ_sJdpcV0QKjuO4%f9if}*uZ4dtlWHgdWY$4 zeExq<{1NVd6@@PylKsBvq;U<5qchn&7V1~l=l~Dl0s0n38qy*M7sxZuub!&JvqO*` yxbJv_ArecuzAKS3t?`$QeVZc=mP~Wsgnt1UZW{pr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_double.png b/src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_double.png deleted file mode 100644 index 65d5327881a2c69e294666ea335941c0b0e844d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3320 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 diff --git a/src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_triple.png b/src/main/resources/assets/hbm/textures/gui/storage/gui_mass_storage_triple.png deleted file mode 100644 index aa9a3cc4094c35abd959548cd3f1d8882784ae3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3413 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