From fa8c97e4745d6da788de537681514cfe91cb2921 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Thu, 20 Sep 2018 14:28:37 +0200 Subject: [PATCH] lock picking, safe, gas mask filter --- assets/hbm/lang/de_DE.lang | 5 + assets/hbm/lang/en_US.lang | 5 + assets/hbm/sounds.json | 2 + assets/hbm/sounds/tool/pinBreak.ogg | Bin 0 -> 6914 bytes assets/hbm/sounds/tool/pinUnlock.ogg | Bin 0 -> 7233 bytes assets/hbm/textures/blocks/safe_front.png | Bin 0 -> 431 bytes assets/hbm/textures/blocks/safe_front_alt.png | Bin 0 -> 429 bytes assets/hbm/textures/blocks/safe_side.png | Bin 0 -> 332 bytes assets/hbm/textures/blocks/safe_side_alt.png | Bin 0 -> 332 bytes assets/hbm/textures/gui/gui_safe.png | Bin 0 -> 1129 bytes assets/hbm/textures/items/gas_mask_filter.png | Bin 0 -> 289 bytes assets/hbm/textures/items/pin.png | Bin 0 -> 130 bytes com/hbm/blocks/ModBlocks.java | 5 + com/hbm/blocks/generic/BlockStorageCrate.java | 45 +++++ com/hbm/handler/GUIHandler.java | 19 +++ .../inventory/container/ContainerSafe.java | 80 +++++++++ com/hbm/inventory/gui/GUISafe.java | 44 +++++ com/hbm/items/ModItems.java | 6 + com/hbm/items/special/ItemCustomLore.java | 11 ++ com/hbm/items/special/ItemSyringe.java | 14 ++ com/hbm/lib/HbmChestContents.java | 12 +- com/hbm/main/CraftingManager.java | 6 +- com/hbm/main/MainRegistry.java | 2 + .../machine/TileEntityLockableBase.java | 28 +++ .../tileentity/machine/TileEntitySafe.java | 160 ++++++++++++++++++ com/hbm/world/Relay.java | 13 +- 26 files changed, 446 insertions(+), 11 deletions(-) create mode 100644 assets/hbm/sounds/tool/pinBreak.ogg create mode 100644 assets/hbm/sounds/tool/pinUnlock.ogg create mode 100644 assets/hbm/textures/blocks/safe_front.png create mode 100644 assets/hbm/textures/blocks/safe_front_alt.png create mode 100644 assets/hbm/textures/blocks/safe_side.png create mode 100644 assets/hbm/textures/blocks/safe_side_alt.png create mode 100644 assets/hbm/textures/gui/gui_safe.png create mode 100644 assets/hbm/textures/items/gas_mask_filter.png create mode 100644 assets/hbm/textures/items/pin.png create mode 100644 com/hbm/inventory/container/ContainerSafe.java create mode 100644 com/hbm/inventory/gui/GUISafe.java create mode 100644 com/hbm/tileentity/machine/TileEntitySafe.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 32d79b0db..6a45a6a48 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -260,6 +260,7 @@ item.turret_biometry.name=Geschütz-Telemetriekarte item.key.name=Schlüssel item.key_red.name=Roter Schlüssel +item.pin.name=Haarklammer item.padlock.name=Vorhängeschloss tile.machine_keyforge.name=Schlossertisch container.keyForge=Schlossertisch @@ -371,6 +372,8 @@ tile.crate_iron.name=Eisenkiste container.crateIron=Eisenkiste tile.crate_steel.name=Stahlkiste container.crateSteel=Stahlkiste +tile.safe.name=Panzerschrank +container.safe=Panzerschrank tile.machine_press.name=Dampfpresse container.press=Dampfpresse tile.machine_siren.name=Sirene @@ -1113,6 +1116,7 @@ item.lemon.name="Zitrone" item.definitelyfood.name=GarantiertKeinDreck-Marken Feldration item.loops.name=Lüüps item.loop_stew.name=Informatiker-Frühstück +item.fooditem.name=lebensmittel tile.frozen_grass.name=Gefrorenes Gras tile.frozen_dirt.name=Gefrorene Erde @@ -1270,6 +1274,7 @@ item.plan_c.name=Plan C item.med_ipecac.name=Ipecac-Sirup item.med_ptsd.name=PTBS-Medikament item.med_schiziphrenia.name=Schizophrenie-Medikament +item.gas_mask_filter.name=Gasmaskenfilter item.stealth_boy.name=Mobile Tarnkappe diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index ca0ba8451..954bd0019 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -273,6 +273,7 @@ item.turret_biometry.name=Turret Telemetry Card item.key.name=Key item.key_red.name=Red Key +item.pin.name=Bobby Pin item.padlock.name=Padlock tile.machine_keyforge.name=Locksmith Table container.keyForge=Locksmith Table @@ -371,6 +372,8 @@ tile.crate_iron.name=Iron Crate container.crateIron=Iron Crate tile.crate_steel.name=Steel Crate container.crateSteel=Steel Crate +tile.safe.name=Safe +container.safe=Safe tile.machine_press.name=Steam Press container.press=Steam Press tile.machine_siren.name=Siren @@ -1113,6 +1116,7 @@ item.lemon.name="Lemon" item.definitelyfood.name=TotallyNotDirt-Brand MRE item.loops.name=Lööps item.loop_stew.name=IT Breakfast +item.fooditem.name=food item tile.frozen_grass.name=Frozen Grass tile.frozen_dirt.name=Frozen Dirt @@ -1270,6 +1274,7 @@ item.plan_c.name=Plan C item.med_ipecac.name=Ipecac Syrup item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication +item.gas_mask_filter.name=Gas Mask Filter item.stealth_boy.name=Stealth Device diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 16580839e..d6e94b461 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -34,6 +34,8 @@ "item.geiger4": {"category": "player", "sounds": [{"name": "tool/geiger4", "stream": false}]}, "item.geiger5": {"category": "player", "sounds": [{"name": "tool/geiger5", "stream": false}]}, "item.geiger6": {"category": "player", "sounds": [{"name": "tool/geiger6", "stream": false}]}, + "item.pinUnlock": {"category": "player", "sounds": [{"name": "tool/pinUnlock", "stream": false}]}, + "item.pinBreak": {"category": "player", "sounds": [{"name": "tool/pinBreak", "stream": false}]}, "music.recordLambdaCore": {"category": "record", "sounds": [{"name": "music/recordLambdaCore", "stream": true}]}, "music.recordSectorSweep": {"category": "record", "sounds": [{"name": "music/recordSectorSweep", "stream": true}]}, diff --git a/assets/hbm/sounds/tool/pinBreak.ogg b/assets/hbm/sounds/tool/pinBreak.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bdb42d2ff569b3e08dba8db6b3f592b70d04c797 GIT binary patch literal 6914 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 I27vv406O*2Y5)KL literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/safe_front.png b/assets/hbm/textures/blocks/safe_front.png new file mode 100644 index 0000000000000000000000000000000000000000..28999652a6cbaed0395eeaac87d18112247853fb GIT binary patch literal 431 zcmV;g0Z{&lP)QVJr1hyb8=z&QudirCv?s*0*oN@>q;W5qeg zIF6`l>sm^o){4bNr0wOL2_aZq+o5GyT3171-#w~v9C6N(b4F{eC+^<+#@Uh#u80t0 zB!s}e?=NIlpy%Fm1Xz}ZWmy`Ud7immuUsw{8fi8Gslgr4)u?VB5CSwAx5}{wAo+*?Z44O{A2Xct#`V{1VYNdUJgGV49}W zc&%9}IC>$30rA6tJ; Z>jwiw8wEm7s*0*oN@)+kpsG0Mn5GF;ZCy(# z)LOA~5ovolXV!J4)_N7Npb$dqYAEcxM>S0o&N*_<47Ju9ckg}UY)J-JM2Io6t}DlJ zT-2;U&%Nge5JDh?(9kT)!sGE^7=}y4KC#xywrz+A-g`cu530&Ij%?e8bFNWy&fO{4 z!Llp>#26{1FpeYpzTc*0Bh{Y232Jlp-ZRfLDWxW!(a1SpBHBi8j&C2#^L!hxH7liD z6ne*5a!;#|>HkIKmqL#u#t1-42@xTsbQ5`9S7MBp(R$bb`@Y|jkK;g9Nhy(1LRERa zUU=_O)n5&A&OD#bW?vEc7rKaWp6C5Cl~Qg-u~FrmTfy(uE|XR7)wM3ias09M_q2Wh XWAz)DF0Rm+00000NkvXXu0mjfGtRyt literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/safe_side.png b/assets/hbm/textures/blocks/safe_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2e3a21dc151ceecca612a5646a1b50538150eccf GIT binary patch literal 332 zcmV-S0ki&zP) z3jjzWGx7A88AxKziHLxi!OQ>v)CPA4fCAB1J(3`ah^Y5XOt?GteFw>6jR<5W)Hk!L zjWKYZr~0f-QXzSnS?gX00C&e21I*0F*`+2kORfOq3CRyYpIvK#^n>b?#I|iHO=9Xm za=h5yNoh29{~kfePx4m}6e;`sI@~w*em8ZDA%&m$o(}dJfS&)~w=?wko=klL=gK6f zS9Te^l5myS4=aJ5j*_T!x+y*5uB0<&Cgz;qmnkA}T~`(LOAEB$k$+|iy}N5>m~-O3 e?~ znS4EFhPyN8BqA^~%nX38g4P&gCd!-Hij6V2 zu8Yk40jNkUL@zVfxyAunYm71InfbZ9*ktCSD*$QY?*9OFcbx@N8@tM@}f$t0>ju%A`)rOy->L%M=mZ_q~Gpr3G5=$S!6VdR5oVm~-+x e&!Vcj-K{_B#`_4VfZ~?`0000Z;SrB};yebMS)b)W9PFPm;B_G7|&etx9_HFLkZ zsN(H+e;uh(i;w&N=;h0oLdO~9uYIq*yYBke3JaN9A&KYDuFKE)GvVp8zxIslrZPAf zFg7GGF&t!JXyRmG5oX{}V-WCRP?!OixM#y_k^cK{-It!LS)qpwW)vr#E7~bz+iqqe z+OX>V{{_i8X0xT*4$cuSwh^6mSQV=oI1Qh5i+w}X+N{ktXBdB!DFT|9DB+gBxANwk z;#W^ge9?Fqyw!!wZme;M?Wqer^@@5yWEA8ubu$;x^FtyiV zzTt7V1v2j#33?yd>1$TjG8EsQQ@pnL#6{gzecyM-hE8=AFj@Hi_o`J@HZrevuG;fZaZ(9nD_{Tm!9=VYGkxyNzkdu?c_tsLLin5(^Y6BEps zW*YytG-L8TZi^ZD$i7EO6+nrbKm*@AH;|QXJTvpJjCA9&WaSB#o98DhUnsf5j6Y4G z8{6yf>`WcsWy_s{9M4X;E%;o>2}_XHmBJUo5{jQ0JpUS&aPByenPz|d?8}!sSV*&B z?E$b28%1Y4yTMgsr^g6M;R`hN<^NmuuUnNBSi0wS-rk)iM{OHE*6pk8UiJ8GRqe^- yM*iYY^N;7}KUnmtVkL89{lh2hz^qLJpm5OK;uLF_c)i;mkm;VTelF{r5}E+MRdUh* literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/gas_mask_filter.png b/assets/hbm/textures/items/gas_mask_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..b1393ea9fda45d91b44fa6e661d533871724859b GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfuBXo?V!JaJ<7+o%G) zipcLFZ{KinN+nH+y|6=kkIS@s2~lh{`Ui8?aceFC3P0vy*f+hQ<3V-j26YaDa|bLY za|sC^GGGz>%6(#$&TElXVGSJ%vRVzM$0hEJ3bE`roYxceW}f|lbzE(iUwsz+w!1l` j!tA>BjqCC+zkg*h=L&V1%dWf(=tl-mS3j3^P6J4ptYNgjzvqCK-xkIl2UakCF=7apQn getInventoryStackLimit()) { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.safe"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { + return false; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; + } + } + + // You scrubs aren't needed for anything (right now) + @Override + public void openInventory() { + } + + @Override + public void closeInventory() { + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + return true; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if (slots[i] != null) { + if (slots[i].stackSize <= j) { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + slots = new ItemStack[getSizeInventory()]; + + for (int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if (b0 >= 0 && b0 < slots.length) { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + NBTTagList list = new NBTTagList(); + + for (int i = 0; i < slots.length; i++) { + if (slots[i] != null) { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte) i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + int[] slots = new int[15]; + for(int i = 0; i < slots.length; i++) + slots[i] = i; + return slots; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return true; + } +} diff --git a/com/hbm/world/Relay.java b/com/hbm/world/Relay.java index ebf1b35fb..b9d00fa58 100644 --- a/com/hbm/world/Relay.java +++ b/com/hbm/world/Relay.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.lib.HbmChestContents; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityCrateIron; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -646,9 +647,9 @@ public class Relay extends WorldGenerator world.setBlock(x + 10, y + 0, z + 9, Blocks.iron_bars, 0, 3); world.setBlock(x + 0, y + 0, z + 10, Block3, 0, 3); world.setBlock(x + 4, y + 0, z + 10, Blocks.brick_block, 0, 3); - world.setBlock(x + 6, y + 0, z + 10, Blocks.chest, 3, 3); + world.setBlock(x + 6, y + 0, z + 10, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 6, y + 0, z + 10, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 10), 8); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8); world.setBlock(x + 7, y + 0, z + 10, Blocks.brick_block, 0, 3); world.setBlock(x + 8, y + 0, z + 10, Blocks.brick_block, 0, 3); world.setBlock(x + 10, y + 0, z + 10, Blocks.iron_bars, 0, 3); @@ -1265,9 +1266,9 @@ public class Relay extends WorldGenerator world.setBlock(x + 5, y + 14, z + 6, Block4, 2, 3); world.setBlock(x + 6, y + 14, z + 6, Block2, 0, 3); world.setBlock(x + 7, y + 14, z + 6, Block4, 2, 3); - world.setBlock(x + 8, y + 14, z + 6, Blocks.chest, 3, 3); + world.setBlock(x + 8, y + 14, z + 6, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 8, y + 14, z + 6, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(2), (TileEntityChest)world.getTileEntity(x + 8, y + 14, z + 6), 8); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(2), (TileEntityCrateIron)world.getTileEntity(x + 8, y + 14, z + 6), 8); world.setBlock(x + 9, y + 14, z + 6, Blocks.iron_bars, 0, 3); world.setBlock(x + 10, y + 14, z + 6, Block6, 0, 3); world.setBlock(x + 9, y + 14, z + 7, Blocks.iron_bars, 0, 3); @@ -1485,9 +1486,9 @@ public class Relay extends WorldGenerator world.setBlock(x + 6, y + 32, z + 1, Block7, 0, 3); world.setBlock(x + 8, y + 32, z + 1, Block6, 0, 3); world.setBlock(x + 5, y + 32, z + 2, Block6, 0, 3); - world.setBlock(x + 6, y + 32, z + 2, Blocks.chest, 2, 3); + world.setBlock(x + 6, y + 32, z + 2, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 6, y + 32, z + 2, 2, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 6, y + 32, z + 2), 8); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 32, z + 2), 8); world.setBlock(x + 7, y + 32, z + 2, Block6, 0, 3); world.setBlock(x + 5, y + 32, z + 3, Block4, 3, 3); world.setBlock(x + 6, y + 32, z + 3, Block2, 0, 3);