From ba08905bc1d88644c9bf61a0467bc95c197de506 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 5 Dec 2020 00:24:57 +0100 Subject: [PATCH] more hadron work, some UV and texturing, more nether stuff --- .../assets/hbm/textures/armor/ajr_chest.png | Bin 0 -> 838 bytes .../assets/hbm/textures/armor/ajr_leg.png | Bin 0 -> 374 bytes .../hbm/textures/blocks/geysir_nether.png | Bin 0 -> 940 bytes .../hbm/textures/models/weapons/egon.png | Bin 3688 -> 3681 bytes .../hbm/textures/models/weapons/egon_hose.png | Bin 1001 -> 1778 bytes .../assets/hbm/textures/particle/hadron.png | Bin 0 -> 8970 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 17 ++-- .../com/hbm/blocks/generic/BlockGeysir.java | 13 ++- .../com/hbm/blocks/generic/BlockNTMGlass.java | 7 +- .../java/com/hbm/inventory/HadronRecipes.java | 5 -- .../java/com/hbm/inventory/gui/GUIHadron.java | 19 ++++- src/main/java/com/hbm/lib/HbmWorldGen.java | 10 +++ src/main/java/com/hbm/main/ClientProxy.java | 6 +- .../java/com/hbm/particle/ParticleHadron.java | 67 +++++++++++++++ .../com/hbm/particle/ParticleLargeFlame.java | 12 +++ .../hbm/tileentity/deco/TileEntityGeysir.java | 32 ++++++- .../tileentity/machine/TileEntityHadron.java | 79 ++++++++++++------ .../machine/TileEntityMachineAmgen.java | 4 +- 18 files changed, 221 insertions(+), 50 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/armor/ajr_chest.png create mode 100644 src/main/java/assets/hbm/textures/armor/ajr_leg.png create mode 100755 src/main/java/assets/hbm/textures/blocks/geysir_nether.png create mode 100644 src/main/java/assets/hbm/textures/particle/hadron.png create mode 100644 src/main/java/com/hbm/particle/ParticleHadron.java create mode 100644 src/main/java/com/hbm/particle/ParticleLargeFlame.java diff --git a/src/main/java/assets/hbm/textures/armor/ajr_chest.png b/src/main/java/assets/hbm/textures/armor/ajr_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..f2aaa89878920a3c522d437d405b65728d7e02ef GIT binary patch literal 838 zcmV-M1G)T(P)g$OBcU<#izaYE*1PcF0gYdm9*J)VDl-()NO0Tuy#e&)gnx$x^p z7t+#&<_DC1&1GjCmqW?>Xzt?F3#gFy_sz(!Tw6>IHPO3yL;%XlC|h37y*R$6ML=zj z$UlFm3Hg8~M^LuC7Dv#0oBz@r5iG>-Tmt}ZK)3^SezBkLCGBcKL?;(#6q@mdKjIEl zUU$LIcdHe?sq;D`SP1!>eK=x8z*`HuBG=T;Axg9(-a)A^u$@O9Ki^N7&}#HXa36s@ z10e%pdH6X_dzd|qs$fwRCviuxBjiH~Sw*@_dxKxWl{+O7LM&T30*G^jwyyaYB6rVW z+j|((%282{P*^C7`N94{(qbJEDnNN}+VwxB5M5__3Jc|jRnN>Y3!1_U!2*aQS`zFC zE1j&jwg@e&j*~i~%X*{k*@=c-85ZP9Tl{I)KI^b+16l&KHg3(bb|aipyJhcxa9aU{ zU`OmT(XhPku&YlRxFP_sz(Z8IwDi_3i{14~pQ!0{8r6o!<8f{JX0wSYzOj6No}uBK zYH+xj)}=p*s^tY>0ZT+y16C1%0LVQN*`{h;u=ap>(N( zZyJ4(gkX{oOcH`gLNG}PCJDhLA(;PuLM05|5sIhCGF9$+UzRiUwZ`+}I;wnO@J#~% zw5F*1#?bJaMqeZ$m?Q*~gkX{oOcH`gLNG}P=ICb+X0y1x&!+Pc@1dj07aoNpVrG_- zcTkS-_gqcBt-H9Qt02a>=kH$v)yfl2*0< z7=wS#tM85Apgy8Xgr>AhCj97-)`#Oeo=dnC9>u892S@KLuX(pRl(^jOIjRsEuoPd+ zN&1}dKH?00LDfhh^9Pw1v_j$P z#0##TW;`ZRo_jFG6*^d64GDa8!6$6=o1}tvVu!ebc7V`1cz}EF&*B8fasW`=+m?>7 z@i_vd{|~0Vdnq|!yhx1stoeTaGa)%Z$PoJl5n^>gN)8Ypm?8^uS$(VXJR;|r7bdbn U49kR5R{#J207*qoM6N<$g0Fa)g#Z8m literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/geysir_nether.png b/src/main/java/assets/hbm/textures/blocks/geysir_nether.png new file mode 100755 index 0000000000000000000000000000000000000000..ad727d73d28d886151df98b1258e7b8cc21a7932 GIT binary patch literal 940 zcmV;d15^BoP)?R}&hJ+9pL=TD} zUbyVwiG+hElg5jWiw6%TCK_Xm(ZdcZn25Lm2{N5qwr^p9cJFmx*T=f<>%0B-eO~K96pi0K`<4^Ai)KRF(NuibOWctyqjuAb`mKzW;TS zid^INr{9vy<+w9GPE1viWrGb%9Yx*X-sB|Z*;%@5I=?S3lP(sKnvF)hRIBmo=qo(k z{)>Td2ZQSwx?@AkEYFajMxotgxZ8?kq*2^9oSp~?- zhC5ktx^X!T#@;x}UbR49(2eBVA~;~9&FW^n|2%Hx1&S;qzkhp-&3TRajlWUz2Y64r zID1AzlD2rUx5U*8KKw^q9C65?`*^OTDUqdO7>J^Xw0{3t+!5{|T_{r3p(UsUEX#z0 zCJs-Xp_4X3-UcVgkjBpbvSEZ}Xf)=Xbb2)KrwdnQx+1hO(Gz`AE zb%{?t`j}c-K=N9x@n~und(@8^@eu57P-<0hA2~`*kZ2j8W02Jhewx}ts&_G^B=GN5 z@eIF)=(M-PY^x*PTDU}cTXHH~sA;4PF!+~~;l;%R&(Xcn*a{maemcX20@F0;u z`r^iocr+5>^Qrr2y2i`RI#2&K5t{+3>#HO*kwI2UcwXv3Ka*BlKTvuit=)L1y^Su-r#X27ZwmD3E_vEH%)-m zQi+F(!U^g;%#{eXSqW3)y^Ghd`7M0)%Pf~pMfhyXg1~3juk#-Zyo!^tphLF+ O0000^L(M&=DQYL&Gl(tNo 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 pFurIUuzp#VaM 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 Y$zMK57rB>5{(B__E~6q{0W%5xAH!8k3IG5A literal 0 HcmV?d00001 diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index ab827ecd9..a615b922b 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -289,6 +289,7 @@ public class ModBlocks { public static Block geysir_water; public static Block geysir_chlorine; public static Block geysir_vapor; + public static Block geysir_nether; public static Block flame_war; public static Block float_bomb; @@ -1026,7 +1027,7 @@ public class ModBlocks { asphalt = new BlockGeneric(Material.rock).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); - reinforced_glass = new BlockNTMGlass(RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F); + reinforced_glass = new BlockNTMGlass(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F); reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); @@ -1096,9 +1097,9 @@ public class ModBlocks { sand_uranium = new BlockFalling(Material.sand).setBlockName("sand_uranium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_uranium"); sand_polonium = new BlockFalling(Material.sand).setBlockName("sand_polonium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_polonium"); - glass_uranium = new BlockNTMGlass(RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_trinitite = new BlockNTMGlass(RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); - glass_polonium = new BlockNTMGlass(RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_uranium = new BlockNTMGlass(1, RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_trinitite = new BlockNTMGlass(1, RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); + glass_polonium = new BlockNTMGlass(1, RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush"); mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin"); @@ -1126,6 +1127,7 @@ public class ModBlocks { geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); + geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F); nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); @@ -1202,14 +1204,14 @@ public class ModBlocks { hadron_plating_yellow = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_yellow"); hadron_plating_striped = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_striped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_striped"); hadron_plating_voltz = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_voltz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_voltz"); - hadron_plating_glass = new BlockNTMGlass(RefStrings.MODID + ":hadron_plating_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); + hadron_plating_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_plating_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); hadron_coil_alloy = new BlockHadronCoil(Material.iron, 1).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_alloy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_alloy"); hadron_coil_schrabidium = new BlockHadronCoil(Material.iron, 3).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_schrabidium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_schrabidium"); hadron_coil_starmetal = new BlockHadronCoil(Material.iron, 10).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_starmetal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_starmetal"); hadron_power = new BlockHadronPower(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); hadron_diode = new BlockHadronDiode(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); hadron_analysis = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis"); - hadron_analysis_glass = new BlockNTMGlass(RefStrings.MODID + ":hadron_analysis_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); + hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); hadron_access = new BlockHadronAccess(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_access").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_access"); hadron_core = new BlockHadronCore(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_core"); @@ -1325,7 +1327,7 @@ public class ModBlocks { fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side"); fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler"); - fwatz_tank = new BlockNTMGlass(RefStrings.MODID + ":fwatz_tank", Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + fwatz_tank = new BlockNTMGlass(0, RefStrings.MODID + ":fwatz_tank", Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold"); fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); fwatz_computer = new BlockGeneric(Material.iron).setBlockName("fwatz_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); @@ -1837,6 +1839,7 @@ public class ModBlocks { GameRegistry.registerBlock(geysir_water, geysir_water.getUnlocalizedName()); GameRegistry.registerBlock(geysir_chlorine, geysir_chlorine.getUnlocalizedName()); GameRegistry.registerBlock(geysir_vapor, geysir_vapor.getUnlocalizedName()); + GameRegistry.registerBlock(geysir_nether, geysir_nether.getUnlocalizedName()); //Nukes GameRegistry.registerBlock(nuke_gadget, nuke_gadget.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockGeysir.java b/src/main/java/com/hbm/blocks/generic/BlockGeysir.java index ae833153c..4cfdda076 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGeysir.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGeysir.java @@ -25,8 +25,13 @@ public class BlockGeysir extends BlockContainer { @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":geysir_stone"); - this.blockIcon = Blocks.stone.getIcon(0, 0); + if(this == ModBlocks.geysir_nether) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":geysir_nether"); + this.blockIcon = Blocks.netherrack.getIcon(0, 0); + } else { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":geysir_stone"); + this.blockIcon = Blocks.stone.getIcon(0, 0); + } } @Override @@ -58,6 +63,10 @@ public class BlockGeysir extends BlockContainer { p_149734_1_.spawnParticle("cloud", f, f1, f2, 0.0D, 0.1D, 0.0D); } + + if(this == ModBlocks.geysir_nether) { + p_149734_1_.spawnParticle("flame", x + 0.5F, y + 1.0625F, z + 0.5F, 0.0D, 0.0D, 0.0D); + } } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java index 06f9b93d4..4770d7ff4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java @@ -8,9 +8,12 @@ import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; public class BlockNTMGlass extends BlockBreakable { + + int renderLayer; - public BlockNTMGlass(String name, Material material) { + public BlockNTMGlass(int layer, String name, Material material) { super(name, material, false); + this.renderLayer = layer; } public int quantityDropped(Random rand) { @@ -19,7 +22,7 @@ public class BlockNTMGlass extends BlockBreakable { @SideOnly(Side.CLIENT) public int getRenderBlockPass() { - return 1; + return renderLayer; } public boolean renderAsNormalBlock() { diff --git a/src/main/java/com/hbm/inventory/HadronRecipes.java b/src/main/java/com/hbm/inventory/HadronRecipes.java index e45b4a45a..42dbad8aa 100644 --- a/src/main/java/com/hbm/inventory/HadronRecipes.java +++ b/src/main/java/com/hbm/inventory/HadronRecipes.java @@ -63,11 +63,6 @@ public class HadronRecipes { * @return either null (no recipe) or an ItemStack array with 2 non-null instances */ public static ItemStack[] getOutput(ItemStack in1, ItemStack in2, int momentum, boolean analysisOnly) { - - System.out.println(in1); - System.out.println(in2); - System.out.println(momentum); - System.out.println(analysisOnly); for(HadronRecipe r : recipes) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIHadron.java b/src/main/java/com/hbm/inventory/gui/GUIHadron.java index 460ed68b8..918d6d6ba 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHadron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHadron.java @@ -32,9 +32,12 @@ public class GUIHadron extends GuiInfoContainer { public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 71, guiTop + 108, 34, 16, hadron.power, hadron.maxPower); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 108, 70, 16, hadron.power, hadron.maxPower); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper0")); + if(hadron.hopperMode) + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper1")); + else + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 89, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.hopper0")); if(hadron.analysisOnly) this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 142, guiTop + 107, 18, 18, mouseX, mouseY, I18nUtil.resolveKeyArray("hadron.modeLine")); @@ -56,6 +59,12 @@ public class GUIHadron extends GuiInfoContainer { mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(hadron.xCoord, hadron.yCoord, hadron.zCoord, 0, 1)); } + + //Toggle hopper mode + if(guiLeft + 142 <= x && guiLeft + 142 + 18 > x && guiTop + 89 < y && guiTop + 89 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(hadron.xCoord, hadron.yCoord, hadron.zCoord, 0, 2)); + } } @Override @@ -77,5 +86,11 @@ public class GUIHadron extends GuiInfoContainer { if(hadron.analysisOnly) drawTexturedModalRect(guiLeft + 142, guiTop + 107, 206, 18, 18, 18); + + if(hadron.hopperMode) + drawTexturedModalRect(guiLeft + 142, guiTop + 89, 206, 36, 18, 18); + + int i = hadron.getPowerScaled(70); + drawTexturedModalRect(guiLeft + 62, guiTop + 108, 176, 60, i, 16); } } diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index bb2edeb59..9a4663323 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -650,6 +650,16 @@ public class HbmWorldGen implements IWorldGenerator { if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) world.setBlock(x, y, z, ModBlocks.ore_nether_smoldering); } + + for(int k = 0; k < 1; k++){ + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int d = 16 + rand.nextInt(96); + + for(int y = d - 5; y <= d; y++) + if(world.getBlock(x, y + 1, z) == Blocks.air && world.getBlock(x, y, z) == Blocks.netherrack) + world.setBlock(x, y, z, ModBlocks.geysir_nether); + } } private void generateEnd(World world, Random rand, int i, int j) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 1f8773ebe..2b49b0ec6 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -832,7 +832,7 @@ public class ClientProxy extends ServerProxy { if("hadron".equals(type)) { - for(int i = 0; i < 30; i++) { + /*for(int i = 0; i < 30; i++) { EntityFX fx = null; @@ -852,7 +852,9 @@ public class ClientProxy extends ServerProxy { fx.motionZ = rand.nextGaussian() * 0.1; Minecraft.getMinecraft().effectRenderer.addEffect(fx); } - } + }*/ + + Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleHadron(man, world, x, y, z)); } } diff --git a/src/main/java/com/hbm/particle/ParticleHadron.java b/src/main/java/com/hbm/particle/ParticleHadron.java new file mode 100644 index 000000000..e71229b9f --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleHadron.java @@ -0,0 +1,67 @@ +package com.hbm.particle; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class ParticleHadron extends EntityFX { + + private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/hadron.png"); + private TextureManager theRenderEngine; + + public ParticleHadron(TextureManager texman, World world, double x, double y, double z) { + super(world, x, y, z); + this.theRenderEngine = texman; + this.particleMaxAge = 10; + } + + public int getFXLayer() { + return 3; + } + + public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) { + + this.theRenderEngine.bindTexture(texture); + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + GL11.glDepthMask(false); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + RenderHelper.disableStandardItemLighting(); + + tess.startDrawingQuads(); + + tess.setNormal(0.0F, 1.0F, 0.0F); + tess.setBrightness(240); + + this.particleAlpha = 1 - (((float)this.particleAge + interp) / (float)this.particleMaxAge); + float scale = (this.particleAge + interp) * 0.15F; + + tess.setColorRGBA_F(1.0F, 1.0F, 1.0F, this.particleAlpha); + + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double)interp - interpPosX); + float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double)interp - interpPosY); + float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double)interp - interpPosZ); + + tess.addVertexWithUV((double)(pX - x * scale - tx * scale), (double)(pY - y * scale), (double)(pZ - z * scale - tz * scale), 1, 1); + tess.addVertexWithUV((double)(pX - x * scale + tx * scale), (double)(pY + y * scale), (double)(pZ - z * scale + tz * scale), 1, 0); + tess.addVertexWithUV((double)(pX + x * scale + tx * scale), (double)(pY + y * scale), (double)(pZ + z * scale + tz * scale), 0, 0); + tess.addVertexWithUV((double)(pX + x * scale - tx * scale), (double)(pY - y * scale), (double)(pZ + z * scale - tz * scale), 0, 1); + tess.draw(); + + GL11.glPolygonOffset(0.0F, 0.0F); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glEnable(GL11.GL_LIGHTING); + } +} diff --git a/src/main/java/com/hbm/particle/ParticleLargeFlame.java b/src/main/java/com/hbm/particle/ParticleLargeFlame.java new file mode 100644 index 000000000..38e96e04b --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleLargeFlame.java @@ -0,0 +1,12 @@ +package com.hbm.particle; + +import net.minecraft.client.particle.EntityFX; +import net.minecraft.world.World; + +//TODO: everything +public class ParticleLargeFlame extends EntityFX { + + protected ParticleLargeFlame(World world, double x, double y, double z) { + super(world, x, y, z); + } +} diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java b/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java index c0bf00e8e..ded7a9ed7 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityGeysir.java @@ -4,12 +4,15 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.particle.EntityOrangeFX; +import com.hbm.entity.projectile.EntityShrapnel; import com.hbm.entity.projectile.EntityWaterSplash; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -84,6 +87,26 @@ public class TileEntityGeysir extends TileEntity { } } + private void fire() { + + int range = 32; + if(worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(range, range, range)).isEmpty()) + return; + + if(worldObj.rand.nextInt(3) == 0) { + EntityShrapnel fx = new EntityShrapnel(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5); + fx.motionX = worldObj.rand.nextGaussian() * 0.05; + fx.motionZ = worldObj.rand.nextGaussian() * 0.05; + fx.motionY = 0.5 + worldObj.rand.nextDouble() * timer * 0.01; + + worldObj.spawnEntityInWorld(fx); + } + + if(timer % 2 == 0) //TODO: replace with actual particle + worldObj.spawnEntityInWorld(new EntityGasFlameFX(worldObj, this.xCoord + 0.5F, this.yCoord + 1.1F, this.zCoord + 0.5F, worldObj.rand.nextGaussian() * 0.05, 0.2, worldObj.rand.nextGaussian() * 0.05)); + + } + private int getDelay() { Block b = worldObj.getBlock(xCoord, yCoord, zCoord); @@ -102,6 +125,10 @@ public class TileEntityGeysir extends TileEntity { return (meta == 0 ? 20 : 30 + rand.nextInt(20)); + } else if(b == ModBlocks.geysir_nether) { + + return (meta == 0 ? (rand.nextBoolean() ? 300 : 450) : 80 + rand.nextInt(60)); + } return 0; @@ -112,17 +139,16 @@ public class TileEntityGeysir extends TileEntity { Block b = worldObj.getBlock(xCoord, yCoord, zCoord); if(b == ModBlocks.geysir_water) { - water(); } else if(b == ModBlocks.geysir_chlorine) { - chlorine(); } else if(b == ModBlocks.geysir_vapor) { - vapor(); + } else if(b == ModBlocks.geysir_nether) { + fire(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index 4f3324ceb..91e9ff3e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -30,7 +30,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer public static final long maxPower = 1000000000; public boolean isOn = false; - public boolean analysisOnly = true; + public boolean analysisOnly = false; public boolean hopperMode = false; public TileEntityHadron() { @@ -50,11 +50,14 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer drawPower(); if(this.isOn && particles.size() < maxParticles && slots[0] != null && slots[1] != null && power >= maxPower * 0.75) { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); - particles.add(new Particle(slots[0], slots[1], dir, xCoord, yCoord, zCoord)); - this.decrStackSize(0, 1); - this.decrStackSize(1, 1); - power -= maxPower * 0.75; + + if(!hopperMode || (slots[0].stackSize > 1 && slots[1].stackSize > 1)) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + particles.add(new Particle(slots[0], slots[1], dir, xCoord, yCoord, zCoord)); + this.decrStackSize(0, 1); + this.decrStackSize(1, 1); + power -= maxPower * 0.75; + } } if(!particles.isEmpty()) @@ -74,6 +77,27 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer this.networkPack(data, 50); } } + + private void process(Particle p) { + + ItemStack[] result = HadronRecipes.getOutput(p.item1, p.item2, p.momentum, analysisOnly); + + if(result == null) + return; + + if((slots[2] == null || (slots[2].getItem() == result[0].getItem() && slots[2].stackSize < slots[2].getMaxStackSize())) && + (slots[3] == null || (slots[3].getItem() == result[1].getItem() && slots[3].stackSize < slots[3].getMaxStackSize()))) { + + for(int i = 2; i <= 3; i++ ) { + + //System.out.println("yes"); + if(slots[i] == null) + slots[i] = result[i - 2].copy(); + else + slots[i].stackSize++; + } + } + } @Override public void networkUnpack(NBTTagCompound data) { @@ -118,16 +142,10 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer } } - private void finishParticle(Particle p, boolean analysisOnly) { + private void finishParticle(Particle p) { particlesToRemove.add(p); worldObj.playSoundEffect(p.posX, p.posY, p.posZ, "random.orb", 10, 1); - - ItemStack[] out = HadronRecipes.getOutput(p.item1, p.item2, p.momentum, analysisOnly); - - if(out != null) { - slots[2] = out[0]; - slots[3] = out[1]; - } + process(p); } static final int maxParticles = 1; @@ -160,6 +178,10 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer nbt.setBoolean("analysis", analysisOnly); nbt.setBoolean("hopperMode", hopperMode); } + + public int getPowerScaled(int i) { + return (int)(power * i / maxPower); + } @Override public void setPower(long i) { @@ -197,8 +219,10 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer boolean expired = false; public Particle(ItemStack item1, ItemStack item2, ForgeDirection dir, int posX, int posY, int posZ) { - this.item1 = item1; - this.item2 = item2; + this.item1 = item1.copy(); + this.item2 = item2.copy(); + this.item1.stackSize = 1; + this.item2.stackSize = 1; this.dir = dir; this.posX = posX; this.posY = posY; @@ -216,8 +240,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer this.expired = true; particlesToRemove.add(this); worldObj.newExplosion(null, posX + 0.5, posY + 0.5, posZ + 0.5, 10, false, false); - System.out.println("Last dir: " + dir.name()); - System.out.println("Last pos: " + posX + " " + posY + " " + posZ); + //System.out.println("Last dir: " + dir.name()); + //System.out.println("Last pos: " + posX + " " + posY + " " + posZ); Thread.currentThread().dumpStack(); } @@ -267,7 +291,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer if(p.analysis != 3) p.expire(); else - this.finishParticle(p, false); + this.finishParticle(p); return; } @@ -275,6 +299,9 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer if(block.getMaterial() != Material.air && block != ModBlocks.hadron_diode) p.expire(); + if(block == ModBlocks.hadron_diode) + p.isCheckExempt = true; + if(coilValue(worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) > 0) p.isCheckExempt = true; } @@ -388,8 +415,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer continue; } - System.out.println("Was exempt: " + p.isCheckExempt); - worldObj.setBlock(a, b, c, Blocks.dirt); + //System.out.println("Was exempt: " + p.isCheckExempt); + //worldObj.setBlock(a, b, c, Blocks.dirt); p.expire(); } @@ -413,7 +440,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer //if operating in line accelerator mode, halt after 2 blocks and staart the reading if(this.analysisOnly && p.analysis == 2) { - this.finishParticle(p, true); + this.finishParticle(p); } } else { @@ -509,7 +536,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer List dirs = getRandomDirs(); - System.out.println("Starting as " + dir.name()); + //System.out.println("Starting as " + dir.name()); //let's look at every direction we could go in for(ForgeDirection d : dirs) { @@ -517,19 +544,19 @@ public class TileEntityHadron extends TileEntityMachineBase implements IConsumer if(d == dir || d == dir.getOpposite()) continue; - System.out.println("Trying " + d.name()); + //System.out.println("Trying " + d.name()); //there is air! we can pass! if(worldObj.getBlock(x + d.offsetX, y + d.offsetY, z + d.offsetZ).getMaterial() == Material.air) { if(validDir == ForgeDirection.UNKNOWN) { validDir = d; - System.out.println("yes"); + //System.out.println("yes"); //it seems like there are two or more possible ways, which is not allowed without a diode //sorry kid, nothing personal } else { - System.out.println("what"); + //System.out.println("what"); p.expire(); return; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index 8f08b4788..d2eb2770a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -18,7 +18,7 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { public List list = new ArrayList(); public long power; - public long maxPower = 100; + public long maxPower = 500; boolean tact = false; @Override @@ -47,6 +47,8 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { power += 100; } else if(b == ModBlocks.geysir_vapor) { power += 50; + } else if(b == ModBlocks.geysir_nether) { + power += 500; } else if(b == Blocks.lava) { power += 100;