diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 207cb21b9..703799b82 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -199,11 +199,13 @@ tile.turret_flamer.name=Flammenwerfergeschütz tile.turret_tau.name=Tauonengeschütz tile.turret_spitfire.name=Geschütz für das ich noch keinen Namen habe [WIP] tile.turret_cwis.name=Phalanx Mk-15 CIWS +tile.turret_cheapo.name=Billigsdorfer Gatling-Geschütz tile.machine_radar.name=Radar container.radar=Radar item.turret_control.name=Geschützsteuerung item.turret_chip.name=Geschütz-KI-Chip +item.turret_biometry.name=Geschütz-Telemetriekarte tile.bomb_multi.name=Mehrzweckbombe tile.rejuvinator.name=Regenerationsmaschine @@ -652,6 +654,9 @@ item.battery_creative.name=Unendliche Batterie item.battery_su.name=Einwegbatterie item.battery_su_l.name=Große Einwegbatterie +item.battery_potato.name=Katoffelbatterie +item.battery_potatos.name=PotatOS + item.battery_red_cell.name=Redstone-Energiezelle item.battery_advanced_cell.name=Fortgeschrittene Energiezelle item.battery_lithium_cell.name=Lithium-Ionen-Energiezelle @@ -1059,6 +1064,7 @@ item.turret_flamer_ammo.name=Flammenwerfergeschütz-Tanks item.turret_tau_ammo.name=Tauonengeschütz-Uranmunition item.turret_spitfire_ammo.name=AA-Geschoss item.turret_cwis_ammo.name=CIWS 20mm Munitionstrommel +item.turret_cheapo_ammo.name=6x24 Billigsdorfer-Munition item.clip_revolver_iron.name=Box voll Eisenkugeln item.clip_revolver.name=.357 Magnum Patronen diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index b31a36503..0eac93781 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -211,11 +211,13 @@ tile.turret_flamer.name=Flamethrower Turret tile.turret_tau.name=Tauon Turret tile.turret_spitfire.name=Turret I have no name for right now [WIP] tile.turret_cwis.name=Phalanx Mk-15 CIWS +tile.turret_cheapo.name=Cheapo Gatling Sentry tile.machine_radar.name=Radar container.radar=Radar item.turret_control.name=Turret Controller item.turret_chip.name=Turret AI-Chip +item.turret_biometry.name=Turret Telemetry Card tile.crate.name=Supply Crate tile.marker_structure.name=Multiblock Structure Marker @@ -655,6 +657,9 @@ item.battery_creative.name=Infinite Battery item.battery_su.name=SU-Battery item.battery_su_l.name=Large SU-Battery +item.battery_potato.name=Potato Battery +item.battery_potatos.name=PotatOS + item.battery_red_cell.name=Redstone Power Cell item.battery_advanced_cell.name=Advanced Power Cell item.battery_lithium_cell.name=Lithium-Ion Power Cell @@ -1062,6 +1067,7 @@ item.turret_flamer_ammo.name=Flamer Turret Fuel Tanks item.turret_tau_ammo.name=Tau Turret Uranium Ammo item.turret_spitfire_ammo.name=AA-Shell item.turret_cwis_ammo.name=CIWS 20mm Ammo Drum +item.turret_cheapo_ammo.name=6x24 Cheapo Turret Ammunition item.clip_revolver_iron.name=Box of Iron Rounds item.clip_revolver.name=Box of .357 Rounds diff --git a/assets/hbm/textures/blocks/turret_cheapo.png b/assets/hbm/textures/blocks/turret_cheapo.png new file mode 100644 index 000000000..b47cd705e Binary files /dev/null and b/assets/hbm/textures/blocks/turret_cheapo.png differ diff --git a/assets/hbm/textures/items/battery_potato.png b/assets/hbm/textures/items/battery_potato.png new file mode 100644 index 000000000..4bb4a54a1 Binary files /dev/null and b/assets/hbm/textures/items/battery_potato.png differ diff --git a/assets/hbm/textures/items/battery_potatos.png b/assets/hbm/textures/items/battery_potatos.png new file mode 100644 index 000000000..17ba30b80 Binary files /dev/null and b/assets/hbm/textures/items/battery_potatos.png differ diff --git a/assets/hbm/textures/items/turret_cheapo_ammo.png b/assets/hbm/textures/items/turret_cheapo_ammo.png new file mode 100644 index 000000000..5db79ebc0 Binary files /dev/null and b/assets/hbm/textures/items/turret_cheapo_ammo.png differ diff --git a/assets/hbm/textures/models/turret_cheapo_head.png b/assets/hbm/textures/models/turret_cheapo_head.png index 19aa1b62b..06a39f837 100644 Binary files a/assets/hbm/textures/models/turret_cheapo_head.png and b/assets/hbm/textures/models/turret_cheapo_head.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index a023d5a40..eac4ab358 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -654,7 +654,7 @@ public class ModBlocks { machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":industrial_generator"); machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":cyclotron"); - machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":radgen"); + machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":code"); machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -755,7 +755,7 @@ public class ModBlocks { turret_rocket = new TurretRocket(Material.iron).setBlockName("turret_rocket").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_rocket"); turret_flamer = new TurretFlamer(Material.iron).setBlockName("turret_flamer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_flamer"); turret_tau = new TurretTau(Material.iron).setBlockName("turret_tau").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_tau"); - turret_spitfire = new TurretSpitfire(Material.iron).setBlockName("turret_spitfire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_spitfire"); + turret_spitfire = new TurretSpitfire(Material.iron).setBlockName("turret_spitfire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":code"); turret_cwis = new TurretCIWS(Material.iron).setBlockName("turret_cwis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_cwis"); turret_cheapo = new TurretCheapo(Material.iron).setBlockName("turret_cheapo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":turret_cheapo"); diff --git a/com/hbm/blocks/bomb/NukeBoy.java b/com/hbm/blocks/bomb/NukeBoy.java index e83abbe6e..08d7b6e2e 100644 --- a/com/hbm/blocks/bomb/NukeBoy.java +++ b/com/hbm/blocks/bomb/NukeBoy.java @@ -152,7 +152,7 @@ public class NukeBoy extends BlockContainer implements IBomb { // ExplosionNukeAdvanced.mush(world, x, y, z); if (MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, MainRegistry.boyRadius * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/NukeCustom.java b/com/hbm/blocks/bomb/NukeCustom.java index 28967d98a..bf2bdcab6 100644 --- a/com/hbm/blocks/bomb/NukeCustom.java +++ b/com/hbm/blocks/bomb/NukeCustom.java @@ -199,7 +199,7 @@ public class NukeCustom extends BlockContainer implements IBomb { ExplosionParticleB.spawnMush(world, x, y - ((int)amat / 10), z); } else if(amat < 200) { if(MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, amat * 0.005F); entity2.posX = x; entity2.posY = y - (amat/10); entity2.posZ = z; @@ -249,7 +249,7 @@ public class NukeCustom extends BlockContainer implements IBomb { ExplosionParticle.spawnMush(world, x, y - ((int)hydro / 10), z); } else if(hydro < 200) { if(MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, hydro * 0.005F); entity2.posX = x; entity2.posY = y - (hydro/10); entity2.posZ = z; @@ -298,7 +298,7 @@ public class NukeCustom extends BlockContainer implements IBomb { ExplosionParticle.spawnMush(world, x, y - ((int)nuke / 10), z); } else if(nuke < 200) { if(MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, nuke * 0.005F); entity2.posX = x; entity2.posY = y - (nuke/10); entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/NukeGadget.java b/com/hbm/blocks/bomb/NukeGadget.java index 32427a361..08d20ae5c 100644 --- a/com/hbm/blocks/bomb/NukeGadget.java +++ b/com/hbm/blocks/bomb/NukeGadget.java @@ -165,7 +165,7 @@ public class NukeGadget extends BlockContainer implements IBomb { // ExplosionNukeAdvanced.mush(world, x, y, z); if (MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, MainRegistry.gadgetRadius * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/NukeMan.java b/com/hbm/blocks/bomb/NukeMan.java index 4c1ce9327..a95becd36 100644 --- a/com/hbm/blocks/bomb/NukeMan.java +++ b/com/hbm/blocks/bomb/NukeMan.java @@ -179,7 +179,7 @@ public class NukeMan extends BlockContainer implements IBomb { //ExplosionNukeAdvanced.mush(world, x, y, z); if (MainRegistry.enableNukeClouds) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, MainRegistry.manRadius * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/NukeMike.java b/com/hbm/blocks/bomb/NukeMike.java index a627d3496..e957c0a2c 100644 --- a/com/hbm/blocks/bomb/NukeMike.java +++ b/com/hbm/blocks/bomb/NukeMike.java @@ -146,13 +146,13 @@ public class NukeMike extends BlockContainer implements IBomb { if (MainRegistry.enableNukeClouds) { if (r < 200) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; world.spawnEntityInWorld(entity2); } else { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/NukeTsar.java b/com/hbm/blocks/bomb/NukeTsar.java index dfc969c83..1b0efa047 100644 --- a/com/hbm/blocks/bomb/NukeTsar.java +++ b/com/hbm/blocks/bomb/NukeTsar.java @@ -152,9 +152,9 @@ public class NukeTsar extends BlockContainer implements IBomb { //world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); - world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.tsarRadius, x + 0.5, y + 0.5, z + 0.5)); + world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, r, x + 0.5, y + 0.5, z + 0.5)); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F); entity2.posX = x; entity2.posY = y; entity2.posZ = z; diff --git a/com/hbm/blocks/bomb/TurretCheapo.java b/com/hbm/blocks/bomb/TurretCheapo.java index d63a7e633..2c0223415 100644 --- a/com/hbm/blocks/bomb/TurretCheapo.java +++ b/com/hbm/blocks/bomb/TurretCheapo.java @@ -38,7 +38,7 @@ public class TurretCheapo extends TurretBase { if(te.spin < 35) te.spin += 5; - if(te.spin > 25 && i % 4 == 0) { + if(te.spin > 25 && i % 2 == 0) { Vec3 vector = Vec3.createVectorHelper( -Math.sin(yaw / 180.0F * (float) Math.PI) * Math.cos(pitch / 180.0F * (float) Math.PI), -Math.sin(pitch / 180.0F * (float) Math.PI), @@ -56,7 +56,7 @@ public class TurretCheapo extends TurretBase { bullet.motionY = vector.yCoord * 3; bullet.motionZ = vector.zCoord * 3; - bullet.damage = rand.nextInt(11) + 10; + bullet.damage = rand.nextInt(11) + 5; world.spawnEntityInWorld(bullet); } @@ -72,7 +72,10 @@ public class TurretCheapo extends TurretBase { @Override public void executeReleaseAction(World world, int i, double yaw, double pitch, int x, int y, int z) { - world.playSoundEffect(x, y, z, "hbm:weapon.spindown", 1.0F, 1.0F); + TileEntityTurretCheapo te = (TileEntityTurretCheapo)world.getTileEntity(x, y, z); + + if(te.spin > 10) + world.playSoundEffect(x, y, z, "hbm:weapon.spindown", 1.0F, 1.0F); } } diff --git a/com/hbm/blocks/machine/MachineRadar.java b/com/hbm/blocks/machine/MachineRadar.java index 2af67732b..44efa35ac 100644 --- a/com/hbm/blocks/machine/MachineRadar.java +++ b/com/hbm/blocks/machine/MachineRadar.java @@ -12,6 +12,7 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -43,6 +44,13 @@ public class MachineRadar extends BlockContainer { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(y < MainRegistry.radarAltitude) { + if(world.isRemote) + player.addChatMessage(new ChatComponentText("[Radar] Error: Radar altitude not sufficient.")); + return true; + } + if(world.isRemote) { return true; diff --git a/com/hbm/entity/effect/EntityNukeCloudNoShroom.java b/com/hbm/entity/effect/EntityNukeCloudNoShroom.java index 3a069cbb1..03a70b810 100644 --- a/com/hbm/entity/effect/EntityNukeCloudNoShroom.java +++ b/com/hbm/entity/effect/EntityNukeCloudNoShroom.java @@ -9,7 +9,7 @@ public class EntityNukeCloudNoShroom extends EntityNukeCloudSmall { } public EntityNukeCloudNoShroom(World p_i1582_1_, int maxAge) { - super(p_i1582_1_, maxAge); + super(p_i1582_1_, maxAge, 1.0F); } } diff --git a/com/hbm/entity/effect/EntityNukeCloudSmall.java b/com/hbm/entity/effect/EntityNukeCloudSmall.java index 77fd17428..6937cc07c 100644 --- a/com/hbm/entity/effect/EntityNukeCloudSmall.java +++ b/com/hbm/entity/effect/EntityNukeCloudSmall.java @@ -11,7 +11,6 @@ public class EntityNukeCloudSmall extends Entity { public int maxAge = 1000; public int age; - public float scale = 1; public EntityNukeCloudSmall(World p_i1582_1_) { super(p_i1582_1_); @@ -34,11 +33,12 @@ public class EntityNukeCloudSmall extends Entity { return 1.0F; } - public EntityNukeCloudSmall(World p_i1582_1_, int maxAge) { + public EntityNukeCloudSmall(World p_i1582_1_, int maxAge, float scale) { super(p_i1582_1_); this.setSize(20, 40); this.isImmuneToFire = true; this.maxAge = maxAge; + this.dataWatcher.updateObject(18, scale); } @Override @@ -55,28 +55,27 @@ public class EntityNukeCloudSmall extends Entity { this.dataWatcher.updateObject(16, (short)maxAge); this.dataWatcher.updateObject(17, (short)age); - this.dataWatcher.updateObject(18, (float)scale); } @Override protected void entityInit() { this.dataWatcher.addObject(16, (short)maxAge); this.dataWatcher.addObject(17, (short)age); - this.dataWatcher.addObject(18, (float)scale); + this.dataWatcher.addObject(18, 1.0F); } @Override protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { maxAge = p_70037_1_.getShort("maxAge"); age = p_70037_1_.getShort("age"); - scale = p_70037_1_.getShort("scale"); + this.dataWatcher.updateObject(18, p_70037_1_.getFloat("scale")); } @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { p_70014_1_.setShort("maxAge", (short)maxAge); p_70014_1_.setShort("age", (short)age); - p_70014_1_.setFloat("scale", (float)scale); + p_70014_1_.setFloat("scale", this.dataWatcher.getWatchableObjectFloat(18)); } diff --git a/com/hbm/entity/grenade/EntityGrenadeNuclear.java b/com/hbm/entity/grenade/EntityGrenadeNuclear.java index a9394a5bd..731ebac3f 100644 --- a/com/hbm/entity/grenade/EntityGrenadeNuclear.java +++ b/com/hbm/entity/grenade/EntityGrenadeNuclear.java @@ -43,12 +43,12 @@ public class EntityGrenadeNuclear extends EntityGrenadeBase entity0.speed = 25; entity0.coefficient = 10.0F;*/ - this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.nukaRadius * 2, posX, posY, posZ)); + this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.nukaRadius, posX, posY, posZ)); if(rand.nextInt(100) == 0) { - ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 2, (int)this.posZ); + ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ); } else { - ExplosionParticle.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 2, (int)this.posZ); + ExplosionParticle.spawnMush(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ); } } } diff --git a/com/hbm/entity/missile/EntityMIRV.java b/com/hbm/entity/missile/EntityMIRV.java index 7fda3018f..aee856ac0 100644 --- a/com/hbm/entity/missile/EntityMIRV.java +++ b/com/hbm/entity/missile/EntityMIRV.java @@ -42,7 +42,7 @@ public class EntityMIRV extends EntityThrowable { { worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.mirvRadius, posX, posY, posZ)); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, MainRegistry.mirvRadius * 0.005F); entity2.posX = this.posX; entity2.posY = this.posY; entity2.posZ = this.posZ; diff --git a/com/hbm/entity/missile/EntityMissileMirv.java b/com/hbm/entity/missile/EntityMissileMirv.java index 72f6c6c73..eec502081 100644 --- a/com/hbm/entity/missile/EntityMissileMirv.java +++ b/com/hbm/entity/missile/EntityMissileMirv.java @@ -32,7 +32,7 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced { worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.missileRadius, posX, posY, posZ)); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, MainRegistry.missileRadius * 0.005F); entity2.posX = this.posX; entity2.posY = this.posY - 9; entity2.posZ = this.posZ; diff --git a/com/hbm/entity/missile/EntityMissileNuclear.java b/com/hbm/entity/missile/EntityMissileNuclear.java index 2d930c809..4156ba3eb 100644 --- a/com/hbm/entity/missile/EntityMissileNuclear.java +++ b/com/hbm/entity/missile/EntityMissileNuclear.java @@ -37,11 +37,10 @@ public class EntityMissileNuclear extends EntityMissileBaseAdvanced { this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.missileRadius, posX, posY, posZ)); - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, MainRegistry.missileRadius * 0.005F); entity2.posX = this.posX; entity2.posY = this.posY/* - 9*/; entity2.posZ = this.posZ; - entity2.scale = 2F; entity2.getDataWatcher().updateObject(18, 2F); this.worldObj.spawnEntityInWorld(entity2); } diff --git a/com/hbm/entity/mob/EntityNuclearCreeper.java b/com/hbm/entity/mob/EntityNuclearCreeper.java index e7be3413e..9868d9ec2 100644 --- a/com/hbm/entity/mob/EntityNuclearCreeper.java +++ b/com/hbm/entity/mob/EntityNuclearCreeper.java @@ -458,7 +458,7 @@ public class EntityNuclearCreeper extends EntityMob { if(this.getPowered()) { - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000, explosionRadius * 0.005F); entity2.posX = this.posX; entity2.posY = this.posY; entity2.posZ = this.posZ; diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 9f75f095d..5f165839f 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -2688,6 +2688,13 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.circuit_gold, 5)); list.add(new ItemStack(ModItems.magnetron, 3)); break; + case TURRET_CHEAPO: + list.add(new ItemStack(ModItems.ingot_steel, 4)); + list.add(new ItemStack(ModItems.plate_iron, 4)); + list.add(new ItemStack(ModItems.pipes_steel, 3)); + list.add(new ItemStack(ModItems.motor, 3)); + list.add(new ItemStack(ModItems.circuit_red_copper, 3)); + break; case HUNTER_CHOPPER: list.add(new ItemStack(ModItems.chopper_blades, 5)); list.add(new ItemStack(ModItems.chopper_gun, 1)); @@ -3577,6 +3584,9 @@ public class MachineRecipes { case TURRET_CIWS: output = new ItemStack(ModBlocks.turret_cwis, 1); break; + case TURRET_CHEAPO: + output = new ItemStack(ModBlocks.turret_cheapo, 1); + break; case HUNTER_CHOPPER: output = new ItemStack(ModItems.chopper, 1); break; diff --git a/com/hbm/inventory/gui/GUIMachineRadar.java b/com/hbm/inventory/gui/GUIMachineRadar.java index 1c74bca59..c5920230f 100644 --- a/com/hbm/inventory/gui/GUIMachineRadar.java +++ b/com/hbm/inventory/gui/GUIMachineRadar.java @@ -1,5 +1,7 @@ package com.hbm.inventory.gui; +import java.util.Arrays; + import org.lwjgl.opengl.GL11; import com.hbm.inventory.FluidTank; @@ -33,6 +35,43 @@ public class GUIMachineRadar extends GuiInfoContainer { super.drawScreen(mouseX, mouseY, f); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 221, 200, 7, diFurnace.power, diFurnace.maxPower); + + if(!diFurnace.nearbyMissiles.isEmpty()) { + for(int[] m : diFurnace.nearbyMissiles) { + int x = guiLeft + (int)((m[0] - diFurnace.xCoord) / ((double)MainRegistry.radarRange * 2 + 1) * (200D - 8D)) + 108; + int z = guiTop + (int)((m[1] - diFurnace.zCoord) / ((double)MainRegistry.radarRange * 2 + 1) * (200D - 8D)) + 117; + + if(mouseX + 4 > x && mouseX - 4 < x && + mouseY + 4 > z && mouseY - 4 < z) { + + + String[] text = new String[] { "Error." }; + + if(m[2] == 0) + text = new String[] { "Tier 1 Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 1) + text = new String[] { "Tier 2 Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 2) + text = new String[] { "Tier 3 Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 3) + text = new String[] { "Tier 4 Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 4) + text = new String[] { "Anti Ballistic Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 5) + text = new String[] { "Airborne Entity", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 6) + text = new String[] { "Stinger Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 7) + text = new String[] { "Sky Stinger Missile", m[0] + " / " + m[1], "Alt.: " + m[3] }; + if(m[2] == 8) + text = new String[] { "Unknown Force", m[0] + " / " + m[1], "Alt.: " + m[3] }; + + this.func_146283_a(Arrays.asList(text), x, z); + + return; + } + } + } } @Override @@ -55,8 +94,8 @@ public class GUIMachineRadar extends GuiInfoContainer { if(!diFurnace.nearbyMissiles.isEmpty()) { for(int[] m : diFurnace.nearbyMissiles) { - int x = (int)((m[0] - diFurnace.xCoord) / ((double)TileEntityMachineRadar.range * 2 + 1) * (200D - 8D)) - 4; - int z = (int)((m[1] - diFurnace.zCoord) / ((double)TileEntityMachineRadar.range * 2 + 1) * (200D - 8D)) - 4; + int x = (int)((m[0] - diFurnace.xCoord) / ((double)MainRegistry.radarRange * 2 + 1) * (200D - 8D)) - 4; + int z = (int)((m[1] - diFurnace.zCoord) / ((double)MainRegistry.radarRange * 2 + 1) * (200D - 8D)) - 4; int t = m[2]; drawTexturedModalRect(guiLeft + 108 + x, guiTop + 117 + z, 216, 8 * t, 8, 8); diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 27627689b..d08238d95 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -830,6 +830,8 @@ public class ModItems { public static Item battery_su; public static Item battery_su_l; + public static Item battery_potato; + public static Item battery_potatos; public static Item fusion_core; public static Item fusion_core_infinite; public static Item energy_core; @@ -1087,6 +1089,7 @@ public class ModItems { public static Item turret_tau_ammo; public static Item turret_spitfire_ammo; public static Item turret_cwis_ammo; + public static Item turret_cheapo_ammo; public static Item bucket_mud; public static Item bucket_acid; @@ -1936,6 +1939,8 @@ public class ModItems { battery_spark_cell_6 = new ItemBattery(1000000 * 6).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); battery_spark_cell_25 = new ItemBattery(1000000 * 25).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); + battery_potato = new ItemBattery(1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato"); + battery_potatos = new ItemBattery(50).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos"); battery_su = new ItemBattery(15).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su"); battery_su_l = new ItemBattery(35).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l"); fusion_core = new ItemBattery(200000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); @@ -2066,6 +2071,7 @@ public class ModItems { turret_tau_ammo = new ItemTurretAmmo(ModBlocks.turret_tau, 100).setUnlocalizedName("turret_tau_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_tau_ammo"); turret_spitfire_ammo = new ItemTurretAmmo(ModBlocks.turret_spitfire, 2).setUnlocalizedName("turret_spitfire_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_spitfire_ammo"); turret_cwis_ammo = new ItemTurretAmmo(ModBlocks.turret_cwis, 250).setUnlocalizedName("turret_cwis_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_cwis_ammo"); + turret_cheapo_ammo = new ItemTurretAmmo(ModBlocks.turret_cheapo, 100).setUnlocalizedName("turret_cheapo_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_cheapo_ammo"); template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":template_folder"); assembly_template = new ItemAssemblyTemplate().setUnlocalizedName("assembly_template").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":assembly_template"); @@ -2754,6 +2760,8 @@ public class ModItems { GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); GameRegistry.registerItem(battery_su, battery_su.getUnlocalizedName()); GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName()); + GameRegistry.registerItem(battery_potato, battery_potato.getUnlocalizedName()); + GameRegistry.registerItem(battery_potatos, battery_potatos.getUnlocalizedName()); GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); GameRegistry.registerItem(fusion_core_infinite, fusion_core_infinite.getUnlocalizedName()); @@ -3127,6 +3135,7 @@ public class ModItems { GameRegistry.registerItem(turret_tau_ammo, turret_tau_ammo.getUnlocalizedName()); GameRegistry.registerItem(turret_spitfire_ammo, turret_spitfire_ammo.getUnlocalizedName()); GameRegistry.registerItem(turret_cwis_ammo, turret_cwis_ammo.getUnlocalizedName()); + GameRegistry.registerItem(turret_cheapo_ammo, turret_cheapo_ammo.getUnlocalizedName()); //-C-l-i-p-s- Magazines GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName()); diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 341c86849..2f1aa02cd 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -181,6 +181,7 @@ public class ItemAssemblyTemplate extends Item { TURRET_TAU, TURRET_SPITFIRE, TURRET_CIWS, + TURRET_CHEAPO, MISSILE_HE_1, MISSILE_FIRE_1, MISSILE_CLUSTER_1, @@ -626,6 +627,8 @@ public class ItemAssemblyTemplate extends Item { return 350; case TURRET_CIWS: return 400; + case TURRET_CHEAPO: + return 200; case HUNTER_CHOPPER: return 300; case MISSILE_HE_1: diff --git a/com/hbm/items/tool/ItemTurretBiometry.java b/com/hbm/items/tool/ItemTurretBiometry.java index 5d9d9dae5..ccf3badd9 100644 --- a/com/hbm/items/tool/ItemTurretBiometry.java +++ b/com/hbm/items/tool/ItemTurretBiometry.java @@ -33,9 +33,9 @@ public class ItemTurretBiometry extends Item { } if(i == -1) - i = 255; + i = 511; - if(i == 256) + if(i == 512) i = 0; setFreq(stack, i); diff --git a/com/hbm/items/tool/ItemTurretChip.java b/com/hbm/items/tool/ItemTurretChip.java index 6dbc92289..f1bcd9b25 100644 --- a/com/hbm/items/tool/ItemTurretChip.java +++ b/com/hbm/items/tool/ItemTurretChip.java @@ -56,9 +56,9 @@ public class ItemTurretChip extends Item { } if(i == -1) - i = 255; + i = 511; - if(i == 256) + if(i == 512) i = 0; setFreq(stack, i); diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index ec5713f21..cc48b9a0d 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -758,6 +758,16 @@ public class Library { power += 100; ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); } + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_potato && ItemBattery.getCharge(slots[index]) > 0) + { + power += 100; + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + } + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_potatos && ItemBattery.getCharge(slots[index]) > 0) + { + power += 100; + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + } if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_generic && ItemBattery.getCharge(slots[index]) > 0) { diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 7d327afbe..dfca3126d 100644 --- a/com/hbm/lib/RefStrings.java +++ b/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (Blep)"; + public static final String VERSION = "1.0.27 BETA (Sputnik)"; //HBM's Beta Naming Convention: //V T (X-Y-Z) //V -> next release version diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 4dd290f2e..de0daacfc 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -728,6 +728,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_tau_ammo, 1), new Object[] { "AAA", "AUA", "AAA", 'A', ModItems.gun_xvl1456_ammo, 'U', "blockUranium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_spitfire_ammo, 1), new Object[] { "CP ", "PTP", " PR", 'P', "plateSteel", 'C', ModItems.circuit_copper, 'T', Blocks.tnt, 'R', "dustRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cwis_ammo, 1), new Object[] { "LLL", "GGG", "IGI", 'L', "plateLead", 'I', "plateIron", 'G', Items.gunpowder })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cheapo_ammo, 1), new Object[] { "ILI", "IGI", "ICI", 'L', "plateLead", 'I', "plateSteel", 'C', "plateCopper", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_generic, 4), new Object[] { "RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt) })); GameRegistry.addRecipe(new ItemStack(ModItems.grenade_strong, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', Items.gunpowder }); @@ -765,6 +766,8 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.tem_flakes, 1, 1), new Object[] { Items.gold_nugget, Items.gold_nugget, Items.gold_nugget, Items.paper }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.tem_flakes, 1, 2), new Object[] { Items.gold_ingot, Items.gold_ingot, Items.gold_nugget, Items.gold_nugget, Items.paper }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.glowing_stew, 1), new Object[] { Items.bowl, Item.getItemFromBlock(ModBlocks.mush), Item.getItemFromBlock(ModBlocks.mush) }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.med_ipecac, 1), new Object[] { Items.glass_bottle, Items.nether_wart }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.med_ptsd, 1), new Object[] { ModItems.med_ipecac }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.can_empty, 1), new Object[] { "P", "P", 'P', "plateAluminum" })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.can_smart, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, ModItems.niter }); @@ -900,6 +903,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.battery_su_l), new Object[] { " W ", "RPR", "CPC", 'W', ModItems.wire_aluminium, 'P', Items.paper, 'R', "dustRedstone", 'C', "dustCoal" })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.battery_su_l), new Object[] { " W ", "CPC", "RPR", 'W', ModItems.wire_copper, 'P', Items.paper, 'R', "dustRedstone", 'C', "dustCoal" })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.battery_su_l), new Object[] { " W ", "RPR", "CPC", 'W', ModItems.wire_copper, 'P', Items.paper, 'R', "dustRedstone", 'C', "dustCoal" })); + GameRegistry.addShapelessRecipe(ItemBattery.getFullBattery(ModItems.battery_potato), new Object[] { Items.potato, ModItems.wire_aluminium, ModItems.wire_copper }); + GameRegistry.addRecipe(new ShapelessOreRecipe(ItemBattery.getFullBattery(ModItems.battery_potatos), new Object[] { ItemBattery.getFullBattery(ModItems.battery_potato), ModItems.turret_chip, "dustRedstone" })); GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.ingot_schrabidium }); GameRegistry.addRecipe(new ItemStack(ModItems.schrabidium_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.ingot_schrabidium }); @@ -1019,6 +1024,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.linker, 1), new Object[] { "I I", "ICI", "GGG", 'I', "plateIron", 'G', "plateGold", 'C', ModItems.circuit_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.oil_detector, 1), new Object[] { "W I", "WCI", "PPP", 'W', ModItems.wire_gold, 'I', "ingotCopper", 'C', ModItems.circuit_red_copper, 'P', "plateSteel" })); GameRegistry.addRecipe(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_gold, }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "III", 'C', ModItems.circuit_copper, 'S', "plateSteel", 'G', ModItems.circuit_gold, 'I', "plateLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.survey_scanner, 1), new Object[] { "SWS", " G ", "PCP", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_gold, 'S', "plateSteel", 'G', "ingotGold" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_copper, 'G', "ingotGold", 'S', "plateSteel", 'B', ModItems.ingot_beryllium })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 06035378a..d0ecdf78a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -424,6 +424,9 @@ public class MainRegistry public static int meteorShowerChance = 20 * 60 * 3; public static int meteorShowerDuration = 6000; public static int limitExplosionLifespan = 0; + public static int radarRange = 1000; + public static int radarBuffer = 30; + public static int radarAltitude = 55; public static int generalOverride = 0; public static int polaroidID = 1; @@ -1343,6 +1346,16 @@ public class MainRegistry Property propBlastSpeed = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 1024); propBlastSpeed.comment = "Base speed of all detonations (Blocks / tick)"; blastSpeed = propBlastSpeed.getInt(); + + Property propRadarRange = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarRange", 1000); + propRadarRange.comment = "Range of the radar, 50 will result in 100x100 block area covered"; + radarRange = propRadarRange.getInt(); + Property propRadarBuffer = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarBuffer", 30); + propRadarBuffer.comment = "How high entities have to be above the radar to be detected"; + radarBuffer = propRadarBuffer.getInt(); + Property propRadarAltitude = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarAltitude", 55); + propRadarAltitude.comment = "Y height required for the radar to work"; + radarAltitude = propRadarAltitude.getInt(); config.save(); } diff --git a/com/hbm/packet/TERadarPacket.java b/com/hbm/packet/TERadarPacket.java index 3e364cdce..4036a4214 100644 --- a/com/hbm/packet/TERadarPacket.java +++ b/com/hbm/packet/TERadarPacket.java @@ -21,18 +21,20 @@ public class TERadarPacket implements IMessage { int conX; int conY; int conZ; + int alt; public TERadarPacket() { } - public TERadarPacket(int x, int y, int z, int conX, int conY, int conZ) { + public TERadarPacket(int x, int y, int z, int conX, int conY, int conZ, int alt) { this.x = x; this.y = y; this.z = z; this.conX = conX; this.conY = conY; this.conZ = conZ; + this.alt = alt; } @Override @@ -43,6 +45,7 @@ public class TERadarPacket implements IMessage { conX = buf.readInt(); conY = buf.readInt(); conZ = buf.readInt(); + alt = buf.readInt(); } @Override @@ -53,6 +56,7 @@ public class TERadarPacket implements IMessage { buf.writeInt(conX); buf.writeInt(conY); buf.writeInt(conZ); + buf.writeInt(alt); } public static class Handler implements IMessageHandler { @@ -66,7 +70,7 @@ public class TERadarPacket implements IMessage { if (te != null && te instanceof TileEntityMachineRadar) { TileEntityMachineRadar radar = (TileEntityMachineRadar) te; - radar.nearbyMissiles.add(new int[]{m.conX, m.conY, m.conZ}); + radar.nearbyMissiles.add(new int[]{m.conX, m.conY, m.conZ, m.alt}); } } catch (Exception x) { } diff --git a/com/hbm/render/entity/RenderSmallNukeAlt.java b/com/hbm/render/entity/RenderSmallNukeAlt.java index f950f1da6..58f821fa6 100644 --- a/com/hbm/render/entity/RenderSmallNukeAlt.java +++ b/com/hbm/render/entity/RenderSmallNukeAlt.java @@ -81,7 +81,7 @@ public class RenderSmallNukeAlt extends Render { { scale += 0.02; }*/ - GL11.glScalef(p_76986_1_.scale, 1.0F, p_76986_1_.scale); + //GL11.glScalef(p_76986_1_.scale, 1.0F, p_76986_1_.scale); GL11.glScalef(50F, 25.0F, 50F); bindTexture(ringBigTexture); diff --git a/com/hbm/render/entity/RenderSmallNukeMK3.java b/com/hbm/render/entity/RenderSmallNukeMK3.java index f68c1bb94..4850ee469 100644 --- a/com/hbm/render/entity/RenderSmallNukeMK3.java +++ b/com/hbm/render/entity/RenderSmallNukeMK3.java @@ -81,8 +81,9 @@ public class RenderSmallNukeMK3 extends Render { GL11.glTranslatef((float)posX, (float)posY + 0.25F, (float)posZ); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glScalef(cloud.scale, cloud.scale, cloud.scale); + + float size = cloud.getDataWatcher().getWatchableObjectFloat(18); + GL11.glScalef(size, size, size); int age = cloud.age; int shockScale = age * 4; diff --git a/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java b/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java index 99e9a41be..e385d26cb 100644 --- a/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java +++ b/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java @@ -15,8 +15,6 @@ public class TileEntityTurretCheapo extends TileEntityTurretBase { super.updateEntity(); - this.ammo = 100; - if(!worldObj.isRemote) { if(spin > 0) diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/com/hbm/tileentity/machine/TileEntityMachineRadar.java index a85a69840..58ece45cc 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -26,8 +26,6 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { public static List allMissiles = new ArrayList(); public List nearbyMissiles = new ArrayList(); - - public static int range = 1000; public long power = 0; public static final int maxPower = 100000; @@ -74,7 +72,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { nearbyMissiles.clear(); - List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - range, 0, zCoord + 0.5 - range, xCoord + 0.5 + range, 5000, zCoord + 0.5 + range)); + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - MainRegistry.radarRange, 0, zCoord + 0.5 - MainRegistry.radarRange, xCoord + 0.5 + MainRegistry.radarRange, 5000, zCoord + 0.5 + MainRegistry.radarRange)); for(Entity e : list) { /*if(e instanceof EntityMissileBaseAdvanced) { @@ -82,29 +80,29 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType() }); }*/ - if(e instanceof EntityRocketHoming) { + if(e instanceof EntityRocketHoming && e.posY >= yCoord + MainRegistry.radarBuffer) { EntityRocketHoming rocket = (EntityRocketHoming)e; if(rocket.getIsCritical()) - nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 7 }); + nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 7, (int)e.posY }); else - nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 6 }); + nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 6, (int)e.posY }); continue; } - if(!(e instanceof EntityMissileBaseAdvanced) && e.width * e.width * e.height >= 0.5D && e.posY >= yCoord + 30) { - nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 5 }); + if(!(e instanceof EntityMissileBaseAdvanced) && e.width * e.width * e.height >= 0.5D && e.posY >= yCoord + MainRegistry.radarBuffer) { + nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 5, (int)e.posY }); } } for(Entity e : allMissiles) { - if(e != null && !e.isDead) + if(e != null && !e.isDead && e.posY >= yCoord + MainRegistry.radarBuffer) if(e instanceof EntityMissileBaseAdvanced) { - if(e.posX < xCoord + range && e.posX > xCoord - range && - e.posZ < zCoord + range && e.posZ > zCoord - range) { + if(e.posX < xCoord + MainRegistry.radarRange && e.posX > xCoord - MainRegistry.radarRange && + e.posZ < zCoord + MainRegistry.radarRange && e.posZ > zCoord - MainRegistry.radarRange) { EntityMissileBaseAdvanced mis = (EntityMissileBaseAdvanced)e; - nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType() }); + nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType(), (int)mis.posY }); } } } @@ -114,7 +112,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { if(!nearbyMissiles.isEmpty()) { - double maxRange = range * Math.sqrt(2D); + double maxRange = MainRegistry.radarRange * Math.sqrt(2D); int power = 0; @@ -139,7 +137,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { PacketDispatcher.wrapper.sendToAll(new TERadarDestructorPacket(xCoord, yCoord, zCoord)); for(int[] e : this.nearbyMissiles) { - PacketDispatcher.wrapper.sendToAll(new TERadarPacket(xCoord, yCoord, zCoord, e[0], e[1], e[2])); + PacketDispatcher.wrapper.sendToAll(new TERadarPacket(xCoord, yCoord, zCoord, e[0], e[1], e[2], e[3])); } }