diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index f3a629899..dc9a68435 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1318,6 +1318,9 @@ item.missile_exo.name=Exothermische Rakete item.missile_doomsday.name=Doomsday Rakete item.missile_taint.name=Verdorbene Rakete item.missile_micro.name=Mikro-Atomrakete +item.missile_bhole.name=Schwarzes-Loch-Rakete +item.missile_schrabidium.name=Schrabidiumrakete +item.missile_emp.name=EMP-Rakete item.missile_carrier.name=HTR-01 Trägerrakete item.sat_mapper.name=Oberflächen-Abtastungssatellit @@ -1531,14 +1534,14 @@ item.bottle2_korl.name=Korl item.bottle2_fritz.name=Fritz-Kola item.bottle2_korl_special.name=Das erste Korl item.bottle2_fritz_special.name=Die erste Fritz-Kola -item.bottle2_sunset.name=Sunset Saraparilla +item.bottle2_sunset.name=Sunset Sarsaparilla item.chocolate_milk.name=Schokomilch item.cap_nuka.name=Nuka-Cola Kronkorken item.cap_quantum.name=Nuka Cola Quantum Kronkorken item.cap_sparkle.name=S~Cola Kronkorken item.cap_korl.name=Korl Kronkorken item.cap_fritz.name=Fritz-Kola Kronkorken -item.cap_sunset.name=Sunset Saraparilla Kronkorken +item.cap_sunset.name=Sunset Sarsaparilla Kronkorken item.ring_pull.name=Dosenring item.bottle_opener.name=Hbms eigener selbstgebauter Flaschenöffner diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index d72211c66..72d4f6d8f 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1318,6 +1318,9 @@ item.missile_exo.name=Exothermic Missile item.missile_doomsday.name=Doomsday Missile item.missile_taint.name=Taint-Tipped Missile item.missile_micro.name=Micro-Nuclear Missile +item.missile_bhole.name=Black Hole Missile +item.missile_schrabidium.name=Schrabidium Missile +item.missile_emp.name=EMP Missile item.missile_carrier.name=HTR-01 Carrier Rocket item.sat_mapper.name=Surface Mapping Satellite @@ -1531,14 +1534,14 @@ item.bottle2_korl.name=Korl item.bottle2_fritz.name=Fritz Cola item.bottle2_korl_special.name=The First Korl item.bottle2_fritz_special.name=The First Fritz Cola -item.bottle2_sunset.name=Sunset Saraparilla +item.bottle2_sunset.name=Sunset Sarsaparilla item.chocolate_milk.name=Chocolate Milk item.cap_nuka.name=Nuka Cola Bottle Cap item.cap_quantum.name=Nuka Cola Quantum Bottle Cap item.cap_sparkle.name=S~Cola Bottle Cap item.cap_korl.name=Korl Bottle Cap item.cap_fritz.name=Fritz Cola Bottle Cap -item.cap_sunset.name=Sunset Saraparilla Bottle Cap +item.cap_sunset.name=Sunset Sarsaparilla Bottle Cap item.ring_pull.name=Ring Pull item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener diff --git a/assets/hbm/textures/gui/centrifuge.png b/assets/hbm/textures/gui/centrifuge.png index 04d90340a..36d371254 100644 Binary files a/assets/hbm/textures/gui/centrifuge.png and b/assets/hbm/textures/gui/centrifuge.png differ diff --git a/assets/hbm/textures/items/missile_bhole.png b/assets/hbm/textures/items/missile_bhole.png new file mode 100644 index 000000000..0b22e43d0 Binary files /dev/null and b/assets/hbm/textures/items/missile_bhole.png differ diff --git a/assets/hbm/textures/items/missile_emp.png b/assets/hbm/textures/items/missile_emp.png new file mode 100644 index 000000000..1517e7bf3 Binary files /dev/null and b/assets/hbm/textures/items/missile_emp.png differ diff --git a/assets/hbm/textures/items/missile_schrabidium.png b/assets/hbm/textures/items/missile_schrabidium.png new file mode 100644 index 000000000..2c28aa187 Binary files /dev/null and b/assets/hbm/textures/items/missile_schrabidium.png differ diff --git a/assets/hbm/textures/models/missileMicroBHole.png b/assets/hbm/textures/models/missileMicroBHole.png new file mode 100644 index 000000000..f76cc8c55 Binary files /dev/null and b/assets/hbm/textures/models/missileMicroBHole.png differ diff --git a/assets/hbm/textures/models/missileMicroEMP.png b/assets/hbm/textures/models/missileMicroEMP.png new file mode 100644 index 000000000..43135573a Binary files /dev/null and b/assets/hbm/textures/models/missileMicroEMP.png differ diff --git a/assets/hbm/textures/models/missileMicroSchrab.png b/assets/hbm/textures/models/missileMicroSchrab.png new file mode 100644 index 000000000..e367ddd62 Binary files /dev/null and b/assets/hbm/textures/models/missileMicroSchrab.png differ diff --git a/com/hbm/entity/grenade/EntityGrenadeASchrab.java b/com/hbm/entity/grenade/EntityGrenadeASchrab.java index bccd8e44a..7a3091fc1 100644 --- a/com/hbm/entity/grenade/EntityGrenadeASchrab.java +++ b/com/hbm/entity/grenade/EntityGrenadeASchrab.java @@ -46,6 +46,8 @@ public class EntityGrenadeASchrab extends EntityGrenadeBase { cloud.posY = this.posY; cloud.posZ = this.posZ; this.worldObj.spawnEntityInWorld(cloud); + + this.setDead(); } } } diff --git a/com/hbm/entity/missile/EntityMissileSchrabidium.java b/com/hbm/entity/missile/EntityMissileSchrabidium.java index ba5e56566..5e6e566b9 100644 --- a/com/hbm/entity/missile/EntityMissileSchrabidium.java +++ b/com/hbm/entity/missile/EntityMissileSchrabidium.java @@ -65,7 +65,7 @@ public class EntityMissileSchrabidium extends EntityMissileBaseAdvanced { @Override public ItemStack getDebrisRareDrop() { - return new ItemStack(ModItems.grenade_aschrab, 1); + return new ItemStack(ModItems.powder_schrabidium, 1); } @Override diff --git a/com/hbm/entity/projectile/EntityBullet.java b/com/hbm/entity/projectile/EntityBullet.java index 1875acef2..d3a9bc954 100644 --- a/com/hbm/entity/projectile/EntityBullet.java +++ b/com/hbm/entity/projectile/EntityBullet.java @@ -32,6 +32,7 @@ import net.minecraft.world.World; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.RedBarrel; import com.hbm.entity.grenade.EntityGrenadeTau; +import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.particle.EntityBSmokeFX; import com.hbm.items.ModItems; @@ -582,7 +583,7 @@ public class EntityBullet extends Entity implements IProjectile { ; } } else { - if (movingobjectposition.entityHit instanceof EntityLivingBase) { + if (movingobjectposition.entityHit instanceof EntityLivingBase && !(movingobjectposition.entityHit instanceof EntityHunterChopper)) { EntityLivingBase target = (EntityLivingBase) movingobjectposition.entityHit; target.setHealth((float) (target.getHealth() - damage)); } diff --git a/com/hbm/items/tool/ItemSatInterface.java b/com/hbm/items/tool/ItemSatInterface.java index 895d182e9..bbedf92ab 100644 --- a/com/hbm/items/tool/ItemSatInterface.java +++ b/com/hbm/items/tool/ItemSatInterface.java @@ -3,6 +3,8 @@ package com.hbm.items.tool; import com.hbm.inventory.gui.GUIScreenSatInterface; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.SatPanelPacket; import com.hbm.saveddata.SatelliteSavedData; import net.minecraft.entity.Entity; @@ -29,7 +31,10 @@ public class ItemSatInterface extends ItemSatChip { if(!world.isRemote) { SatelliteSavedData data = (SatelliteSavedData)entity.worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - satData = data; + + for(int j = 0; j < data.satellites.size(); j++) { + PacketDispatcher.wrapper.sendToAll(new SatPanelPacket(data.satellites.get(j))); + } } } diff --git a/com/hbm/items/weapon/ItemClip.java b/com/hbm/items/weapon/ItemClip.java index 77f93b489..360fd9d82 100644 --- a/com/hbm/items/weapon/ItemClip.java +++ b/com/hbm/items/weapon/ItemClip.java @@ -300,12 +300,18 @@ public class ItemClip extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_bf_ammo, 1)); if(player.inventory.hasItem(ModItems.gun_mp40)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_mp40_ammo, 32)); + if(player.inventory.hasItem(ModItems.gun_uzi)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_uzi_ammo, 32)); + if(player.inventory.hasItem(ModItems.gun_uzi_silencer)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_uzi_ammo, 32)); if(player.inventory.hasItem(ModItems.gun_uboinik)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_uboinik_ammo, 12)); if(player.inventory.hasItem(ModItems.gun_lever_action)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action_ammo, 12)); if(player.inventory.hasItem(ModItems.gun_lever_action_dark)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action_ammo, 12)); + if(player.inventory.hasItem(ModItems.gun_lever_action_sonata)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action_ammo, 1)); if(player.inventory.hasItem(ModItems.gun_bolt_action)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_bolt_action_ammo, 12)); if(player.inventory.hasItem(ModItems.gun_bolt_action_green)) @@ -328,6 +334,8 @@ public class ItemClip extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_emp_ammo, 8)); if(player.inventory.hasItem(ModItems.gun_revolver_inverted)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_ammo, 1)); + if(player.inventory.hasItem(ModItems.gun_revolver_inverted)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_ammo, 1)); if(player.inventory.hasItem(ModItems.gun_jack)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_jack_ammo, 3)); if(player.inventory.hasItem(ModItems.gun_spark)) diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 5da3c4b2b..c03a41d24 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 (2835)"; + public static final String VERSION = "1.0.27 BETA (2855)"; //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 5c0fe5dd4..5d8b77d74 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -516,6 +516,10 @@ public class CraftingManager { //GameRegistry.addRecipe(new ItemStack(ModItems.missile_exo, 1), new Object[] { "W", "T", "M", 'W', ModItems.warhead_thermo_exo, 'T', ModItems.fuel_tank_large, 'M', ModItems.thruster_large }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.gun_fatman_ammo }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_aschrab }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_sas3, ModItems.circuit_targeting_tier4 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb, ModItems.circuit_targeting_tier3 }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "AHA", "TCT", "TPT", 'T', "plateIron", 'A', "plateAluminum", 'S', "plateSteel", 'C', "ingotCopper", 'P', Item.getItemFromBlock(Blocks.piston), 'H', Item.getItemFromBlock(Blocks.hopper) })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1), new Object[] { " T ", "RDR", "RSR", 'S', "plateSteel", 'T', ModItems.centrifuge_tower, 'W', ModItems.coil_tungsten, 'R', ModItems.coil_copper, 'D', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); @@ -813,6 +817,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle2_fritz, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, ModItems.powder_tungsten }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle2_korl_special, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, ModItems.powder_copper, ModItems.powder_strontium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle2_fritz_special, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, ModItems.powder_tungsten, ModItems.powder_thorium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle2_sunset, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, ModItems.powder_gold }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.syringe_empty, 6), new Object[] { "P", "C", "B", 'B', Item.getItemFromBlock(Blocks.iron_bars), 'C', ModItems.cell_empty, 'P', "plateIron" })); GameRegistry.addRecipe(new ItemStack(ModItems.syringe_antidote, 6), new Object[] { "SSS", "PMP", "SSS", 'S', ModItems.syringe_empty, 'P', Items.pumpkin_seeds, 'M', Items.milk_bucket }); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index d4edf3ca0..5cf056b22 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -249,4 +249,7 @@ public class ResourceManager { public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicro.png"); public static final ResourceLocation missileCarrier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileCarrier.png"); public static final ResourceLocation missileBooster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileBooster.png"); + public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroBHole.png"); + public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroSchrab.png"); + public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroEMP.png"); } diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index a87233730..88ee8c2d0 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -67,6 +67,8 @@ public class PacketDispatcher { wrapper.registerMessage(AuxButtonPacket.Handler.class, AuxButtonPacket.class, i++, Side.SERVER); //Siren packet for looped sounds 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); } } diff --git a/com/hbm/packet/SatPanelPacket.java b/com/hbm/packet/SatPanelPacket.java new file mode 100644 index 000000000..c1a338971 --- /dev/null +++ b/com/hbm/packet/SatPanelPacket.java @@ -0,0 +1,78 @@ +package com.hbm.packet; + +import com.hbm.items.tool.ItemSatInterface; +import com.hbm.saveddata.SatelliteSaveStructure; +import com.hbm.saveddata.SatelliteSaveStructure.SatelliteType; +import com.hbm.saveddata.SatelliteSavedData; +import com.hbm.tileentity.machine.TileEntityMachineRadar; + +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 cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; + +public class SatPanelPacket implements IMessage { + + int id; + int dim; + SatelliteType type; + long lastOp; + + public SatPanelPacket() { + + } + + public SatPanelPacket(SatelliteSaveStructure sat) { + id = sat.satelliteID; + dim = sat.satDim; + type = sat.satelliteType; + lastOp = sat.lastOp; + } + + @Override + public void fromBytes(ByteBuf buf) { + id = buf.readInt(); + dim = buf.readInt(); + type = SatelliteType.getEnum(buf.readInt()); + lastOp = buf.readLong(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(id); + buf.writeInt(dim); + buf.writeInt(type.getID()); + buf.writeLong(lastOp); + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(SatPanelPacket m, MessageContext ctx) { + + EntityPlayer p = Minecraft.getMinecraft().thePlayer; + + try { + + if(ItemSatInterface.satData == null) { + ItemSatInterface.satData = new SatelliteSavedData(p.worldObj); + } + + SatelliteSaveStructure sat = new SatelliteSaveStructure(m.id, m.type, m.dim); + sat.lastOp = m.lastOp; + ItemSatInterface.satData.satellites.add(sat); + + ItemSatInterface.satData.satCount = ItemSatInterface.satData.satellites.size(); + + } catch (Exception x) { + } + return null; + } + } +} diff --git a/com/hbm/render/entity/RenderMissileTaint.java b/com/hbm/render/entity/RenderMissileTaint.java index 155419052..598f5deba 100644 --- a/com/hbm/render/entity/RenderMissileTaint.java +++ b/com/hbm/render/entity/RenderMissileTaint.java @@ -2,6 +2,9 @@ package com.hbm.render.entity; import org.lwjgl.opengl.GL11; +import com.hbm.entity.missile.EntityMissileBHole; +import com.hbm.entity.missile.EntityMissileEMP; +import com.hbm.entity.missile.EntityMissileSchrabidium; import com.hbm.entity.missile.EntityMissileTaint; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; @@ -37,6 +40,12 @@ public class RenderMissileTaint extends Render { protected ResourceLocation getEntityTexture(Entity p_110775_1_) { if(p_110775_1_ instanceof EntityMissileTaint) return ResourceManager.missileTaint_tex; + if(p_110775_1_ instanceof EntityMissileBHole) + return ResourceManager.missileMicroBHole_tex; + if(p_110775_1_ instanceof EntityMissileSchrabidium) + return ResourceManager.missileMicroSchrab_tex; + if(p_110775_1_ instanceof EntityMissileEMP) + return ResourceManager.missileMicroEMP_tex; return ResourceManager.missileMicro_tex; } diff --git a/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/com/hbm/render/tileentity/RenderLaunchPadTier1.java index 2b40bdd24..b900a558b 100644 --- a/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ b/com/hbm/render/tileentity/RenderLaunchPadTier1.java @@ -196,19 +196,19 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { if(state == 22) { GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicro_tex); + bindTexture(ResourceManager.missileMicroBHole_tex); ResourceManager.missileTaint.renderAll(); } if(state == 23) { GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicro_tex); + bindTexture(ResourceManager.missileMicroSchrab_tex); ResourceManager.missileTaint.renderAll(); } if(state == 24) { GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicro_tex); + bindTexture(ResourceManager.missileMicroEMP_tex); ResourceManager.missileTaint.renderAll(); }