From f73ed4cfdcc46a0e63bfb531c65c267905ac922f Mon Sep 17 00:00:00 2001 From: HbmMods Date: Thu, 18 Oct 2018 23:31:03 +0200 Subject: [PATCH] Updated rubble, added rubble and grenade sounds, new pulse-gren function --- assets/hbm/lang/en_US.lang | 2 +- assets/hbm/sounds.json | 2 + assets/hbm/sounds/block/debris1.ogg | Bin 0 -> 14738 bytes assets/hbm/sounds/block/debris2.ogg | Bin 0 -> 13494 bytes assets/hbm/sounds/block/debris3.ogg | Bin 0 -> 9211 bytes assets/hbm/sounds/weapon/gBounce1.ogg | Bin 0 -> 6747 bytes assets/hbm/sounds/weapon/gBounce2.ogg | Bin 0 -> 8248 bytes assets/hbm/sounds/weapon/gBounce3.ogg | Bin 0 -> 6079 bytes assets/hbm/textures/items/bottle_rad.png | Bin 0 -> 293 bytes com/hbm/entity/effect/EntityBlackHole.java | 2 +- .../grenade/EntityGrenadeBouncyBase.java | 5 ++ com/hbm/entity/projectile/EntityRubble.java | 35 +++++----- com/hbm/explosion/ExplosionChaos.java | 8 ++- com/hbm/explosion/ExplosionLarge.java | 4 +- com/hbm/items/ModItems.java | 2 +- com/hbm/items/gear/WeaponSpecial.java | 2 +- com/hbm/items/tool/ItemMultitoolPassive.java | 2 +- com/hbm/items/weapon/ItemGrenade.java | 54 +++++++++++++++ com/hbm/main/MainRegistry.java | 2 +- com/hbm/packet/PacketDispatcher.java | 2 + com/hbm/packet/ParticleBurstPacket.java | 64 ++++++++++++++++++ com/hbm/render/entity/RenderRubble.java | 55 ++++++++++----- com/hbm/render/model/ModelRubble.java | 4 +- .../tileentity/bomb/TileEntityLandmine.java | 4 +- 24 files changed, 200 insertions(+), 49 deletions(-) create mode 100644 assets/hbm/sounds/block/debris1.ogg create mode 100644 assets/hbm/sounds/block/debris2.ogg create mode 100644 assets/hbm/sounds/block/debris3.ogg create mode 100644 assets/hbm/sounds/weapon/gBounce1.ogg create mode 100644 assets/hbm/sounds/weapon/gBounce2.ogg create mode 100644 assets/hbm/sounds/weapon/gBounce3.ogg create mode 100644 assets/hbm/textures/items/bottle_rad.png create mode 100644 com/hbm/packet/ParticleBurstPacket.java diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index b72252dd2..1f0be5ea0 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1088,7 +1088,7 @@ item.grenade_if_impact.name=IF - Impact Grenade item.grenade_if_incendiary.name=IF - Incendiary Grenade item.grenade_if_toxic.name=IF - Toxic Grenade item.grenade_if_concussion.name=IF - Concussion Grenade -item.grenade_if_brimstone.name=IF - Tossable Brimsstone Mine +item.grenade_if_brimstone.name=IF - Tossable Brimstone Mine item.grenade_if_mystery.name=IF - M.-Grenade item.grenade_if_spark.name=IF - S.-Grenade item.grenade_if_hopwire.name=IF - Black Hole Hopwire diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index bf0b22080..5ff8a2c2b 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -25,6 +25,7 @@ "block.vaultThudNew": {"category": "block", "sounds": [{"name": "block/vaultThudNew", "stream": false}]}, "block.lockOpen": {"category": "block", "sounds": [{"name": "block/lockOpen", "stream": false}]}, "block.lockHang": {"category": "block", "sounds": [{"name": "block/lockHang", "stream": false}]}, + "block.debris": {"category": "block", "sounds": ["block/debris1", "block/debris2", "block/debris3"]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, @@ -82,6 +83,7 @@ "weapon.laserBang": {"category": "player", "sounds": ["weapon/laserBang1", "weapon/laserBang2", "weapon/laserBang3"]}, "weapon.uziShoot": {"category": "player", "sounds": [{"name": "weapon/uziShoot", "stream": false}]}, "weapon.silencerShoot": {"category": "player", "sounds": [{"name": "weapon/silencerShoot", "stream": false}]}, + "weapon.gBounce": {"category": "player", "sounds": ["weapon/gBounce1", "weapon/gBounce2", "weapon/gBounce3"]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/block/debris1.ogg b/assets/hbm/sounds/block/debris1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e537c6c3c007f2a70b236640b447ca3155bfb54d GIT binary patch literal 14738 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/block/debris2.ogg b/assets/hbm/sounds/block/debris2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..552d1fc917604e4a12bcd259b2aaa23dbb58993a GIT binary patch literal 13494 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/block/debris3.ogg b/assets/hbm/sounds/block/debris3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8b77c1e31a1f78c04fdca813ee6b063292824e66 GIT binary patch literal 9211 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 LS}tN%sPsPoks>71 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/gBounce1.ogg b/assets/hbm/sounds/weapon/gBounce1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..60aeb0038244632c5cf045120a1d18eab4c22dbc GIT binary patch literal 6747 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 z z^2Vt=vSD(6aQ5|3v#?Kh4}O>&`E{*kd}In#_xu!hT_W#@m@CV-?k?Sk7%Gw`uF~}zP8F>D)D(6 zS$momtzOo)&iiX zt8O<_a{aV%@TtVHC)f3t>}`sld%fa&Hkwy=D>zGe^Y?3EM}lqzoVdH}-i?oI`)Owhe1-2r4*ne{`;GBcz|A^?5p!YL4FL zD=>iY$yNFpjIN~&TAt6-PmiyQC+_|J^xoCzEFT{gs`OCa%%ZS_YoYFD*~KSg6KpQ{ zhlF&s&kfR-ylOivd;Z6TkBhNhBBxgMUA9L~8`r!Piw=I4F-pF?U~PLtSZl>{=xYp> zMcjtgnzv|1_d9!X2A1TlJRD0k8u7{0qik6ry{JuJ72a#+`0TAjC#=D2_3ve!T}r)T z;gchbalH!$C+hh|l2Jz7NMhr@^Ipo<?i^i!Y5A-yA$BzEt^(L{{|ecu?!eR%^G~qntR|eVvy}jL$`_ z`fURH%=9gyz;RnX8pB_;bVroSm*v_;Z5Pc)-C zx8=}HV@VEnZ4yzlP?pluH(J4X^NC2 z-#7c*AIxe#Ver@Irwgk;DcFtWh6I#wR7Wqx9p3Tq`&is~3cf@0R_`N%x?7WCAM|zA z8KuPMEVi%G(!$}NUXQy+3F#m1{f-@Kc(ZJyq_nd%a+f*PD@MgO^P<8(JwC2i zxvoCl)O7p7=LwV*xVzm7YgGkmhb(O@|0wP;p#?ew^11 z30^dPpk3Fxc-Q^QW|zRRd}ce_a_pJSi>}$H+zn@*syIE?aYC8sxh;vP@X#aKS{%20 zmKlxfjKguXzb04D|Nd`t-S}2fL)DUw7xfXqyvd zZ_gMgxK~6E@ti(uT@h%DPJu4t7Air|>$)OPgw{nd*yE4OtI|qFPn>PkT2|Shk&=&g ztY9Pw2RGuEJ~3tDw;XmnfPdZIbUyx$m%B`@QM-BTqtvW`{ykO8=}GaMP8R6~pH&Ml z$!B~1858Y!KQ6;#IKgQgH9N(*g4T8Z^-_T$s(+-^cF-nNHZgx4&b3*jpFdvJUiR$B6;ZFAO4^Lcnx2kOp5Lwez6x=U zN#*X;65HeY7nL`Ce_!n&_{rv1i61BqH3)9zdJ8`4O9Q{K|FL0ZYR(ni#lORVcLkvprC688NO;q(AEmY{bb zg?q2|kYeM#lSDT&6LD!_0088ZA{V9;$pv}gbPPjC#y2IdJHJ{$`_~gzVVLG<%AKc+Ht+jU| zHnDtUyn}2v?>T{O-=AULmt0V5;db>y=nQ?5v5#rU*p735%$kgk#8_;uO0CW;`gvJc zNXrR};};KeSErk}BQ1yCN?p zE`O6W-rlt8^mFc@GAZm@zjo`bM%VC7`xaqR zhllmGJNUGS9n%w&-fvzy*y~p>Ft`J5^^n*}sj9HJ<wY@~J^K9i$Y{<5$MJ&^ftSKty3%=hXD2@& as%VQvwLC6z6Q}HT^Xq 0.05) + worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 2.0F, 1.0F); + motionX *= getBounceMod(); motionY *= getBounceMod(); motionZ *= getBounceMod(); diff --git a/com/hbm/entity/projectile/EntityRubble.java b/com/hbm/entity/projectile/EntityRubble.java index 8d9db3150..e987a1665 100644 --- a/com/hbm/entity/projectile/EntityRubble.java +++ b/com/hbm/entity/projectile/EntityRubble.java @@ -1,7 +1,12 @@ package com.hbm.entity.projectile; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.ParticleBurstPacket; + +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; @@ -21,7 +26,8 @@ public class EntityRubble extends EntityThrowable { @Override public void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + this.dataWatcher.addObject(16, (int)Integer.valueOf(0)); + this.dataWatcher.addObject(17, (int)Integer.valueOf(0)); } public EntityRubble(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) @@ -41,25 +47,18 @@ public class EntityRubble extends EntityThrowable { if(this.ticksExisted > 2) { this.setDead(); - if(!this.worldObj.isRemote) - worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.1F, true); + + worldObj.playSoundAtEntity(this, "hbm:block.debris", 1.5F, 1.0F); + //worldObj.playAuxSFX(2001, (int)posX, (int)posY, (int)posZ, this.dataWatcher.getWatchableObjectInt(16) + (this.dataWatcher.getWatchableObjectInt(17) << 12)); + + if(!worldObj.isRemote) + PacketDispatcher.wrapper.sendToAll(new ParticleBurstPacket((int)posX - 1, (int)posY, (int)posZ - 1, this.dataWatcher.getWatchableObjectInt(16), this.dataWatcher.getWatchableObjectInt(17))); } } - public void setMetaBasedOnMat(Material mat) { - if(mat == Material.anvil || mat == Material.iron) - this.dataWatcher.updateObject(16, (byte)0); - else if(mat == Material.rock || mat == Material.piston || mat == Material.redstoneLight) - this.dataWatcher.updateObject(16, (byte)1); - else if(mat == Material.cactus || mat == Material.coral || mat == Material.gourd || mat == Material.leaves || mat == Material.plants || mat == Material.sponge) - this.dataWatcher.updateObject(16, (byte)2); - else if(mat == Material.clay || mat == Material.sand) - this.dataWatcher.updateObject(16, (byte)3); - else if(mat == Material.ground || mat == Material.grass) - this.dataWatcher.updateObject(16, (byte)4); - else if(mat == Material.wood) - this.dataWatcher.updateObject(16, (byte)5); - else - this.dataWatcher.updateObject(16, (byte)6); + public void setMetaBasedOnBlock(Block b, int i) { + + this.dataWatcher.updateObject(16, Block.getIdFromBlock(b)); + this.dataWatcher.updateObject(17, i); } } diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index 70aef3713..f94c79db0 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -395,6 +395,10 @@ public class ExplosionChaos { public static void pDestruction(World world, int x, int y, int z) { + EntityFallingBlock entityfallingblock = new EntityFallingBlock(world, (double)((float)x + 0.5F), (double)((float)y + 0.5F), (double)((float)z + 0.5F), world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); + world.spawnEntityInWorld(entityfallingblock); + + /* if (Blocks.air.getBlockHardness(world, x, y, z) != Float.POSITIVE_INFINITY) { Block b = world.getBlock(x, y, z); TileEntity t = world.getTileEntity(x, y, z); @@ -439,7 +443,7 @@ public class ExplosionChaos { world.setBlock(x, y, z, ModBlocks.block_scrap); else world.setBlock(x, y, z, Blocks.air); - } + }*/ } public static void cluster(World world, int x, int y, int z, int count, int gravity) { @@ -1242,7 +1246,7 @@ public class ExplosionChaos { rubble.posZ = j + 0.5F; rubble.motionY = 0.025F * 10 + 0.15F; - rubble.setMetaBasedOnMat(b.getMaterial()); + rubble.setMetaBasedOnBlock(b, world.getBlockMetadata(i, y, j)); world.spawnEntityInWorld(rubble); diff --git a/com/hbm/explosion/ExplosionLarge.java b/com/hbm/explosion/ExplosionLarge.java index 0ffb95cde..e07e52369 100644 --- a/com/hbm/explosion/ExplosionLarge.java +++ b/com/hbm/explosion/ExplosionLarge.java @@ -88,7 +88,7 @@ public class ExplosionLarge { rubble.motionY = 0.75 * (1 + ((count + rand.nextInt(count * 5))) / 25); rubble.motionX = rand.nextGaussian() * 0.75 * (1 + (count / 50)); rubble.motionZ = rand.nextGaussian() * 0.75 * (1 + (count / 50)); - rubble.getDataWatcher().updateObject(16, (byte)rand.nextInt(7)); + rubble.setMetaBasedOnBlock(Blocks.stone, 0); world.spawnEntityInWorld(rubble); } } @@ -235,7 +235,7 @@ public class ExplosionLarge { rubble.posX = x0 + 0.5F; rubble.posY = y0 + 0.5F; rubble.posZ = z0 + 0.5F; - rubble.setMetaBasedOnMat(world.getBlock((int)x0, (int)y0, (int)z0).getMaterial()); + rubble.setMetaBasedOnBlock(world.getBlock((int)x0, (int)y0, (int)z0), world.getBlockMetadata((int)x0, (int)y0, (int)z0)); Vec3 vec4 = Vec3.createVectorHelper(posX - rubble.posX, posY - rubble.posY, posZ - rubble.posZ); vec4.normalize(); diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index a64e91fbd..c6117c7d5 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -2126,7 +2126,7 @@ public class ModItems { grenade_if_concussion = new ItemGrenade(4).setUnlocalizedName("grenade_if_concussion").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_concussion"); grenade_if_brimstone = new ItemGrenade(5).setUnlocalizedName("grenade_if_brimstone").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_brimstone"); grenade_if_mystery = new ItemGrenade(5).setUnlocalizedName("grenade_if_mystery").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_mystery"); - grenade_if_spark = new ItemGrenade(5).setUnlocalizedName("grenade_if_spark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_spark"); + grenade_if_spark = new ItemGrenade(7).setUnlocalizedName("grenade_if_spark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_spark"); grenade_if_hopwire = new ItemGrenade(7).setUnlocalizedName("grenade_if_hopwire").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_hopwire"); grenade_if_null = new ItemGrenade(7).setUnlocalizedName("grenade_if_null").setCreativeTab(null).setTextureName(RefStrings.MODID + ":grenade_if_null"); diff --git a/com/hbm/items/gear/WeaponSpecial.java b/com/hbm/items/gear/WeaponSpecial.java index 94685c0d4..53d93cb29 100644 --- a/com/hbm/items/gear/WeaponSpecial.java +++ b/com/hbm/items/gear/WeaponSpecial.java @@ -159,7 +159,7 @@ public class WeaponSpecial extends ItemSword { rubble.posY = y; rubble.posZ = z + 0.5F; - rubble.setMetaBasedOnMat(world.getBlock(x, y, z).getMaterial()); + rubble.setMetaBasedOnBlock(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); Vec3 vec = player.getLookVec(); double dX = vec.xCoord * 5; diff --git a/com/hbm/items/tool/ItemMultitoolPassive.java b/com/hbm/items/tool/ItemMultitoolPassive.java index a812ce82c..8abd0a1a3 100644 --- a/com/hbm/items/tool/ItemMultitoolPassive.java +++ b/com/hbm/items/tool/ItemMultitoolPassive.java @@ -185,7 +185,7 @@ public class ItemMultitoolPassive extends Item { rubble.posZ = z1 + 0.5F; rubble.motionY = 0.025F * w1 + 0.15F; - rubble.setMetaBasedOnMat(b.getMaterial()); + rubble.setMetaBasedOnBlock(b, world.getBlockMetadata(x1, y1, z1)); world.spawnEntityInWorld(rubble); diff --git a/com/hbm/items/weapon/ItemGrenade.java b/com/hbm/items/weapon/ItemGrenade.java index e22313d57..fffad2733 100644 --- a/com/hbm/items/weapon/ItemGrenade.java +++ b/com/hbm/items/weapon/ItemGrenade.java @@ -49,6 +49,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ItemGrenade extends Item { @@ -234,6 +235,59 @@ public class ItemGrenade extends Item { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { list.add("Fuse: " + translateFuse()); + + if (this == ModItems.grenade_if_generic) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"How do you like " + EnumChatFormatting.RESET + EnumChatFormatting.GRAY + "them" + EnumChatFormatting.ITALIC + " apples?\""); + } + if (this == ModItems.grenade_if_he) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"You better run, you better take cover!\""); + } + if (this == ModItems.grenade_if_bouncy) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"Boing!\""); + } + if (this == ModItems.grenade_if_sticky) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"This one is the booger grenade.\""); + } + if (this == ModItems.grenade_if_impact) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"Tossable boom.\""); + } + if (this == ModItems.grenade_if_incendiary) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"Flaming wheel of destruction!\""); + } + if (this == ModItems.grenade_if_toxic) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"TOXIC SHOCK\""); + } + if (this == ModItems.grenade_if_concussion) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"Oof ouch owie, my bones!\""); + } + if (this == ModItems.grenade_if_brimstone) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"Zoop!\""); + } + if (this == ModItems.grenade_if_mystery) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"It's a mystery!\""); + } + if (this == ModItems.grenade_if_spark) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"31-31-31-31-31-31-31-31-31-31-31-31-31\""); + } + if (this == ModItems.grenade_if_hopwire) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"All I ever wished for was a bike that didn't fall over.\""); + } + if (this == ModItems.grenade_if_null) { + list.add(""); + list.add(EnumChatFormatting.ITALIC + "java.lang.NullPointerException"); + } } public static int getFuseTicks(Item grenade) { diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index bea2912c7..d9ec24aa0 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -822,7 +822,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityMissileBHole.class, "entity_missile_blackhole", 100, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileSchrabidium.class, "entity_missile_schrabidium", 101, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileEMP.class, "entity_missile_emp", 102, this, 1000, 1, true); - EntityRegistry.registerModEntity(EntityChlorineFX.class, "entity_d_smoke_fx", 103, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityChlorineFX.class, "entity_chlorine_fx", 103, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityPinkCloudFX.class, "entity_pink_cloud_fx", 104, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityCloudFX.class, "entity_cloud_fx", 105, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityGrenadePC.class, "entity_grenade_pink_cloud", 106, this, 250, 1, true); diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index 88ee8c2d0..ba23ecb9d 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -69,6 +69,8 @@ public class PacketDispatcher { wrapper.registerMessage(TEVaultPacket.Handler.class, TEVaultPacket.class, i++, Side.CLIENT); //Packet to send sat info to players wrapper.registerMessage(SatPanelPacket.Handler.class, SatPanelPacket.class, i++, Side.CLIENT); + //Packet to send block break particles + wrapper.registerMessage(ParticleBurstPacket.Handler.class, ParticleBurstPacket.class, i++, Side.CLIENT); } } diff --git a/com/hbm/packet/ParticleBurstPacket.java b/com/hbm/packet/ParticleBurstPacket.java new file mode 100644 index 000000000..1e6e90db9 --- /dev/null +++ b/com/hbm/packet/ParticleBurstPacket.java @@ -0,0 +1,64 @@ +package com.hbm.packet; + +import com.hbm.tileentity.machine.TileEntityMachineAssembler; +import com.hbm.tileentity.machine.TileEntityMachinePumpjack; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.tileentity.TileEntity; + +public class ParticleBurstPacket implements IMessage { + + int x; + int y; + int z; + int block; + int meta; + + public ParticleBurstPacket() + { + + } + + public ParticleBurstPacket(int x, int y, int z, int block, int meta) + { + this.x = x; + this.y = y; + this.z = z; + this.block = block; + this.meta = meta; + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + block = buf.readInt(); + meta = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeInt(block); + buf.writeInt(meta); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(ParticleBurstPacket m, MessageContext ctx) { + + Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(m.x, m.y, m.z, Block.getBlockById(m.block), (m.meta << 12)); + + return null; + } + } +} diff --git a/com/hbm/render/entity/RenderRubble.java b/com/hbm/render/entity/RenderRubble.java index f68c3b03a..ebc3cd339 100644 --- a/com/hbm/render/entity/RenderRubble.java +++ b/com/hbm/render/entity/RenderRubble.java @@ -1,12 +1,19 @@ package com.hbm.render.entity; +import java.lang.reflect.Field; + import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelRubble; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.Entity; +import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; public class RenderRubble extends Render { @@ -25,28 +32,40 @@ public class RenderRubble extends Render { GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glRotatef(180, 1, 0, 0); GL11.glRotatef((rocket.ticksExisted % 360) * 10, 1, 1, 1); - - byte b = rocket.getDataWatcher().getWatchableObjectByte(16); - if(b == 0) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleMetal.png")); - if(b == 1) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleRock.png")); - if(b == 2) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubblePlant.png")); - if(b == 3) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleSand.png")); - if(b == 4) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleGround.png")); - if(b == 5) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleWood.png")); - if(b == 6) - bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleScrap.png")); + try { + int block = rocket.getDataWatcher().getWatchableObjectInt(16); + int meta = rocket.getDataWatcher().getWatchableObjectInt(17); + + Block b = Block.getBlockById(block); + + RenderBlocks rb = RenderBlocks.getInstance(); + String s = rb.getBlockIconFromSideAndMetadata(b, 0, meta).getIconName(); + + if(s == null || s.isEmpty()) + s = "minecraft:stone"; + + String[] split = s.split(":"); + + String prefix = ""; + String suffix = ""; + + if(split.length == 2) { + prefix = split[0]; + suffix = split[1]; + } else { + prefix = "minecraft"; + suffix = s; + } + + bindTexture(new ResourceLocation(prefix + ":textures/blocks/" + suffix + ".png")); + + mine.renderAll(0.0625F); + } catch(Exception ex) { } - mine.renderAll(0.0625F); GL11.glPopMatrix(); } - + @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { return new ResourceLocation(RefStrings.MODID + ":textures/models/ModelRubbleScrap.png"); diff --git a/com/hbm/render/model/ModelRubble.java b/com/hbm/render/model/ModelRubble.java index 9b2c7b92c..642d1a956 100644 --- a/com/hbm/render/model/ModelRubble.java +++ b/com/hbm/render/model/ModelRubble.java @@ -24,8 +24,8 @@ public class ModelRubble extends ModelBase { ModelRenderer Shape10; public ModelRubble() { - textureWidth = 64; - textureHeight = 32; + textureWidth = 16; + textureHeight = 16; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 14, 6, 6); diff --git a/com/hbm/tileentity/bomb/TileEntityLandmine.java b/com/hbm/tileentity/bomb/TileEntityLandmine.java index 1ab27692f..882fd62d8 100644 --- a/com/hbm/tileentity/bomb/TileEntityLandmine.java +++ b/com/hbm/tileentity/bomb/TileEntityLandmine.java @@ -24,12 +24,14 @@ public class TileEntityLandmine extends TileEntity { if(!worldObj.isRemote) { Block block = worldObj.getBlock(xCoord, yCoord, zCoord); double range = 1; + double height = 1; if (block == ModBlocks.mine_ap) { range = 1.5D; } if (block == ModBlocks.mine_he) { range = 2; + height = 5; } if (block == ModBlocks.mine_shrap) { range = 1.5D; @@ -39,7 +41,7 @@ public class TileEntityLandmine extends TileEntity { } List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - 1, zCoord - range, xCoord + range, yCoord + 1, zCoord + range)); + AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - height, zCoord - range, xCoord + range, yCoord + height, zCoord + range)); boolean flag = false; for (Object o : list) {