From 998f5ea8335920b4b5abbd374505bd74a8981c3f Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sun, 16 Sep 2018 16:06:14 +0200 Subject: [PATCH] custom nuke rods, radiorec gui, nuclear barrel structure --- assets/hbm/lang/de_DE.lang | 9 +- assets/hbm/lang/en_US.lang | 9 +- assets/hbm/sounds.json | 4 + assets/hbm/sounds/clap.ogg | Bin 0 -> 9290 bytes assets/hbm/sounds/mug.ogg | Bin 0 -> 9970 bytes assets/hbm/sounds/sample.ogg | Bin 0 -> 119976 bytes assets/hbm/textures/items/custom_amat.png | Bin 0 -> 254 bytes assets/hbm/textures/items/custom_dirty.png | Bin 0 -> 272 bytes assets/hbm/textures/items/custom_element.png | Bin 0 -> 247 bytes assets/hbm/textures/items/custom_hydro.png | Bin 0 -> 280 bytes assets/hbm/textures/items/custom_nuke.png | Bin 0 -> 270 bytes assets/hbm/textures/items/custom_schrab.png | Bin 0 -> 244 bytes assets/hbm/textures/items/custom_tnt.png | Bin 0 -> 268 bytes assets/hbm/textures/items/fooditem.png | Bin 0 -> 1570 bytes com/hbm/blocks/ModBlocks.java | 4 +- com/hbm/blocks/fluid/ToxicBlock.java | 53 +-- com/hbm/blocks/generic/Guide.java | 6 +- com/hbm/blocks/machine/RadioRec.java | 18 + com/hbm/blocks/machine/Radiobox.java | 5 - com/hbm/blocks/test/TestEventTester.java | 16 +- com/hbm/explosion/ExplosionChaos.java | 24 + com/hbm/handler/GUIHandler.java | 19 + com/hbm/inventory/MachineRecipes.java | 35 ++ .../container/ContainerRadioRec.java | 17 + .../container/ContainerRadiobox.java | 2 - com/hbm/inventory/gui/GUIRadioRec.java | 226 ++++++++++ com/hbm/inventory/gui/GUIRadiobox.java | 8 + com/hbm/items/ModItems.java | 27 +- com/hbm/items/special/ItemBattery.java | 2 + com/hbm/items/special/ItemCustomLore.java | 32 ++ com/hbm/lib/HbmWorldGen.java | 14 +- com/hbm/lib/Library.java | 20 +- com/hbm/main/CraftingManager.java | 3 +- com/hbm/main/MainRegistry.java | 10 +- com/hbm/packet/AuxButtonPacket.java | 15 + com/hbm/packet/AuxGaugePacket.java | 9 + .../tileentity/bomb/TileEntityNukeCustom.java | 24 + .../machine/TileEntityMachineKeyForge.java | 3 + .../machine/TileEntityMachineRadGen.java | 8 + .../machine/TileEntityMachineSPP.java | 2 +- .../machine/TileEntityRadioRec.java | 33 ++ com/hbm/world/Barrel.java | 413 ++++++++++++++++++ com/hbm/world/DesertAtom002.java | 15 +- com/hbm/world/Radio01.java | 10 +- com/hbm/world/Sellafield.java | 22 +- 45 files changed, 1058 insertions(+), 59 deletions(-) create mode 100644 assets/hbm/sounds/clap.ogg create mode 100644 assets/hbm/sounds/mug.ogg create mode 100644 assets/hbm/sounds/sample.ogg create mode 100644 assets/hbm/textures/items/custom_amat.png create mode 100644 assets/hbm/textures/items/custom_dirty.png create mode 100644 assets/hbm/textures/items/custom_element.png create mode 100644 assets/hbm/textures/items/custom_hydro.png create mode 100644 assets/hbm/textures/items/custom_nuke.png create mode 100644 assets/hbm/textures/items/custom_schrab.png create mode 100644 assets/hbm/textures/items/custom_tnt.png create mode 100644 assets/hbm/textures/items/fooditem.png create mode 100644 com/hbm/inventory/container/ContainerRadioRec.java create mode 100644 com/hbm/inventory/gui/GUIRadioRec.java create mode 100644 com/hbm/world/Barrel.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index fa783ef1a..8671719b2 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -208,6 +208,13 @@ item.solinium_core.name=Semistabiler Soliniumkern item.n2_charge.name=Große Sprengladung +item.custom_tnt.name=AB - Sprengladung +item.custom_nuke.name=AB - Nukleares Element +item.custom_hydro.name=AB - Wasserstoffelement +item.custom_amat.name=AB - Antimaterie-Element +item.custom_dirty.name=AB - Schmutziges Element +item.custom_schrab.name=AB - Schrabidiumelement + container.nukeGadget=The Gadget container.nukeBoy=Little Boy container.nukeMan=Fat Man @@ -318,7 +325,7 @@ tile.machine_coal_on.name=Kohlegenerator container.machineCoal=Kohlegenerator tile.launch_pad.name=Raketenabschussrampe container.launchPad=Raketenabschussrampe -tile.book_guide.name=Hbm's Nuclear Tech Mod Handbuch +tile.book_guide.name=Hbm's Nuclear Tech Mod Handbuch [LEGACY] tile.machine_schrabidium_transmutator.name=Schrabidium-Transmutationsgerät container.machine_schrabidium_transmutator=Schrabidium-Transmutationsgerät tile.machine_diesel.name=Dieselgenerator diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 3029527b6..94c25cf86 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -208,6 +208,13 @@ item.solinium_core.name=Semi-Stable Solinium Core item.n2_charge.name=Large Explosive Charge +item.custom_tnt.name=Custom Nuke Explosive Charge +item.custom_nuke.name=Custom Nuke Nuclear Rod +item.custom_hydro.name=Custom Nuke Hydrogen Rod +item.custom_amat.name=Custom Nuke Antimatter Rod +item.custom_dirty.name=Custom Nuke Dirty Rod +item.custom_schrab.name=Custom Nuke Schrabidium Rod + container.nukeGadget=The Gadget container.nukeBoy=Little Boy container.nukeMan=Fat Man @@ -318,7 +325,7 @@ tile.machine_coal_on.name=Coal Generator container.machineCoal=Coal Generator tile.launch_pad.name=Missile Launch Pad container.launchPad=Missile Launch Pad -tile.book_guide.name=Hbm's Nuclear Tech Mod Manual +tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device container.machine_schrabidium_transmutator=Schrabidium Transmutation Device tile.machine_diesel.name=Diesel Generator diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 4122fa57d..16580839e 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -94,6 +94,10 @@ "potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]}, + "fm.clap": {"category": "block", "sounds": [{"name": "clap", "stream": false}]}, + "fm.mug": {"category": "block", "sounds": [{"name": "mug", "stream": false}]}, + "fm.sample": {"category": "block", "sounds": [{"name": "sample", "stream": false}]}, + "alarm.amsSiren": {"category": "record", "sounds": [{"name": "alarm/amsSiren", "stream": false}]}, "alarm.apcLoop": {"category": "record", "sounds": [{"name": "alarm/apcLoop", "stream": false}]}, "alarm.apcPass": {"category": "record", "sounds": [{"name": "alarm/apcPass", "stream": false}]}, diff --git a/assets/hbm/sounds/clap.ogg b/assets/hbm/sounds/clap.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a42db9654f4866911af3d9607a8bc023bc2606b5 GIT binary patch literal 9290 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 H|49EAs|8gB literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/mug.ogg b/assets/hbm/sounds/mug.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c7279c971c6a1b584fbc768bbcb1cae6b1bccd41 GIT binary patch literal 9970 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 apFMa#&>6JrT-&>s?00Y>fRgf=1^yRWX%;X5 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/sample.ogg b/assets/hbm/sounds/sample.ogg new file mode 100644 index 0000000000000000000000000000000000000000..30cebf4cb3a14159784329d6f503167a689f5d3e GIT binary patch literal 119976 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

6nP#R>%kWhgO|2 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 BX4?P& literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/custom_dirty.png b/assets/hbm/textures/items/custom_dirty.png new file mode 100644 index 0000000000000000000000000000000000000000..960e1c2b743026e49038cb4487a91697c2611be2 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfyUv6+XMSo8co6755icki?!>`jXrTl*kt=FLzy|TbF%a=cpl+a(OYD*ye&&d zO{^w(((&(;Z8$!>7jl{)&@@Nj`5cSqAtJ49Z>v(884rA~HStaUGBdX!$ZI~UW5Xt$ zo7bg}RJz@Mk@jHMy081p70wx3t&wMF$bQ1euw;t<4)X=w=2?6UGuDaiiVvMy_v;8- zby3ghmp#es+m5dJnD@W%K@P_?#{EeTay!=Ds5n$>S$xQ?HPb0^){fdK3%|0oI~CWu TIjV{Qy~N<@>gTe~DWM4fVr^{B literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/custom_element.png b/assets/hbm/textures/items/custom_element.png new file mode 100644 index 0000000000000000000000000000000000000000..13813e1a72f554b7340090cc70e0805e86deb3a1 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf{R8_? zTZ+#qUdSPt++?W6b6DWvzPcv~4Xai~OjCWi`c6ac?MIQ9O?n=$*mv(hl=QEC{vT}4 z7uHKAtmVzU&2*tumO-iLz;wp<5iSfDqK^MF@%{Mnyo`?0n%7kg)hlD(?6sHOv8y@x uzQ_o*TPEN7Ut_o@SikIN?Fk3rse6GgXYh3Ob6Mw<&;$URWoCE) literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/custom_hydro.png b/assets/hbm/textures/items/custom_hydro.png new file mode 100644 index 0000000000000000000000000000000000000000..7e24335f68225eb1b9d68892bee55fb7fb4d593c GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfpLjA7l9yI$7Joi295W6kWoIWF3| zA9_7X#DXu~Hob41<9zFG-A|T%f}J_$3=6i;WuBno$;f==^oM4VhG&t_FGVp6%>OoP z&+QdW#_vqlOsM$WW)u~==Z??5f`tyO&skSV*u^~zkLk#FN%B!@lWEOn-T${#@;cX* bjal=YXXlIEa5;S!=rsmUS3j3^P63!BCc~UM;(sR zX0z@vKKk_MrPlUW(=1dZgm{WBe70fw5%X91$jnE%#Y_w~?^EA>W#G%+5|iCxx5w%g zmswZW#)|#LbMJP=7t|h%;i=hsFyu~$MKDiMK{e~*5dYt=LtR$R>wkVsx}Kx-N+b*K R5}=0|JYD@<);T3K0RSz0YYPAX literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/custom_schrab.png b/assets/hbm/textures/items/custom_schrab.png new file mode 100644 index 0000000000000000000000000000000000000000..cafc541a11623283470539b526270e9bdfe56d5c GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf-^|e)*A=62(D3jd1^K95#0oCjtbF_t9Xz6e&ZM>Piu&E7&2#FD!u#4&eA$T=J-#Y(?(s3Jo;o?7JOe7 zb+9z{{O`YviW*7`Hm8IdBpx%>{We+^{Pk~$?_#AzN<|Y6@b!FGU-a9%V&)+OpX{Cs r+a^43|DW>m(WJM!mH%1)ES#7BcQI=!&#}KiXES)Z`njxgN@xNAj=p6# literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/custom_tnt.png b/assets/hbm/textures/items/custom_tnt.png new file mode 100644 index 0000000000000000000000000000000000000000..967443e5cf34c16cb027e6c8609bcdafac6e5e7c GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfLwqr+0TBmOiz9JES@_h=vMJIv48QitCpP?*srzNe;GVpLm65?UaK|-%?+=GR z@A&*b0EhqEu+8;BqtJBWpo66~Vwr1cl`WE7YB)P$M`mj-GZRvd(&XtRkCGvB zbkveU8Kz{lwp`OV)RIeOb8SpC$N37q&-4D?Z}7W#gy5&AZKe$XfFAyUZ{T_}{}-mU zzRz({uh*l&@Wuzh)?veb&jkR@LA;clVufc%HM9^Yj#X>8ldY9j2xFD8vvMAWsou|Vxkre|UOypb;A2jT#jWjvbtv8vOAW ztKMo}=6)GV_Nh$#Cel){O{)!uEnx$UEG4Nl-fK|pN&sC4aiPnl02SQ8sxyt^MB$I{ zb}Ej`uG-tA+YGRpTeMR&S5jEekX)s7=Z6FV4z=idiR)I_DFLhL^NEo}4nGFe7)dN_ zr^3km{O8e_$Qib1yK#>~-6`6-8Uo5r# zsHe}1$38IotQ3vt+e4Ans#6JC(-7p`B1*zkTbp}2Ja~i8=saYp$)2pVeAa1F*qPfN=P_V^6%IjwXW<3_q>-#ut0S$XZWDUF!@wnb-Z zutmC2n8ayxm$5xOciT=2N$7INigqR_{E@c*wsBmw1T0F@n!9jiJ3O^j*$_iU=N=qA zD@1b3)5ni7q=%Op(vHsOx8KKSY#P_Etb9^m%?cc#%*O(p_sP9ieAS6n);`0`ga}Nn z_ZwH&0IGgIRoqj`92kzT%B8{p`#hhbrpZvaaQ`&M)*l`n84+(IJ+Bsk<|8 zNfYfK6^uTfg}+}c+BCYzT%p=G-?7PGc{wu0=7LY$ENC+f$=2K5W&VtXu&V~CW(+c# zp-kZ*?$6k6;~SIg53tpetyCB1NrT7azS;sTE|X1SRH+~xJ<@+DP6Lr6bdlNVo;!9g z(WWX`c+d(G+jaNM=D8YCC_MESBgtzWss9bbO3Bu+2Vb_gJ~}}eR*-IKhmcuF)%LCT z^2U^TpFR@Yn{!c^MxzMv_ng>EX)ewl#BdGmcV3P(Q7!Z=t@oW91tTye487~XE`-^{ z8zb`nnjp7PlURrm-CDsw+evht;nSN-9+PRPIpi(t`})knUQ^6!?el@YU+ZAuC)_?4 zF5_s#BSmhtrYpjcT#noiG*i{jD^flDzD?fcqQ-<~ag2kF5@?$8BGI@YZo^sx8S&z% z_$rc6L(5WGxc6Ih#M9>$;8N>ln|^!xW2pyY_{CMry6FCNDKiQ_xc0Q+Mmw)PSUz!1 z()fITceX=>3wHcG@4P=@b$SaoBcCFaAI7h^SSytFre3~3!w#iKJ#25QU$8%H{qzC+ MK7#Lk@5poi0g;5)TmS$7 literal 0 HcmV?d00001 diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 940ece43d..c800559e9 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -481,7 +481,7 @@ public class ModBlocks { public static final int guiID_radiobox = 66; public static Block radiorec; - public static final int guiID_radiorec = 67; + public static final int guiID_radiorec = 69; public static Block turret_light; public static Block turret_heavy; @@ -812,7 +812,7 @@ public class ModBlocks { machine_satlinker = new MachineSatLinker(Material.iron).setBlockName("machine_satlinker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_satlinker_side"); machine_telelinker = new MachineTeleLinker(Material.iron).setBlockName("machine_telelinker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":machine_telelinker_side"); - machine_keyforge = new MachineKeyForge(Material.iron).setBlockName("machine_keyforge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":machine_keyforge_side"); + machine_keyforge = new MachineKeyForge(Material.iron).setBlockName("machine_keyforge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":machine_keyforge_side"); factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull"); factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace"); diff --git a/com/hbm/blocks/fluid/ToxicBlock.java b/com/hbm/blocks/fluid/ToxicBlock.java index f7eae3d1d..a9c93411e 100644 --- a/com/hbm/blocks/fluid/ToxicBlock.java +++ b/com/hbm/blocks/fluid/ToxicBlock.java @@ -82,31 +82,34 @@ public class ToxicBlock extends BlockFluidClassic { // { // entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); // } - if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { - /* - * Library.damageSuit(((EntityPlayer)entity), 0); - * Library.damageSuit(((EntityPlayer)entity), 1); - * Library.damageSuit(((EntityPlayer)entity), 2); - * Library.damageSuit(((EntityPlayer)entity), 3); - */ - - } else if (entity instanceof EntityCreeper) { - EntityNuclearCreeper creep = new EntityNuclearCreeper(world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - if (!entity.isDead) - if (!world.isRemote) - world.spawnEntityInWorld(creep); - entity.setDead(); - } else if (entity instanceof EntityVillager) { - EntityZombie creep = new EntityZombie(world); - creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); - entity.setDead(); - if (!world.isRemote) - world.spawnEntityInWorld(creep); - } else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) - && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { - entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); - } + +// if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { +// /* +// * Library.damageSuit(((EntityPlayer)entity), 0); +// * Library.damageSuit(((EntityPlayer)entity), 1); +// * Library.damageSuit(((EntityPlayer)entity), 2); +// * Library.damageSuit(((EntityPlayer)entity), 3); +// */ +// +// } else if (entity instanceof EntityCreeper) { +// EntityNuclearCreeper creep = new EntityNuclearCreeper(world); +// creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); +// if (!entity.isDead) +// if (!world.isRemote) +// world.spawnEntityInWorld(creep); +// entity.setDead(); +// } else if (entity instanceof EntityVillager) { +// EntityZombie creep = new EntityZombie(world); +// creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); +// entity.setDead(); +// if (!world.isRemote) +// world.spawnEntityInWorld(creep); +// } else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) +// && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { +// entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); +// } + + Library.applyRadiation(entity, 2 * 60 * 20, 50, 60 * 20, 35); } @Override diff --git a/com/hbm/blocks/generic/Guide.java b/com/hbm/blocks/generic/Guide.java index 810fd007c..49ac1e604 100644 --- a/com/hbm/blocks/generic/Guide.java +++ b/com/hbm/blocks/generic/Guide.java @@ -147,7 +147,7 @@ public class Guide extends Block { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(!player.isSneaking()) + /*if(!player.isSneaking()) { ItemStack book1 = new ItemStack(Items.written_book); @@ -218,7 +218,9 @@ public class Guide extends Block { return true; } else { return false; - } + }*/ + + return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); } } diff --git a/com/hbm/blocks/machine/RadioRec.java b/com/hbm/blocks/machine/RadioRec.java index b3451035d..4f68e8aae 100644 --- a/com/hbm/blocks/machine/RadioRec.java +++ b/com/hbm/blocks/machine/RadioRec.java @@ -1,10 +1,14 @@ package com.hbm.blocks.machine; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityRadioRec; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -109,5 +113,19 @@ public class RadioRec extends BlockContainer { return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @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()) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_radiorec, world, x, y, z); + return true; + } else { + return true; + } + } } diff --git a/com/hbm/blocks/machine/Radiobox.java b/com/hbm/blocks/machine/Radiobox.java index 43f30f22d..bc3082ccc 100644 --- a/com/hbm/blocks/machine/Radiobox.java +++ b/com/hbm/blocks/machine/Radiobox.java @@ -64,11 +64,6 @@ public class Radiobox extends BlockContainer { { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - - if(itemStack.hasDisplayName()) - { - ((TileEntityDiFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); - } } @Override diff --git a/com/hbm/blocks/test/TestEventTester.java b/com/hbm/blocks/test/TestEventTester.java index 7866ced1c..e539f5111 100644 --- a/com/hbm/blocks/test/TestEventTester.java +++ b/com/hbm/blocks/test/TestEventTester.java @@ -19,6 +19,7 @@ import com.hbm.main.ModEventHandler; import com.hbm.potion.HbmPotion; import com.hbm.saveddata.SatelliteSaveStructure; import com.hbm.saveddata.SatelliteSavedData; +import com.hbm.world.Barrel; import com.hbm.world.Meteorite; import com.hbm.world.Sellafield; @@ -264,8 +265,21 @@ public class TestEventTester extends Block { /*((EntityLivingBase)par5EntityPlayer).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 100, 0));*/ + /*worldObj.setBlockToAir(par2, par3, par4); + (new Sellafield()).generate(worldObj, par2, par4, 50D, 15D);*/ + + /*switch(itemRand.nextInt(3)) { + case 0: + worldObj.playSoundEffect(par2, par3, par4, "hbm:fm.clap", 1.0F, 1.0F); break; + case 1: + worldObj.playSoundEffect(par2, par3, par4, "hbm:fm.mug", 1.0F, 1.0F); break; + case 2: + worldObj.playSoundEffect(par2, par3, par4, "hbm:fm.sample", 1.0F, 1.0F); break; + }*/ + worldObj.setBlockToAir(par2, par3, par4); - (new Sellafield()).generate(worldObj, par2, par4, 15D, 7.5D); + + new Barrel().generate(worldObj, worldObj.rand, par2, par3, par4); return true; } diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index 1bca8a882..41ff939a4 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -1289,6 +1289,30 @@ public class ExplosionChaos { else if (world.getBlock(x, y, z) == ModBlocks.block_waste && random.nextInt(10) == 0) { world.setBlock(x, y, z, ModBlocks.block_lead); } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_core && random.nextInt(10) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_4); + } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_4 && random.nextInt(5) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_3); + } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_3 && random.nextInt(5) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_2); + } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_2 && random.nextInt(5) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_1); + } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_1 && random.nextInt(5) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_0); + } + + else if (world.getBlock(x, y, z) == ModBlocks.sellafield_0 && random.nextInt(5) == 0) { + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); + } } } diff --git a/com/hbm/handler/GUIHandler.java b/com/hbm/handler/GUIHandler.java index eaac9d79d..3e46aa2c7 100644 --- a/com/hbm/handler/GUIHandler.java +++ b/com/hbm/handler/GUIHandler.java @@ -67,6 +67,7 @@ import com.hbm.tileentity.machine.TileEntityMachineTeleporter; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; import com.hbm.tileentity.machine.TileEntityMachineUF6Tank; import com.hbm.tileentity.machine.TileEntityNukeFurnace; +import com.hbm.tileentity.machine.TileEntityRadioRec; import com.hbm.tileentity.machine.TileEntityRadiobox; import com.hbm.tileentity.machine.TileEntityReactorMultiblock; import com.hbm.tileentity.machine.TileEntityReiXMainframe; @@ -688,6 +689,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_radiorec: + { + if(entity instanceof TileEntityRadioRec) + { + return new ContainerRadioRec(player.inventory, (TileEntityRadioRec) entity); + } + return null; + } } return null; } @@ -1301,6 +1311,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_radiorec: + { + if(entity instanceof TileEntityRadioRec) + { + return new GUIRadioRec(player.inventory, (TileEntityRadioRec) entity); + } + return null; + } } } else { //CLIENTONLY GUIS diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index e1c389fba..c380021a2 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -563,6 +563,34 @@ public class MachineRecipes { return new ItemStack(ModItems.rod_quad_euphemium, 1); } + if (item == Item.getItemFromBlock(Blocks.stone)) { + return new ItemStack(ModBlocks.sellafield_slaked, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_slaked)) { + return new ItemStack(ModBlocks.sellafield_0, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_0)) { + return new ItemStack(ModBlocks.sellafield_1, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_1)) { + return new ItemStack(ModBlocks.sellafield_2, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_2)) { + return new ItemStack(ModBlocks.sellafield_3, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_3)) { + return new ItemStack(ModBlocks.sellafield_4, 1); + } + + if (item == Item.getItemFromBlock(ModBlocks.sellafield_4)) { + return new ItemStack(ModBlocks.sellafield_core, 1); + } + return null; } @@ -922,6 +950,13 @@ public class MachineRecipes { recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium)); recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium)); recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium)); + recipes.put(new ItemStack(Blocks.stone), getReactorOutput(Item.getItemFromBlock(Blocks.stone))); + recipes.put(new ItemStack(ModBlocks.sellafield_slaked), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_slaked))); + recipes.put(new ItemStack(ModBlocks.sellafield_0), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_0))); + recipes.put(new ItemStack(ModBlocks.sellafield_1), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_1))); + recipes.put(new ItemStack(ModBlocks.sellafield_2), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_2))); + recipes.put(new ItemStack(ModBlocks.sellafield_3), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_3))); + recipes.put(new ItemStack(ModBlocks.sellafield_4), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_4))); return recipes; } diff --git a/com/hbm/inventory/container/ContainerRadioRec.java b/com/hbm/inventory/container/ContainerRadioRec.java new file mode 100644 index 000000000..23c56df06 --- /dev/null +++ b/com/hbm/inventory/container/ContainerRadioRec.java @@ -0,0 +1,17 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.TileEntityRadioRec; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; + +public class ContainerRadioRec extends Container { + + public ContainerRadioRec(InventoryPlayer invPlayer, TileEntityRadioRec tedf) { } + + @Override + public boolean canInteractWith(EntityPlayer p_75145_1_) { + return true; + } +} diff --git a/com/hbm/inventory/container/ContainerRadiobox.java b/com/hbm/inventory/container/ContainerRadiobox.java index 5a12e0bba..a184571c6 100644 --- a/com/hbm/inventory/container/ContainerRadiobox.java +++ b/com/hbm/inventory/container/ContainerRadiobox.java @@ -10,8 +10,6 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerRadiobox extends Container { - -private TileEntityRadiobox radio; public ContainerRadiobox(InventoryPlayer invPlayer, TileEntityRadiobox tedf) { } diff --git a/com/hbm/inventory/gui/GUIRadioRec.java b/com/hbm/inventory/gui/GUIRadioRec.java new file mode 100644 index 000000000..4e4eaf6c9 --- /dev/null +++ b/com/hbm/inventory/gui/GUIRadioRec.java @@ -0,0 +1,226 @@ +package com.hbm.inventory.gui; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang3.math.NumberUtils; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerRadioRec; +import com.hbm.inventory.gui.GUIRadioRec.RadioButton; +import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.TileEntityRadioRec; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIRadioRec extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_radiorec.png"); + private TileEntityRadioRec diFurnace; + + private GuiTextField freqField; + + List buttons = new ArrayList(); + + + public GUIRadioRec(InventoryPlayer invPlayer, TileEntityRadioRec tedf) { + super(new ContainerRadioRec(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 54; + } + + public void initGui() { + + super.initGui(); + + buttons.clear(); + buttons.add(new RadioButton(guiLeft + 25, guiTop + 16, 0, "Save")); + buttons.add(new RadioButton(guiLeft + 61, guiTop + 16, 1, "On/Off")); + + Keyboard.enableRepeatEvents(true); + this.freqField = new GuiTextField(this.fontRendererObj, guiLeft + 100, guiTop + 21, 48, 12); + this.freqField.setTextColor(-1); + this.freqField.setDisabledTextColour(-1); + this.freqField.setEnableBackgroundDrawing(false); + this.freqField.setMaxStringLength(5); + this.freqField.setText(String.valueOf(diFurnace.freq)); + + if(diFurnace.freq == 0) { + double d = 100 + diFurnace.getWorldObj().rand.nextInt(900); + d += (diFurnace.getWorldObj().rand.nextInt(10) * 0.1D); + this.freqField.setText(String.valueOf(d)); + } + + save(); + } + + @Override + public void drawScreen(int i, int j, float f) { + super.drawScreen(i, j, f); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + this.freqField.drawTextBox(); + + for(RadioButton b : buttons) + if(b.isMouseOnButton(i, j)) + b.drawString(i, j); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = I18n.format("container.radiobox"); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(freqField.isFocused()) + drawTexturedModalRect(guiLeft + 97, guiTop + 16, 0, 184 + 18, 54, 18); + else + drawTexturedModalRect(guiLeft + 97, guiTop + 16, 0, 184, 54, 18); + + for(RadioButton b : buttons) + b.drawButton(); + } + + public void updateScreen() { } + + protected void keyTyped(char p_73869_1_, int p_73869_2_) + { + if (this.freqField.textboxKeyTyped(p_73869_1_, p_73869_2_)) { } + else { + super.keyTyped(p_73869_1_, p_73869_2_); + } + } + + protected void rectify() { + String s = freqField.getText(); + + if(NumberUtils.isNumber(s)) { + double d = Double.parseDouble(s); + d = Math.max(100, Math.min(999.9, d)); + d = truncateDecimal(d, 1).doubleValue(); + s = String.valueOf(d); + } else { + s = "100.0"; + } + + freqField.setText(s); + } + + private BigDecimal truncateDecimal(double x, int numberofDecimals) + { + if (x > 0) { + return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_FLOOR); + } else { + return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_CEILING); + } + } + + protected void mouseClicked(int i, int j, int k) + { + super.mouseClicked(i, j, k); + this.freqField.mouseClicked(i, j, k); + + for(RadioButton b : buttons) + if(b.isMouseOnButton(i, j)) + b.executeAction(); + } + + protected void toggle() { + + rectify(); + + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord, diFurnace.isOn ? 0 : 1, 0)); + } + + protected void save() { + + rectify(); + + String s = freqField.getText(); + double d = Double.parseDouble(s); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord, (int)(d * 10D), 1)); + } + + + class RadioButton { + + int xPos; + int yPos; + int buttonType; + String info; + + //0: save + //1: type + //2: music 1 + //3: music 2 + //4: music 3 + //5: music 4 + + public RadioButton(int x, int y, int t, String i) { + xPos = x; + yPos = y; + buttonType = t; + info = i; + } + + public boolean isMouseOnButton(int mouseX, int mouseY) { + return xPos <= mouseX && xPos + 18 > mouseX && yPos < mouseY && yPos + 18 >= mouseY; + } + + public void drawButton() { + + switch(buttonType) { + case 0: + drawTexturedModalRect(xPos, yPos, 176 + 18 * 0, 18 * 0, 18, 18); break; + case 1: + drawTexturedModalRect(xPos, yPos, 176 + 18 * 1, 18 * 0, 18, 18); break; + } + } + + public void drawString(int x, int y) { + if(info == null || info.isEmpty()) + return; + + String s = info; + + if(buttonType == 1) { + if(diFurnace.isOn) + s = "Turn Off"; + else + s = "Turn On"; + } + + func_146283_a(Arrays.asList(new String[] { s }), x, y); + } + + public void executeAction() { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + + switch(buttonType) { + case 0: save(); break; + case 1: toggle(); break; + } + } + } +} diff --git a/com/hbm/inventory/gui/GUIRadiobox.java b/com/hbm/inventory/gui/GUIRadiobox.java index ab2bddae7..3475c9306 100644 --- a/com/hbm/inventory/gui/GUIRadiobox.java +++ b/com/hbm/inventory/gui/GUIRadiobox.java @@ -66,6 +66,7 @@ public class GUIRadiobox extends GuiInfoContainer { super.initGui(); + buttons.clear(); buttons.add(new RadioButton(guiLeft + 25, guiTop + 16, 0, "Save")); buttons.add(new RadioButton(guiLeft + 61, guiTop + 16, 1, "Cycle")); buttons.add(new RadioButton(guiLeft + 25, guiTop + 52, 2, "1")); @@ -202,6 +203,13 @@ public class GUIRadiobox extends GuiInfoContainer { type -=3; } + protected void save() { + + rectify(); + + //TODO: send packet here + } + class RadioButton { diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index f70848fc4..e60eb0971 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -843,6 +843,7 @@ public class ModItems { public static Item definitelyfood; public static Item loops; public static Item loop_stew; + public static Item fooditem; public static Item med_ipecac; public static Item med_ptsd; @@ -886,6 +887,13 @@ public class ModItems { public static Item solinium_core; public static Item n2_charge; + + public static Item custom_tnt; + public static Item custom_nuke; + public static Item custom_hydro; + public static Item custom_amat; + public static Item custom_dirty; + public static Item custom_schrab; public static Item battery_generic; @@ -2093,6 +2101,7 @@ public class ModItems { med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); loops = new ItemLemon(4, 5, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); loop_stew = new ItemLemon(10, 10, false).setUnlocalizedName("loop_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); + fooditem = new ItemLemon(2, 5, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); @@ -2133,6 +2142,13 @@ public class ModItems { n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":n2_charge"); + custom_tnt = new ItemCustomLore().setUnlocalizedName("custom_tnt").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_tnt"); + custom_nuke = new ItemCustomLore().setUnlocalizedName("custom_nuke").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_nuke"); + custom_hydro = new ItemCustomLore().setUnlocalizedName("custom_hydro").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_hydro"); + custom_amat = new ItemCustomLore().setUnlocalizedName("custom_amat").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_amat"); + custom_dirty = new ItemCustomLore().setUnlocalizedName("custom_dirty").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_dirty"); + custom_schrab = new ItemCustomLore().setUnlocalizedName("custom_schrab").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_schrab"); + battery_generic = new ItemBattery(50, 1, 1).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_generic"); battery_advanced = new ItemBattery(200, 5, 5).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_advanced"); battery_lithium = new ItemBattery(2500, 10, 10).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_lithium"); @@ -2582,7 +2598,7 @@ public class ModItems { void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim"); mysteryshovel = new ItemMS().setUnlocalizedName("mysteryshovel").setFull3D().setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cursed_shovel"); - memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000, 100000).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim"); + memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000000000000L, 100000000000000L).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim"); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); @@ -3646,6 +3662,7 @@ public class ModItems { GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName()); GameRegistry.registerItem(loops, loops.getUnlocalizedName()); GameRegistry.registerItem(loop_stew, loop_stew.getUnlocalizedName()); + GameRegistry.registerItem(fooditem, fooditem.getUnlocalizedName()); GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); //GameRegistry.registerItem(med_schizophrenia, med_schizophrenia.getUnlocalizedName()); @@ -3744,6 +3761,14 @@ public class ModItems { GameRegistry.registerItem(alloy_legs, alloy_legs.getUnlocalizedName()); GameRegistry.registerItem(alloy_boots, alloy_boots.getUnlocalizedName()); + //Custom Rods + GameRegistry.registerItem(custom_tnt, custom_tnt.getUnlocalizedName()); + GameRegistry.registerItem(custom_nuke, custom_nuke.getUnlocalizedName()); + GameRegistry.registerItem(custom_hydro, custom_hydro.getUnlocalizedName()); + GameRegistry.registerItem(custom_amat, custom_amat.getUnlocalizedName()); + GameRegistry.registerItem(custom_dirty, custom_dirty.getUnlocalizedName()); + GameRegistry.registerItem(custom_schrab, custom_schrab.getUnlocalizedName()); + //Power Armor GameRegistry.registerItem(t45_helmet, t45_helmet.getUnlocalizedName()); GameRegistry.registerItem(t45_plate, t45_plate.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemBattery.java b/com/hbm/items/special/ItemBattery.java index aec9ec0f2..72a6b0cb9 100644 --- a/com/hbm/items/special/ItemBattery.java +++ b/com/hbm/items/special/ItemBattery.java @@ -47,6 +47,8 @@ public class ItemBattery extends Item { list.add("Charge: " + charge1 + "%"); list.add("(" + Library.getShortNumber(charge * 100) + "/" + Library.getShortNumber(maxCharge * 100) + "HE)"); } + list.add("Charge rate: " + Library.getShortNumber(chargeRate * 100) + "HE/t"); + list.add("Discharge rate: " + Library.getShortNumber(dischargeRate * 100) + "HE/t"); } @Override diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index 8b7111991..097e0ff59 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -604,6 +604,38 @@ public class ItemCustomLore extends ItemRadioactive { { list.add("All hail the spout!"); } + + if(this == ModItems.custom_tnt) + { + list.add("Explosive +10"); + } + + if(this == ModItems.custom_nuke) + { + list.add("Nuclear +30"); + list.add("Adds fallout"); + } + + if(this == ModItems.custom_hydro) + { + list.add("Hydrogen +30"); + } + + if(this == ModItems.custom_amat) + { + list.add("Antimatter +15"); + } + + if(this == ModItems.custom_dirty) + { + list.add("Fallout +10"); + } + + if(this == ModItems.custom_schrab) + { + list.add("Schrabidium +15"); + list.add("Removes fallout"); + } } @Override diff --git a/com/hbm/lib/HbmWorldGen.java b/com/hbm/lib/HbmWorldGen.java index d219e178c..58a9967a0 100644 --- a/com/hbm/lib/HbmWorldGen.java +++ b/com/hbm/lib/HbmWorldGen.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.world.Antenna; +import com.hbm.world.Barrel; import com.hbm.world.Bunker; import com.hbm.world.CrashedVertibird; import com.hbm.world.DesertAtom001; @@ -344,6 +345,14 @@ public class HbmWorldGen implements IWorldGenerator { new Spaceship().generate(world, rand, x, y, z); } + + if (biome == BiomeGenBase.desert && rand.nextInt(MainRegistry.barrelStructure) == 0) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = world.getHeightValue(x, z); + + new Barrel().generate(world, rand, x, y, z); + } if (rand.nextInt(MainRegistry.broadcaster) == 0) { int x = i + rand.nextInt(16); @@ -377,9 +386,12 @@ public class HbmWorldGen implements IWorldGenerator { double r = rand.nextInt(15) + 10; if(rand.nextInt(50) == 0) - r = 35; + r = 50; new Sellafield().generate(world, x, z, r, r * 0.35D); + + if(MainRegistry.enableDebugMode) + MainRegistry.logger.info("[Debug] Successfully spawned raditation hotspot at " + x + " " + z); } } } diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 2030db2fc..782b757f1 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -605,7 +605,15 @@ public class Library { if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { long dR = ((ItemBattery)slots[index].getItem()).getChargeRate(); - + + while(dR >= 1000000000000L) { + if(power - 100000000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) + { + power -= 100000000000000L; + dR -= 1000000000000L; + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + } else break; + } while(dR >= 1000000000) { if(power - 100000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) { @@ -703,7 +711,15 @@ public class Library { if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { long dR = ((ItemBattery)slots[index].getItem()).getDischargeRate(); - + + while(dR >= 1000000000000L) { + if(power + 100000000000000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) + { + power += 100000000000000L; + dR -= 1000000000000L; + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + } else break; + } while(dR >= 1000000000) { if(power + 100000000000L <= maxPower && ItemBattery.getCharge(slots[index]) > 0) { diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index aa310acb5..09c4eff9f 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -97,7 +97,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.canister_empty, 2), new Object[] { "S ", "AA", "AA", 'S', "plateSteel", 'A', "plateAluminum" })); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_barrel), 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.canister_fuel, 'T', ModItems.tank_steel }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.yellow_barrel), 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.nuclear_waste, 'T', ModItems.tank_steel }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.yellow_barrel, 1), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.nuclear_waste, 'T', ModItems.tank_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { "B", 'B', ModBlocks.yellow_barrel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gas_empty, 2), new Object[] { "S ", "AA", "AA", 'A', "plateSteel", 'S', "plateCopper" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_aluminium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_aluminium }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 9c15b37ca..7f2fbad57 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -496,6 +496,7 @@ public class MainRegistry public static int factoryStructure = 1000; public static int dudStructure = 500; public static int spaceshipStructure = 1000; + public static int barrelStructure = 5000; public static int broadcaster = 5000; public static int minefreq = 64; public static int radfreq = 5000; @@ -1523,13 +1524,16 @@ public class MainRegistry Property propSpaceship = config.get(Configuration.CATEGORY_GENERAL, "4.11_spaceshipSpawn", 1000); propSpaceship.comment = "Spawn spaceship on every nTH chunk"; spaceshipStructure = propSpaceship.getInt(); - Property propBroadcaster = config.get(Configuration.CATEGORY_GENERAL, "4.12_broadcasterSpawn", 5000); + Property propBarrel = config.get(Configuration.CATEGORY_GENERAL, "4.12_barrelSpawn", 5000); + propBarrel.comment = "Spawn waste tank on every nTH chunk"; + barrelStructure = propBarrel.getInt(); + Property propBroadcaster = config.get(Configuration.CATEGORY_GENERAL, "4.13_broadcasterSpawn", 5000); propBroadcaster.comment = "Spawn corrupt broadcaster on every nTH chunk"; broadcaster = propBroadcaster.getInt(); - Property propMines = config.get(Configuration.CATEGORY_GENERAL, "4.13_landmineSpawn", 64); + Property propMines = config.get(Configuration.CATEGORY_GENERAL, "4.14_landmineSpawn", 64); propMines.comment = "Spawn AP landmine on every nTH chunk"; minefreq = propMines.getInt(); - Property propRad = config.get(Configuration.CATEGORY_GENERAL, "4.14_radHotsoptSpawn", 5000); + Property propRad = config.get(Configuration.CATEGORY_GENERAL, "4.15_radHotsoptSpawn", 5000); propRad.comment = "Spawn radiation hotspot on every nTH chunk"; radfreq = propRad.getInt(); diff --git a/com/hbm/packet/AuxButtonPacket.java b/com/hbm/packet/AuxButtonPacket.java index c5afe714a..d0f8ae474 100644 --- a/com/hbm/packet/AuxButtonPacket.java +++ b/com/hbm/packet/AuxButtonPacket.java @@ -11,6 +11,7 @@ import com.hbm.tileentity.machine.TileEntityAMSLimiter; import com.hbm.tileentity.machine.TileEntityMachineDiesel; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; +import com.hbm.tileentity.machine.TileEntityRadioRec; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -79,6 +80,20 @@ public class AuxButtonPacket implements IMessage { reactor.retracting = m.value == 1; } + if (te instanceof TileEntityRadioRec) { + TileEntityRadioRec radio = (TileEntityRadioRec)te; + + if(m.id == 0) { + radio.isOn = (m.value == 1); + System.out.println("Radio is now " + radio.isOn); + } + + if(m.id == 1) { + radio.freq = ((double)m.value) / 10D; + System.out.println("Radio is now " + radio.freq); + } + } + //} catch (Exception x) { } return null; diff --git a/com/hbm/packet/AuxGaugePacket.java b/com/hbm/packet/AuxGaugePacket.java index 899e9a13a..91b20421e 100644 --- a/com/hbm/packet/AuxGaugePacket.java +++ b/com/hbm/packet/AuxGaugePacket.java @@ -11,6 +11,7 @@ import com.hbm.tileentity.machine.TileEntityAMSLimiter; import com.hbm.tileentity.machine.TileEntityMachineDiesel; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; +import com.hbm.tileentity.machine.TileEntityRadioRec; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -140,6 +141,14 @@ public class AuxGaugePacket implements IMessage { if(m.id == 2) bomber.type = m.value; } + if (te instanceof TileEntityRadioRec) { + TileEntityRadioRec radio = (TileEntityRadioRec)te; + + if(m.id == 0) + radio.isOn = (m.value == 1); + if(m.id == 1) + radio.freq = ((double)m.value) / 10D; + } } catch (Exception x) { } return null; diff --git a/com/hbm/tileentity/bomb/TileEntityNukeCustom.java b/com/hbm/tileentity/bomb/TileEntityNukeCustom.java index 19585048f..50bcec6c6 100644 --- a/com/hbm/tileentity/bomb/TileEntityNukeCustom.java +++ b/com/hbm/tileentity/bomb/TileEntityNukeCustom.java @@ -252,6 +252,10 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory if(item == ModItems.clip_immolator) { this.tntStrength += 3.5F; } + + if(item == ModItems.custom_tnt) { + this.tntStrength += 10F; + } // if(item == ModItems.ingot_u235) { this.nukeStrength += 15F; @@ -274,6 +278,10 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory if(item == ModItems.powder_neptunium) { this.nukeStrength += 30F; } + + if(item == ModItems.custom_nuke) { + this.nukeStrength += 30F; + } // if(item == ModItems.cell_deuterium) { this.hydroStrength += 20F; @@ -287,10 +295,18 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory if(item == ModItems.tritium_deuterium_cake) { this.hydroStrength += 200F; } + + if(item == ModItems.custom_hydro) { + this.hydroStrength += 30F; + } // if(item == ModItems.cell_antimatter) { this.amatStrength += 5F; } + + if(item == ModItems.custom_amat) { + this.amatStrength += 15F; + } // if(item == ModItems.ingot_tungsten) { this.dirtyStrength += 10F; @@ -304,6 +320,10 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory if(item == Item.getItemFromBlock(ModBlocks.block_waste)) { this.dirtyStrength += 25F; } + + if(item == ModItems.custom_dirty) { + this.dirtyStrength += 10F; + } // if(item == ModItems.ingot_schrabidium) { this.schrabStrength += 5F; @@ -323,6 +343,10 @@ public class TileEntityNukeCustom extends TileEntity implements ISidedInventory if(item == ModItems.cell_anti_schrabidium) { this.schrabStrength += 15F; } + + if(item == ModItems.custom_schrab) { + this.schrabStrength += 15F; + } // if(item == ModItems.nugget_euphemium) { this.euphStrength += 1F; diff --git a/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java b/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java index 31f664f47..2f3c1e185 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineKeyForge.java @@ -208,6 +208,9 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven if(slots[2] != null && slots[2].getItem() == Items.reeds) { slots[2] = new ItemStack(ModItems.man_kit); } + if(slots[2] != null && slots[2].getItem() == ModItems.battery_generic) { + slots[2] = new ItemStack(ModItems.memory); + } // } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 06ff9e93b..7c078301a 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -341,9 +341,17 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento if(item == ModItems.nuclear_waste) return 100; if(item == Item.getItemFromBlock(ModBlocks.block_waste)) return 1000; + if(item == Item.getItemFromBlock(ModBlocks.yellow_barrel)) return 900; if(item == ModItems.trinitite) return 80; if(item == Item.getItemFromBlock(ModBlocks.block_trinitite)) return 800; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_0)) return 1000; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_1)) return 2000; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_2)) return 3000; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_3)) return 4000; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_4)) return 5000; + if(item == Item.getItemFromBlock(ModBlocks.sellafield_core)) return 10000; + if(item == ModItems.rod_uranium_fuel_depleted) return 400; if(item == ModItems.rod_dual_uranium_fuel_depleted) return 800; if(item == ModItems.rod_quad_uranium_fuel_depleted) return 1600; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSPP.java b/com/hbm/tileentity/machine/TileEntityMachineSPP.java index 42c8fcdf4..d873929e0 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSPP.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSPP.java @@ -54,7 +54,7 @@ public class TileEntityMachineSPP extends TileEntity implements ISource { break; } - for(int i = yCoord + 1; i < h - 1; i++) + for(int i = yCoord + 1; i < h; i++) if(!checkSegment(i)) return 0; diff --git a/com/hbm/tileentity/machine/TileEntityRadioRec.java b/com/hbm/tileentity/machine/TileEntityRadioRec.java index 7607d2020..03a450923 100644 --- a/com/hbm/tileentity/machine/TileEntityRadioRec.java +++ b/com/hbm/tileentity/machine/TileEntityRadioRec.java @@ -1,7 +1,40 @@ package com.hbm.tileentity.machine; +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; public class TileEntityRadioRec extends TileEntity { + public double freq; + public boolean isOn = false; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, isOn ? 1 : 0, 0)); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, (int)(freq * 10D), 1)); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + freq = nbt.getDouble("freq"); + isOn = nbt.getBoolean("isOn"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setDouble("freq", freq); + nbt.setBoolean("isOn", isOn); + } } diff --git a/com/hbm/world/Barrel.java b/com/hbm/world/Barrel.java new file mode 100644 index 000000000..0c56f522c --- /dev/null +++ b/com/hbm/world/Barrel.java @@ -0,0 +1,413 @@ +//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" + +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.bomb.TileEntitySellafield; +import com.hbm.tileentity.machine.TileEntityCrateSteel; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemDoor; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class Barrel extends WorldGenerator { + + protected Block[] GetValidSpawnBlocks() { + + return new Block[] { + Blocks.grass, + Blocks.dirt, + Blocks.sand, + Blocks.stone, + Blocks.sandstone + }; + } + + public boolean LocationIsValidSpawn(World world, int x, int y, int z) { + + Block checkBlock = world.getBlock(x, y - 1, z); + Block blockAbove = world.getBlock(x, y, z); + Block blockBelow = world.getBlock(x, y - 2, z); + + for (Block i : GetValidSpawnBlocks()) { + if (blockAbove != Blocks.air) { + return false; + } + if (checkBlock == i) { + return true; + } else if (checkBlock == Blocks.snow_layer && blockBelow == i) { + return true; + } else if (checkBlock.getMaterial() == Material.plants && blockBelow == i) { + return true; + } + } + return false; + } + + public boolean generate(World world, Random rand, int x, int y, int z) { + int i = rand.nextInt(1); + + if (i == 0) { + generate_r0(world, rand, x, y, z); + } + + return true; + + } + + Block Block1 = ModBlocks.reinforced_brick; + Block Block2 = ModBlocks.sellafield_slaked; + Block Block3 = ModBlocks.brick_concrete; + Block Block4 = ModBlocks.sellafield_3; + Block Block5 = ModBlocks.sellafield_4; + Block Block6 = ModBlocks.sellafield_core; + Block Block7 = ModBlocks.sellafield_2; + Block Block8 = ModBlocks.sellafield_1; + Block Block9 = ModBlocks.sellafield_0; + Block Block10 = ModBlocks.deco_lead; + Block Block11 = ModBlocks.reinforced_glass; + Block Block12 = ModBlocks.toxic_block; + + public boolean generate_r0(World world, Random rand, int x, int y, int z) { + if (!LocationIsValidSpawn(world, x, y, z) || !LocationIsValidSpawn(world, x + 4, y, z) + || !LocationIsValidSpawn(world, x + 4, y, z + 6) || !LocationIsValidSpawn(world, x, y, z + 6)) { + return false; + } + + world.setBlock(x + 1, y + -1, z + 0, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 0, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 0, Block1, 0, 3); + world.setBlock(x + 0, y + -1, z + 1, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 1, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 1, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 1, Block1, 0, 3); + world.setBlock(x + 4, y + -1, z + 1, Block1, 0, 3); + world.setBlock(x + 0, y + -1, z + 2, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 2, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 2, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 2, Block1, 0, 3); + world.setBlock(x + 4, y + -1, z + 2, Block1, 0, 3); + world.setBlock(x + 0, y + -1, z + 3, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 3, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 3, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 3, Block1, 0, 3); + world.setBlock(x + 4, y + -1, z + 3, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 4, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 4, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 4, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 5, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 5, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 5, Block1, 0, 3); + world.setBlock(x + 1, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 2, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 3, y + -1, z + 6, Block1, 0, 3); + world.setBlock(x + 1, y + 0, z + 0, Block2, 0, 3); + world.setBlock(x + 2, y + 0, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 0, z + 0, Block2, 0, 3); + world.setBlock(x + 0, y + 0, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 0, z + 1, Block4, 0, 3); + world.setBlock(x + 2, y + 0, z + 1, Block5, 0, 3); + world.setBlock(x + 3, y + 0, z + 1, Block4, 0, 3); + world.setBlock(x + 4, y + 0, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 0, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 0, z + 2, Block5, 0, 3); + world.setBlock(x + 2, y + 0, z + 2, Block6, 0, 3); + + if(world.getTileEntity(x + 2, y + 0, z + 2) instanceof TileEntitySellafield) { + ((TileEntitySellafield)world.getTileEntity(x + 2, y + 0, z + 2)).radius = 2.5; + } + + world.setBlock(x + 3, y + 0, z + 2, Block5, 0, 3); + world.setBlock(x + 4, y + 0, z + 2, Block2, 0, 3); + world.setBlock(x + 0, y + 0, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 0, z + 3, Block5, 0, 3); + world.setBlock(x + 2, y + 0, z + 3, Block4, 0, 3); + world.setBlock(x + 3, y + 0, z + 3, Block5, 0, 3); + world.setBlock(x + 4, y + 0, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 0, z + 4, Block2, 0, 3); + world.setBlock(x + 2, y + 0, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 0, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 1, z + 0, Block2, 0, 3); + world.setBlock(x + 2, y + 1, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 1, z + 0, Block2, 0, 3); + world.setBlock(x + 0, y + 1, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 1, z + 1, Block7, 0, 3); + world.setBlock(x + 2, y + 1, z + 1, Block4, 0, 3); + world.setBlock(x + 3, y + 1, z + 1, Block4, 0, 3); + world.setBlock(x + 4, y + 1, z + 1, Block2, 0, 3); + world.setBlock(x + 0, y + 1, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 1, z + 2, Block4, 0, 3); + + /*world.setBlock(x + 2, y + 1, z + 2, Blocks.chest, 3, 3); + + if(world.getBlock(x + 2, y + 1, z + 2) == Blocks.chest) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 2, y + 1, z + 2), 16); + }*/ + + world.setBlock(x + 2, y + 1, z + 2, ModBlocks.crate_steel, 0, 3); + + if(world.getBlock(x + 2, y + 1, z + 2) == ModBlocks.crate_steel) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 32); + } + + world.setBlock(x + 3, y + 1, z + 2, Block4, 0, 3); + world.setBlock(x + 4, y + 1, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 1, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 1, z + 3, Block4, 0, 3); + world.setBlock(x + 2, y + 1, z + 3, Block7, 0, 3); + world.setBlock(x + 3, y + 1, z + 3, Block4, 0, 3); + world.setBlock(x + 4, y + 1, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 1, z + 4, Block2, 0, 3); + world.setBlock(x + 2, y + 1, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 1, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 2, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 2, z + 0, Block2, 0, 3); + world.setBlock(x + 3, y + 2, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 2, z + 1, Block2, 0, 3); + world.setBlock(x + 1, y + 2, z + 1, Block8, 0, 3); + world.setBlock(x + 2, y + 2, z + 1, Block7, 0, 3); + world.setBlock(x + 3, y + 2, z + 1, Block7, 0, 3); + world.setBlock(x + 4, y + 2, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 2, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 2, z + 2, Block7, 0, 3); + world.setBlock(x + 2, y + 2, z + 2, Block5, 0, 3); + world.setBlock(x + 3, y + 2, z + 2, Block7, 0, 3); + world.setBlock(x + 4, y + 2, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 2, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 2, z + 3, Block7, 0, 3); + world.setBlock(x + 2, y + 2, z + 3, Block8, 0, 3); + world.setBlock(x + 3, y + 2, z + 3, Block7, 0, 3); + world.setBlock(x + 4, y + 2, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 2, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 2, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 2, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 3, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 3, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 3, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 3, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 3, z + 1, Block8, 0, 3); + world.setBlock(x + 2, y + 3, z + 1, Block8, 0, 3); + world.setBlock(x + 3, y + 3, z + 1, Block8, 0, 3); + world.setBlock(x + 4, y + 3, z + 1, Block2, 0, 3); + world.setBlock(x + 0, y + 3, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 3, z + 2, Block8, 0, 3); + world.setBlock(x + 2, y + 3, z + 2, Block4, 0, 3); + world.setBlock(x + 3, y + 3, z + 2, Block8, 0, 3); + world.setBlock(x + 4, y + 3, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 3, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 3, z + 3, Block8, 0, 3); + world.setBlock(x + 2, y + 3, z + 3, Block9, 0, 3); + world.setBlock(x + 3, y + 3, z + 3, Block8, 0, 3); + world.setBlock(x + 4, y + 3, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 3, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 3, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 3, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 4, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 4, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 4, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 4, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 4, z + 1, Block9, 0, 3); + world.setBlock(x + 2, y + 4, z + 1, Block8, 0, 3); + world.setBlock(x + 3, y + 4, z + 1, Block9, 0, 3); + world.setBlock(x + 4, y + 4, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 4, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 4, z + 2, Block9, 0, 3); + world.setBlock(x + 2, y + 4, z + 2, Block7, 0, 3); + world.setBlock(x + 3, y + 4, z + 2, Block8, 0, 3); + world.setBlock(x + 4, y + 4, z + 2, Block2, 0, 3); + world.setBlock(x + 0, y + 4, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 4, z + 3, Block8, 0, 3); + world.setBlock(x + 2, y + 4, z + 3, Block9, 0, 3); + world.setBlock(x + 3, y + 4, z + 3, Block9, 0, 3); + world.setBlock(x + 4, y + 4, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 4, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 4, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 4, z + 4, Block2, 0, 3); + world.setBlock(x + 1, y + 5, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 5, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 5, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 5, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 5, z + 1, Block9, 0, 3); + world.setBlock(x + 2, y + 5, z + 1, Block9, 0, 3); + world.setBlock(x + 3, y + 5, z + 1, Block9, 0, 3); + world.setBlock(x + 4, y + 5, z + 1, Block2, 0, 3); + world.setBlock(x + 0, y + 5, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 5, z + 2, Block12, 0, 3); + world.setBlock(x + 2, y + 5, z + 2, Block8, 0, 3); + world.setBlock(x + 3, y + 5, z + 2, Block12, 0, 3); + world.setBlock(x + 4, y + 5, z + 2, Blocks.air, 0, 3); + world.setBlock(x + 0, y + 5, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 5, z + 3, Block9, 0, 3); + world.setBlock(x + 2, y + 5, z + 3, Block9, 0, 3); + world.setBlock(x + 3, y + 5, z + 3, Block12, 0, 3); + world.setBlock(x + 4, y + 5, z + 3, Block2, 0, 3); + world.setBlock(x + 1, y + 5, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 5, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 5, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 6, z + 0, Block10, 0, 3); + world.setBlock(x + 2, y + 6, z + 0, Block10, 0, 3); + world.setBlock(x + 3, y + 6, z + 0, Block10, 0, 3); + world.setBlock(x + 0, y + 6, z + 1, Block10, 0, 3); + world.setBlock(x + 1, y + 6, z + 1, Block12, 0, 3); + world.setBlock(x + 2, y + 6, z + 1, Block12, 0, 3); + world.setBlock(x + 3, y + 6, z + 1, Block12, 0, 3); + world.setBlock(x + 4, y + 6, z + 1, Block10, 0, 3); + world.setBlock(x + 0, y + 6, z + 2, Block10, 0, 3); + world.setBlock(x + 1, y + 6, z + 2, Block12, 0, 3); + world.setBlock(x + 2, y + 6, z + 2, Block9, 0, 3); + world.setBlock(x + 3, y + 6, z + 2, Block12, 0, 3); + world.setBlock(x + 4, y + 6, z + 2, Block10, 0, 3); + world.setBlock(x + 0, y + 6, z + 3, Block10, 0, 3); + world.setBlock(x + 1, y + 6, z + 3, Block12, 0, 3); + world.setBlock(x + 2, y + 6, z + 3, Block12, 0, 3); + world.setBlock(x + 3, y + 6, z + 3, Block12, 0, 3); + world.setBlock(x + 4, y + 6, z + 3, Block10, 0, 3); + world.setBlock(x + 1, y + 6, z + 4, Block10, 0, 3); + world.setBlock(x + 2, y + 6, z + 4, Block10, 0, 3); + world.setBlock(x + 3, y + 6, z + 4, Block10, 0, 3); + world.setBlock(x + 1, y + 7, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 7, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 7, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 7, z + 1, Block3, 0, 3); + world.setBlock(x + 1, y + 7, z + 1, Block12, 0, 3); + world.setBlock(x + 2, y + 7, z + 1, Block12, 0, 3); + world.setBlock(x + 3, y + 7, z + 1, Block12, 0, 3); + world.setBlock(x + 4, y + 7, z + 1, Block2, 0, 3); + world.setBlock(x + 0, y + 7, z + 2, Block3, 0, 3); + world.setBlock(x + 1, y + 7, z + 2, Block12, 0, 3); + world.setBlock(x + 2, y + 7, z + 2, Block12, 0, 3); + world.setBlock(x + 3, y + 7, z + 2, Block12, 0, 3); + world.setBlock(x + 4, y + 7, z + 2, Block2, 0, 3); + world.setBlock(x + 0, y + 7, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 7, z + 3, Block12, 0, 3); + world.setBlock(x + 2, y + 7, z + 3, Block12, 0, 3); + world.setBlock(x + 3, y + 7, z + 3, Block12, 0, 3); + world.setBlock(x + 4, y + 7, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 7, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 7, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 7, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 8, z + 0, Block10, 0, 3); + world.setBlock(x + 2, y + 8, z + 0, Block10, 0, 3); + world.setBlock(x + 3, y + 8, z + 0, Block10, 0, 3); + world.setBlock(x + 0, y + 8, z + 1, Block10, 0, 3); + world.setBlock(x + 1, y + 8, z + 1, Block12, 0, 3); + world.setBlock(x + 2, y + 8, z + 1, Block12, 0, 3); + world.setBlock(x + 3, y + 8, z + 1, Block12, 0, 3); + world.setBlock(x + 4, y + 8, z + 1, Block10, 0, 3); + world.setBlock(x + 0, y + 8, z + 2, Block10, 0, 3); + world.setBlock(x + 1, y + 8, z + 2, Block12, 0, 3); + world.setBlock(x + 2, y + 8, z + 2, Block12, 0, 3); + world.setBlock(x + 3, y + 8, z + 2, Block12, 0, 3); + world.setBlock(x + 4, y + 8, z + 2, Block10, 0, 3); + world.setBlock(x + 0, y + 8, z + 3, Block10, 0, 3); + world.setBlock(x + 1, y + 8, z + 3, Block12, 0, 3); + world.setBlock(x + 2, y + 8, z + 3, Block12, 0, 3); + world.setBlock(x + 3, y + 8, z + 3, Block12, 0, 3); + world.setBlock(x + 4, y + 8, z + 3, Block10, 0, 3); + world.setBlock(x + 1, y + 8, z + 4, Block10, 0, 3); + world.setBlock(x + 2, y + 8, z + 4, Block10, 0, 3); + world.setBlock(x + 3, y + 8, z + 4, Block10, 0, 3); + world.setBlock(x + 1, y + 9, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 9, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 9, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 9, z + 1, Block3, 0, 3); + world.setBlock(x + 4, y + 9, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 9, z + 2, Block3, 0, 3); + world.setBlock(x + 4, y + 9, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 9, z + 3, Block3, 0, 3); + world.setBlock(x + 4, y + 9, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 9, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 9, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 9, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 10, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 10, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 10, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 10, z + 1, Block3, 0, 3); + world.setBlock(x + 4, y + 10, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 10, z + 2, Block3, 0, 3); + world.setBlock(x + 4, y + 10, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 10, z + 3, Block3, 0, 3); + world.setBlock(x + 4, y + 10, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 10, z + 4, Block3, 0, 3); + //world.setBlock(x + 2, y + 10, z + 4, Blocks.iron_door, 2, 3); + world.setBlock(x + 3, y + 10, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 11, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 11, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 11, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 11, z + 1, Block11, 0, 3); + world.setBlock(x + 0, y + 11, z + 2, Block11, 0, 3); + world.setBlock(x + 4, y + 11, z + 2, Block11, 0, 3); + world.setBlock(x + 0, y + 11, z + 3, Block11, 0, 3); + world.setBlock(x + 4, y + 11, z + 3, Block11, 0, 3); + world.setBlock(x + 1, y + 11, z + 4, Block3, 0, 3); + //world.setBlock(x + 2, y + 11, z + 4, Blocks.iron_door, 8, 3); + ItemDoor.placeDoorBlock(world, x + 2, y + 10, z + 4, 2, Blocks.iron_door); + world.setBlock(x + 3, y + 11, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 12, z + 0, Block3, 0, 3); + world.setBlock(x + 2, y + 12, z + 0, Block3, 0, 3); + world.setBlock(x + 3, y + 12, z + 0, Block3, 0, 3); + world.setBlock(x + 0, y + 12, z + 1, Block3, 0, 3); + world.setBlock(x + 4, y + 12, z + 1, Block3, 0, 3); + world.setBlock(x + 0, y + 12, z + 2, Block3, 0, 3); + world.setBlock(x + 4, y + 12, z + 2, Block3, 0, 3); + world.setBlock(x + 0, y + 12, z + 3, Block3, 0, 3); + world.setBlock(x + 4, y + 12, z + 3, Block3, 0, 3); + world.setBlock(x + 1, y + 12, z + 4, Block3, 0, 3); + world.setBlock(x + 2, y + 12, z + 4, Block3, 0, 3); + world.setBlock(x + 3, y + 12, z + 4, Block3, 0, 3); + world.setBlock(x + 1, y + 13, z + 0, Block1, 0, 3); + world.setBlock(x + 2, y + 13, z + 0, Block1, 0, 3); + world.setBlock(x + 3, y + 13, z + 0, Block1, 0, 3); + world.setBlock(x + 0, y + 13, z + 1, Block1, 0, 3); + world.setBlock(x + 1, y + 13, z + 1, Block10, 0, 3); + world.setBlock(x + 2, y + 13, z + 1, Block10, 0, 3); + world.setBlock(x + 3, y + 13, z + 1, Block10, 0, 3); + world.setBlock(x + 4, y + 13, z + 1, Block1, 0, 3); + world.setBlock(x + 0, y + 13, z + 2, Block1, 0, 3); + world.setBlock(x + 1, y + 13, z + 2, Block10, 0, 3); + world.setBlock(x + 2, y + 13, z + 2, Block10, 0, 3); + world.setBlock(x + 4, y + 13, z + 2, Block1, 0, 3); + world.setBlock(x + 0, y + 13, z + 3, Block1, 0, 3); + world.setBlock(x + 1, y + 13, z + 3, Block10, 0, 3); + world.setBlock(x + 2, y + 13, z + 3, Block10, 0, 3); + world.setBlock(x + 1, y + 13, z + 4, Block1, 0, 3); + world.setBlock(x + 2, y + 13, z + 4, Block1, 0, 3); + world.setBlock(x + 3, y + 13, z + 4, Block1, 0, 3); + + generate_r02_last(world, rand, x, y, z); + return true; + + } + + public boolean generate_r02_last(World world, Random rand, int x, int y, int z) { + + world.setBlock(x + 2, y + 0, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 1, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 2, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 3, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 4, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 5, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 6, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 7, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 8, z + 5, Blocks.ladder, 3, 3); + world.setBlock(x + 2, y + 9, z + 5, Blocks.ladder, 3, 3); + + if(MainRegistry.enableDebugMode) + System.out.print("[Debug] Successfully spawned waste tank at " + x + " " + y +" " + z + "\n"); + + return true; + + } + +} \ No newline at end of file diff --git a/com/hbm/world/DesertAtom002.java b/com/hbm/world/DesertAtom002.java index e745fe2db..715023eaa 100644 --- a/com/hbm/world/DesertAtom002.java +++ b/com/hbm/world/DesertAtom002.java @@ -6,6 +6,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.lib.HbmChestContents; +import com.hbm.tileentity.machine.TileEntityCrateSteel; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -1739,11 +1740,23 @@ public class DesertAtom002 world.setBlock(x + 10, y + 1, z + 16, Block5, 0, 3); world.setBlock(x + 16, y + 1, z + 16, Block1, 0, 3); world.setBlock(x + 17, y + 1, z + 16, Block1, 0, 3); - world.setBlock(x + 18, y + 1, z + 16, Blocks.chest, 2, 3); + + + //world.setBlock(x + 18, y + 1, z + 16, Blocks.chest, 2, 3); + + /* if(world.getBlock(x + 18, y + 1, z + 16) == Blocks.chest) { WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 18, y + 1, z + 16), 8); } + */ + + world.setBlock(x + 18, y + 1, z + 16, ModBlocks.crate_steel, 0, 3); + if(world.getBlock(x + 18, y + 1, z + 16) == ModBlocks.crate_steel) + { + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)world.getTileEntity(x + 18, y + 1, z + 16), 12); + } + world.setBlock(x + 19, y + 1, z + 16, Block1, 0, 3); world.setBlock(x + 20, y + 1, z + 16, Blocks.vine, 2, 3); world.setBlock(x + 22, y + 1, z + 16, Blocks.stone_brick_stairs, 4, 3); diff --git a/com/hbm/world/Radio01.java b/com/hbm/world/Radio01.java index 66c7e2ba0..20931299e 100644 --- a/com/hbm/world/Radio01.java +++ b/com/hbm/world/Radio01.java @@ -6,6 +6,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.lib.HbmChestContents; +import com.hbm.tileentity.machine.TileEntityCrateSteel; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -2809,9 +2810,14 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 2, y + 8, z + 11, Blocks.air, 0, 3); world.setBlock(x + 3, y + 8, z + 11, Blocks.air, 0, 3); world.setBlock(x + 4, y + 8, z + 11, ModBlocks.deco_steel, 0, 3); - world.setBlock(x + 5, y + 8, z + 11, Blocks.chest, 4, 3); + + /*world.setBlock(x + 5, y + 8, z + 11, Blocks.chest, 4, 3); world.setBlockMetadataWithNotify(x + 5, y + 8, z + 11, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8, z + 11), 16); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8, z + 11), 16);*/ + + world.setBlock(x + 5, y + 8, z + 11, ModBlocks.crate_steel, 0, 3); + WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityCrateSteel)world.getTileEntity(x + 5, y + 8, z + 11), 16); + world.setBlock(x + 6, y + 8, z + 11, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 7, y + 8, z + 11, Blocks.air, 0, 3); world.setBlock(x + 8, y + 8, z + 11, Blocks.air, 0, 3); diff --git a/com/hbm/world/Sellafield.java b/com/hbm/world/Sellafield.java index 34706a350..556737816 100644 --- a/com/hbm/world/Sellafield.java +++ b/com/hbm/world/Sellafield.java @@ -52,7 +52,7 @@ public class Sellafield { } } - place(world, x, z, 1, ModBlocks.sellafield_core); + placeCore(world, x, z, radius * 0.3D); } private void dig(World world, int x, int z, int depth) { @@ -72,13 +72,19 @@ public class Sellafield { for(int i = 0; i < depth; i++) world.setBlock(x, y - i, z, block); + } + + private void placeCore(World world, int x, int z, double rad) { - /*try { - if(block == ModBlocks.sellafield_core) { - TileEntitySellafield te = (TileEntitySellafield) world.getTileEntity(x, y, z); - - te.radius = depth * 0.75D; - } - } catch(Exception ex) { }*/ + int y = world.getHeightValue(x, z) - 1; + + world.setBlock(x, y, z, ModBlocks.sellafield_core); + + try { + + TileEntitySellafield te = (TileEntitySellafield) world.getTileEntity(x, y, z); + te.radius = rad; + + } catch(Exception ex) { } } }