diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index cca1edc95..96dba76af 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -489,6 +489,9 @@ tile.machine_rtg_cyan.name=Schrabidium-Zerfallsenergie-Generator (WIP) tile.machine_rtg_blue.name=Konvektionsgenerator tile.machine_rtg_purple.name=Paarvernichtungsgenerator +tile.machine_waste_drum.name=Abklingbecken-Trommel +container.wasteDrum=Abklingbecken-Trommel + tile.machine_spp_bottom.name=NPE-Potentialgenerator (Unterteil) tile.machine_spp_top.name=NPE-Potentialgenerator (Oberteil) @@ -598,6 +601,8 @@ item.plate_saturnite.name=Saturnitplatte item.solid_fuel.name=Festbrennstoff +item.nugget_th232.name=Th232-Nugget +item.nugget_u233.name=U233-Nugget item.nugget_u235.name=U235-Nugget item.nugget_u238.name=U238-Nugget item.nugget_pu238.name=Pu238-Nugget @@ -669,6 +674,7 @@ tile.block_sulfur.name=Schwefelblock tile.block_titanium.name=Titanblock tile.block_tungsten.name=Wolframblock tile.block_uranium.name=Uranblock +tile.block_thorium.name=Thoriumblock tile.block_trinitite.name=Trinititblock tile.block_beryllium.name=Berylliumblock tile.block_waste.name=Atommüllblock @@ -694,6 +700,7 @@ tile.ore_sulfur.name=Schwefelerz tile.ore_titanium.name=Titanerz tile.ore_tungsten.name=Wolframerz tile.ore_uranium.name=Uranerz +tile.ore_thorium.name=Thoriumerz tile.ore_schrabidium.name=Schrabidiumerz tile.ore_beryllium.name=Berylliumerz @@ -995,7 +1002,9 @@ item.fluid_barrel_full.name=Flüssigkeitsfass: item.fluid_barrel_infinite.name=Unendliches Fass item.rod_empty.name=Leerer Brennstab +item.rod_th232.name=Th232-Brennstab item.rod_uranium.name=Uranbrennstab +item.rod_u233.name=U233-Brennstab item.rod_u235.name=U235-Brennstab item.rod_u238.name=U238-Brennstab item.rod_plutonium.name=Plutoniumbrennstab @@ -1015,7 +1024,9 @@ item.rod_daffergon.name=Daffergonbrennstab item.rod_verticium.name=Verticiumbrennstab item.rod_dual_empty.name=Leerer Doppelbrennstab +item.rod_dual_th232.name=Th232-Doppelbrennstab item.rod_dual_uranium.name=Urandoppelbrennstab +item.rod_dual_u233.name=U233-Doppelbrennstab item.rod_dual_u235.name=U235-Doppelbrennstab item.rod_dual_u238.name=U238-Doppelbrennstab item.rod_dual_plutonium.name=Plutoniumdoppelbrennstab @@ -1028,7 +1039,9 @@ item.rod_dual_schrabidium.name=Sa326-Doppelbrennstab item.rod_dual_solinium.name=Sa327-Doppelbrennstab item.rod_quad_empty.name=Leerer Vierfachbrennstab +item.rod_quad_th232.name=Th232-Vierfachbrennstab item.rod_quad_uranium.name=Uranvierfachbrennstab +item.rod_quad_u233.name=U233-Vierfachbrennstab item.rod_quad_u235.name=U235-Vierfachbrennstab item.rod_quad_u238.name=U238-Vierfachbrennstab item.rod_quad_plutonium.name=Plutoniumvierfachbrennstab @@ -1043,6 +1056,9 @@ item.rod_quad_solinium.name=Sa327-Vierfachbrennstab item.rod_uranium_fuel_depleted.name=Erschöpfte Urankernbrennstoffzelle item.rod_dual_uranium_fuel_depleted.name=Erschöpfte Urandoppelkernbrennstoffzelle item.rod_quad_uranium_fuel_depleted.name=Erschöpfte Uranvierfachkernbrennstoffzelle +item.rod_thorium_fuel_depleted.name=Erschöpfte Thoriumkernbrennstoffzelle +item.rod_dual_thorium_fuel_depleted.name=Erschöpfte Thoriumdoppelkernbrennstoffzelle +item.rod_quad_thorium_fuel_depleted.name=Erschöpfte Thoriumvierfachkernbrennstoffzelle item.rod_plutonium_fuel_depleted.name=Erschöpfte Plutoniumkernbrennstoffzelle item.rod_dual_plutonium_fuel_depleted.name=Erschöpfte Plutoniumdoppelkernbrennstoffzelle item.rod_quad_plutonium_fuel_depleted.name=Erschöpfte Plutoniumvierfachkernbrennstoffzelle @@ -1107,6 +1123,7 @@ tile.waste_planks.name=Verkohlte Holzbretter item.trinitite.name=Trinitit item.nuclear_waste.name=Atommüll +item.nuclear_waste_tiny.name=Kleiner Haufen Atommüll item.waste_uranium.name=Erschöpfter Urankernbrennstoff item.waste_thorium.name=Erschöpfter Thoriumkernbrennstoff item.waste_plutonium.name=Erschöpfter Plutoniumkernbrennstoff @@ -1126,6 +1143,7 @@ item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren item.ingot_schrabidium_fuel.name=Schrabidiumkernbrennstoffbarren item.nugget_uranium_fuel.name=Urankernbrennstoffnugget +item.nugget_thorium_fuel.name=Thoriumkernbrennstoffnugget item.nugget_plutonium_fuel.name=Plutoniumkernbrennstoffnugget item.nugget_mox_fuel.name=MOX-Kernbrennstoffnugget item.nugget_schrabidium_fuel.name=Schrabidiumkernbrennstoffnugget @@ -1177,6 +1195,9 @@ item.grenade_if_null.name=IF - Null-Granate item.rod_uranium_fuel.name=Urankernbrennstoffzelle item.rod_dual_uranium_fuel.name=Doppelte Urankernbrennstoffzelle item.rod_quad_uranium_fuel.name=Vierfache Urankernbrennstoffzelle +item.rod_thorium_fuel.name=Thoriumkernbrennstoffzelle +item.rod_dual_thorium_fuel.name=Doppelte Thoriumkernbrennstoffzelle +item.rod_quad_thorium_fuel.name=Vierfache Thoriumkernbrennstoffzelle item.rod_plutonium_fuel.name=Plutoniumkernbrennstoffzelle item.rod_dual_plutonium_fuel.name=Doppelte Plutoniumkernbrennstoffzelle item.rod_quad_plutonium_fuel.name=Vierfache Plutoniumkernbrennstoffzelle @@ -1358,6 +1379,7 @@ item.clip_emp.name=Magnetsteifen mit Energiezellen item.clip_revolver_nightmare.name=Sack voll Kugeln item.clip_revolver_nightmare2.name=Munitionsgürtel mit Laserschrot item.clip_revolver_pip.name=Speedloader mit verdorbenen Patronen +item.clip_revolver_nopip.name=.44 Magnum Patronen item.clip_stinger.name=Dreierpack Stinger-Raketen item.clip_jack.name=12x70 Vierfache Schrotpatronenbox item.clip_spark.name=Große Elektromagnetische Katusche @@ -1679,6 +1701,11 @@ tile.vent_chlorine.name=Chlorgas-Auslass tile.vent_cloud.name=Wolken-Auslass tile.vent_pink_cloud.name=Pinker Wolken-Auslass +tile.absorber.name=Strahlungs-Absorber +tile.absorber_red.name=Verbesserter Strahlungs-Absorber +tile.absorber_green.name=Fortgeschrittener Strahlungs-Absorber +tile.absorber_pink.name=Elite Strahlungs-Absorber + item.schrabidium_hammer.name=Schrabidiumhammer item.shimmer_sledge.name=Shimmer Sledge item.shimmer_axe.name=Shimmer Axe diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index fff2093f3..3e98defc0 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -489,6 +489,9 @@ tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) tile.machine_rtg_blue.name=Convection Generator tile.machine_rtg_purple.name=Antimatter Annihilation Generator +tile.machine_waste_drum.name=Spent Fuel Pool Drum +container.wasteDrum=Spent Fuel Pool Drum + tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) tile.machine_spp_top.name=ZPE Potential Generator (Top) @@ -598,6 +601,8 @@ item.plate_saturnite.name=Saturnite Plate item.solid_fuel.name=Solid Fuel +item.nugget_th232.name=Th232 Nugget +item.nugget_u233.name=U233 Nugget item.nugget_u235.name=U235 Nugget item.nugget_u238.name=U238 Nugget item.nugget_pu238.name=Pu238 Nugget @@ -669,6 +674,7 @@ tile.block_sulfur.name=Block of Sulfur tile.block_titanium.name=Block of Titanium tile.block_tungsten.name=Block of Tungsten tile.block_uranium.name=Block of Uranium +tile.block_thorium.name=Block of Thorium tile.block_trinitite.name=Block of Trinitite tile.block_beryllium.name=Block of Beryllium tile.block_waste.name=Block of Nuclear Waste @@ -694,6 +700,7 @@ tile.ore_sulfur.name=Sulfur Ore tile.ore_titanium.name=Titanium Ore tile.ore_tungsten.name=Tungsten Ore tile.ore_uranium.name=Uranium Ore +tile.ore_thorium.name=Thorium Ore tile.ore_schrabidium.name=Schrabidium Ore tile.ore_beryllium.name=Beryllium Ore @@ -995,7 +1002,9 @@ item.fluid_barrel_full.name=Fluid Barrel: item.fluid_barrel_infinite.name=Infinite Fluid Barrel item.rod_empty.name=Empty Rod +item.rod_th232.name=Th232 Rod item.rod_uranium.name=Uranium Rod +item.rod_u233.name=U233 Rod item.rod_u235.name=U235 Rod item.rod_u238.name=U238 Rod item.rod_plutonium.name=Plutonium Rod @@ -1015,7 +1024,9 @@ item.rod_daffergon.name=Daffergon Rod item.rod_verticium.name=Verticium Rod item.rod_dual_empty.name=Empty Dual Rod +item.rod_dual_th232.name=Th232 Dual Rod item.rod_dual_uranium.name=Uranium Dual Fuel Rod +item.rod_dual_u233.name=U233 Dual Rod item.rod_dual_u235.name=U235 Dual Rod item.rod_dual_u238.name=U238 Dual Rod item.rod_dual_plutonium.name=Plutonium Dual Rod @@ -1028,7 +1039,9 @@ item.rod_dual_schrabidium.name=Sa326 Dual Rod item.rod_dual_solinium.name=Sa327 Dual Rod item.rod_quad_empty.name=Empty Quad Rod +item.rod_quad_th232.name=Th232 Quad Rod item.rod_quad_uranium.name=Uranium Quad Rod +item.rod_quad_u233.name=U233 Quad Rod item.rod_quad_u235.name=U235 Quad Rod item.rod_quad_u238.name=U238 Quad Rod item.rod_quad_plutonium.name=Plutonium Quad Rod @@ -1043,6 +1056,9 @@ item.rod_quad_solinium.name=Sa327 Quad Rod item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod +item.rod_thorium_fuel_depleted.name=Depleted Thorium Fuel Rod +item.rod_dual_thorium_fuel_depleted.name=Depleted Thorium Dual Fuel Rod +item.rod_quad_thorium_fuel_depleted.name=Depleted Thorium Quad Fuel Rod item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod @@ -1107,6 +1123,7 @@ tile.waste_planks.name=Charred Wooden Planks item.trinitite.name=Trinitite item.nuclear_waste.name=Nuclear Waste +item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste item.waste_uranium.name=Depleted Uranium Fuel item.waste_thorium.name=Depleted Thorium Fuel item.waste_plutonium.name=Depleted Plutonium Fuel @@ -1126,6 +1143,7 @@ item.ingot_mox_fuel.name=Ingot of MOX Fuel item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel item.nugget_uranium_fuel.name=Nugget of Uranium Fuel +item.nugget_thorium_fuel.name=Nugget of Thorium Fuel item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel item.nugget_mox_fuel.name=Nugget of MOX Fuel item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel @@ -1177,6 +1195,9 @@ item.grenade_if_null.name=IF - Null Grenade item.rod_uranium_fuel.name=Uranium Fuel Rod item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod +item.rod_thorium_fuel.name=Thorium Fuel Rod +item.rod_dual_thorium_fuel.name=Thorium Dual Fuel Rod +item.rod_quad_thorium_fuel.name=Thorium Quad Fuel Rod item.rod_plutonium_fuel.name=Plutonium Fuel Rod item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod @@ -1358,6 +1379,7 @@ item.clip_emp.name=Small Pack of Energy Cells item.clip_revolver_nightmare.name=Bag of Bullets item.clip_revolver_nightmare2.name=Belt with Laser Buckshot item.clip_revolver_pip.name=Speedloader with Tainted Bullets +item.clip_revolver_nopip.name=Box of .44 Rounds item.clip_stinger.name=Pack of Stinger Rockets item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds item.clip_spark.name=Large Electromagnetic Cartridge @@ -1679,6 +1701,11 @@ tile.vent_chlorine.name=Chlorine Vent tile.vent_cloud.name=Cloud Vent tile.vent_pink_cloud.name=Pink Cloud Vent +tile.absorber.name=Radiation Absorber +tile.absorber_red.name=Enhanced Radiation Absorber +tile.absorber_green.name=Advanced Radiation Absorber +tile.absorber_pink.name=Elite Radiation Absorber + item.schrabidium_hammer.name=Schrabidium Hammer item.shimmer_sledge.name=Shimmer Sledge item.shimmer_axe.name=Shimmer Axe diff --git a/assets/hbm/textures/items/folly_bullet.png b/assets/hbm/textures/items/folly_bullet.png new file mode 100644 index 000000000..10d877115 Binary files /dev/null and b/assets/hbm/textures/items/folly_bullet.png differ diff --git a/assets/hbm/textures/items/folly_shell.png b/assets/hbm/textures/items/folly_shell.png new file mode 100644 index 000000000..4f07e46a1 Binary files /dev/null and b/assets/hbm/textures/items/folly_shell.png differ diff --git a/assets/hbm/textures/items/gun_folly_ammo.png b/assets/hbm/textures/items/gun_folly_ammo.png new file mode 100644 index 000000000..47c65ad3d Binary files /dev/null and b/assets/hbm/textures/items/gun_folly_ammo.png differ diff --git a/assets/hbm/textures/models/TsarBomba.png b/assets/hbm/textures/models/TsarBomba.png index d1b8db01c..ff12919c1 100644 Binary files a/assets/hbm/textures/models/TsarBomba.png and b/assets/hbm/textures/models/TsarBomba.png differ diff --git a/com/hbm/blocks/fluid/ToxicBlock.java b/com/hbm/blocks/fluid/ToxicBlock.java index da4dc3c50..168df42cd 100644 --- a/com/hbm/blocks/fluid/ToxicBlock.java +++ b/com/hbm/blocks/fluid/ToxicBlock.java @@ -120,17 +120,17 @@ public class ToxicBlock extends BlockFluidClassic { super.onNeighborBlockChange(world, x, y, z, block); if(reactToBlocks(world, x + 1, y, z)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); if(reactToBlocks(world, x - 1, y, z)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); if(reactToBlocks(world, x, y + 1, z)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); if(reactToBlocks(world, x, y - 1, z)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); if(reactToBlocks(world, x, y, z + 1)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); if(reactToBlocks(world, x, y, z - 1)) - world.setBlock(x, y, z, ModBlocks.sellafield_0); + world.setBlock(x, y, z, ModBlocks.sellafield_slaked); } public boolean reactToBlocks(World world, int x, int y, int z) { diff --git a/com/hbm/entity/projectile/EntityBulletBase.java b/com/hbm/entity/projectile/EntityBulletBase.java new file mode 100644 index 000000000..0b20a6151 --- /dev/null +++ b/com/hbm/entity/projectile/EntityBulletBase.java @@ -0,0 +1,39 @@ +package com.hbm.entity.projectile; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.IProjectile; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityBulletBase extends Entity implements IProjectile { + + public EntityBulletBase(World p_i1582_1_) { + super(p_i1582_1_); + } + + @Override + public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, + float p_70186_8_) { + // TODO Auto-generated method stub + + } + + @Override + protected void entityInit() { + // TODO Auto-generated method stub + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + // TODO Auto-generated method stub + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + // TODO Auto-generated method stub + + } + +} diff --git a/com/hbm/handler/BulletConfiguration.java b/com/hbm/handler/BulletConfiguration.java index 5754d8420..7637aaea2 100644 --- a/com/hbm/handler/BulletConfiguration.java +++ b/com/hbm/handler/BulletConfiguration.java @@ -4,6 +4,21 @@ import net.minecraft.item.Item; public class BulletConfiguration { + //what item this specific configuration consumes public Item ammo; + + //damage bounds + public float dmgMin; + public float dmgMax; + + //whether the projectile should be able to bounce off of blocks + public boolean doesRicochet; + //the maximum angle at which the projectile should bounce + public double ricochetAngle; + + //whether or not the bullet should penetrate mobs + public boolean doesPenetrate; + //whether or not the bullet should break glass + public boolean doesBreakGlass; } diff --git a/com/hbm/handler/GunConfiguration.java b/com/hbm/handler/GunConfiguration.java index 8c043d9dd..d3195c52f 100644 --- a/com/hbm/handler/GunConfiguration.java +++ b/com/hbm/handler/GunConfiguration.java @@ -6,22 +6,25 @@ public class GunConfiguration { //amount of ticks between each bullet public int rateOfFire; - public int rateOfFireAlt; //greatest amount of pellets created each shot public int bulletsMin; - public int bulletsMinAlt; //least amount of pellets created each shot public int bulletsMax; - public int bulletsMaxAlt; //0 = normal, 1 = release, 2 = both public int gunMode; //0 = manual, 1 = automatic public int firingMode; + //spread of bullets in gaussian range + public float spread; //whether or not there is a reload delay animation public boolean hasReloadAnim; //whether or not there is a firing delay with animation public boolean hasFiringAnim; + //whether there is a warmup duration for spinup + public boolean hasSpinup; + //whether there is a cooldown duration for spindown + public boolean hasSpindown; //how long the reload animation will play public int reloadDuration; @@ -32,8 +35,10 @@ public class GunConfiguration { public int ammoCap; //0 does not allow direct reload, 1 is full clip, 2 is single bullet public int reloadType; + //whether or not the infinity enchantment should work + public boolean allowsInfinity; - public List bConfig; - public List altConfig; + //bullet configs for main and alt fire + public List config; } diff --git a/com/hbm/items/special/ItemBattery.java b/com/hbm/items/special/ItemBattery.java index 72a6b0cb9..4d2f97cfd 100644 --- a/com/hbm/items/special/ItemBattery.java +++ b/com/hbm/items/special/ItemBattery.java @@ -74,7 +74,7 @@ public class ItemBattery extends Item { return EnumRarity.common; } - public void chargeBattery(ItemStack stack, int i) { + public void chargeBattery(ItemStack stack, long i) { if(stack.getItem() instanceof ItemBattery) { if(stack.hasTagCompound()) { stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") + i); @@ -85,7 +85,7 @@ public class ItemBattery extends Item { } } - public void setCharge(ItemStack stack, int i) { + public void setCharge(ItemStack stack, long i) { if(stack.getItem() instanceof ItemBattery) { if(stack.hasTagCompound()) { stack.stackTagCompound.setLong("charge", i); @@ -96,7 +96,7 @@ public class ItemBattery extends Item { } } - public void dischargeBattery(ItemStack stack, int i) { + public void dischargeBattery(ItemStack stack, long i) { if(stack.getItem() instanceof ItemBattery) { if(stack.hasTagCompound()) { stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") - i); diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index 450b44ecd..51cf9da9e 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -674,19 +674,6 @@ public class ItemCustomLore extends ItemRadioactive { if(this == ModItems.key_red) { if(MainRegistry.polaroidID == 11) { - list.add("ard lock is ~10%5Success ra"); - list.add("Antimatter +15"); - list.add("ced resource scanner.27Production x4 / Co"); - list.add("this == ModItems.watch || this == ModI"); - list.add("list.add(\"Woo, scary!\");"); - list.add(EnumChatFormatting.OBFUSCATED + "//list.add(\"Blue horse beats yellow horse, look it up!\");"); - list.add("ion -60 / Delay +1019All hail"); - list.add("bank angle bank angle bank angle"); - list.add("'M"); - list.add(""); - list.add("bank angle bank angle bank angle"); - list.add("bank angle bank angle bank angle"); - list.add(""); list.add(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "e"); } else { list.add("Explore the other side."); diff --git a/com/hbm/items/weapon/GunLacunae.java b/com/hbm/items/weapon/GunLacunae.java index 8e77d3ba4..8aca078a1 100644 --- a/com/hbm/items/weapon/GunLacunae.java +++ b/com/hbm/items/weapon/GunLacunae.java @@ -7,6 +7,7 @@ import com.google.common.collect.Multimap; import com.hbm.entity.projectile.EntityBullet; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -17,6 +18,7 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.player.ArrowNockEvent; @@ -31,7 +33,7 @@ public class GunLacunae extends Item implements IHoldableWeapon { @Override public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; + return EnumAction.none; } @Override @@ -100,14 +102,28 @@ public class GunLacunae extends Item implements IHoldableWeapon { list.add("The perfect gift for the man who has everything."); if(this == ModItems.gun_avenger) list.add("Interloper! No quarter shall be shown hither, fiend!"); - if(this == ModItems.gun_lacunae) - list.add("Auntie Lacunae to the rescue!"); + + if(this == ModItems.gun_lacunae) { + list.add("Whoa, wait, what's that sound? Do you hear that?"); + list.add("I think that's silence! That's the sound people make"); + list.add("when everyone trying to kill me is dead!"); + list.add("And I have a minigun!"); + } list.add(""); list.add("Ammo: 5mm Round"); list.add("Damage: 5"); } + public String getItemStackDisplayName(ItemStack stack) + { + + if(this == ModItems.gun_lacunae && MainRegistry.polaroidID == 11) + return "CZ97 Lacunae"; + + return super.getItemStackDisplayName(stack); + } + @Override public Multimap getItemAttributeModifiers() { Multimap multimap = super.getItemAttributeModifiers(); diff --git a/com/hbm/items/weapon/GunRevolver.java b/com/hbm/items/weapon/GunRevolver.java index 295c7ae04..390ceb33b 100644 --- a/com/hbm/items/weapon/GunRevolver.java +++ b/com/hbm/items/weapon/GunRevolver.java @@ -278,7 +278,9 @@ public class GunRevolver extends Item { list.add("Damage: 25 - 35"); } if (this == ModItems.gun_revolver_blackjack) { - list.add("Hol on-"); + list.add("Contents under pressure."); + list.add("Extremely volatile."); + list.add("Handle with care!"); list.add(""); list.add("Ammo: .44 Magnum"); list.add("Damage: 35 - 45"); diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index d43c8c652..03c86688b 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -1,9 +1,193 @@ package com.hbm.items.weapon; +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; + +import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IHoldableWeapon; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class ItemGunBase extends Item implements IHoldableWeapon { + private GunConfiguration mainConfig; + private GunConfiguration altConfig; + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + return stack; + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) { + + if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) { + + boolean left = getIsMouseDown(stack); + boolean right = getIsAltDown(stack); + + if(left && right) { + //TODO: stop both with packet + setIsMouseDown(stack, false); + setIsAltDown(stack, false); + } + + if(!left && !right) { + if(Mouse.isButtonDown(0)) { + //TODO: start with packet + setIsMouseDown(stack, true); + } else if(Mouse.isButtonDown(0)) { + //TODO: start with packet + setIsAltDown(stack, true); + } + } + + if(left && !Mouse.isButtonDown(0)) { + //TODO: stop with packet + setIsMouseDown(stack, false); + } + + if(right && !Mouse.isButtonDown(1)) { + //TODO: stop with packet + setIsAltDown(stack, false); + } + + if(mainConfig.reloadType != 0 || (altConfig != null && altConfig.reloadType != 0)) { + + if(Keyboard.isKeyDown(Keyboard.KEY_R)) { + + } + //TODO: reload with packet + } + + } else { + + } + + } + + //called every time the gun shoots + private void fire(ItemStack stack, World world, EntityPlayer player) { + + } + + //called on right click + private void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { + + } + + //called on right click release + private void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { + + } + + //reload action, if existent + private void reload(ItemStack stack, World world, EntityPlayer player) { + + } + + //item mouseover text + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + } + + /// if reloading routine is active /// + public static void setIsReloading(ItemStack stack, boolean b) { + writeNBT(stack, "isReloading", b ? 1 : 0); + } + + public static boolean getIsReloading(ItemStack stack) { + return readNBT(stack, "isReloading") == 1; + } + + /// if left mouse button is down /// + public static void setIsMouseDown(ItemStack stack, boolean b) { + writeNBT(stack, "isMouseDown", b ? 1 : 0); + } + + public static boolean getIsMouseDown(ItemStack stack) { + return readNBT(stack, "isMouseDown") == 1; + } + + /// if alt mouse button is down /// + public static void setIsAltDown(ItemStack stack, boolean b) { + writeNBT(stack, "isMouseDown", b ? 1 : 0); + } + + public static boolean getIsAltDown(ItemStack stack) { + return readNBT(stack, "isMouseDown") == 1; + } + + /// RoF cooldown /// + public static void setDelay(ItemStack stack, int i) { + writeNBT(stack, "dlay", i); + } + + public static int getDelay(ItemStack stack) { + return readNBT(stack, "dlay"); + } + + /// R/W cycle animation timer /// + public static void setCycleAnim(ItemStack stack, int i) { + writeNBT(stack, "cycle", i); + } + + public static int getCycleAnim(ItemStack stack) { + return readNBT(stack, "cycle"); + } + + /// R/W reload animation timer /// + public static void setReloadAnim(ItemStack stack, int i) { + writeNBT(stack, "reload", i); + } + + public static int getReloadAnim(ItemStack stack) { + return readNBT(stack, "reload"); + } + + /// magazine capacity /// + public static void setMag(ItemStack stack, int i) { + writeNBT(stack, "magazine", i); + } + + public static int getMag(ItemStack stack) { + return readNBT(stack, "magazine"); + } + + /// magazine type (int specified by index in bullet config list) /// + public static void setMagType(ItemStack stack, int i) { + writeNBT(stack, "magazineType", i); + } + + public static int getMagType(ItemStack stack) { + return readNBT(stack, "magazineType"); + } + + /// NBT utility /// + private static void writeNBT(ItemStack stack, String key, int value) { + + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + + stack.stackTagCompound.setInteger(key, value); + } + + private static int readNBT(ItemStack stack, String key) { + + if(!stack.hasTagCompound()) + return 0; + + return stack.stackTagCompound.getInteger(key); + } + } diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 503ab7c93..14776d171 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -656,13 +656,15 @@ public class Library { if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { long dR = ((ItemBattery)slots[index].getItem()).getChargeRate(); + + System.out.println(dR + ""); while(dR >= 1000000000000L) { if(power - 100000000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) { power -= 100000000000000L; dR -= 1000000000000L; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000000L); } else break; } while(dR >= 1000000000) { @@ -670,7 +672,7 @@ public class Library { { power -= 100000000000L; dR -= 1000000000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000); } else break; } while(dR >= 1000000) { @@ -678,7 +680,7 @@ public class Library { { power -= 100000000; dR -= 1000000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000); } else break; } while(dR >= 1000) { @@ -686,7 +688,7 @@ public class Library { { power -= 100000; dR -= 1000; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000); } else break; } while(dR >= 1) { @@ -768,7 +770,7 @@ public class Library { { power += 100000000000000L; dR -= 1000000000000L; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000000L); } else break; } while(dR >= 1000000000) { @@ -776,7 +778,7 @@ public class Library { { power += 100000000000L; dR -= 1000000000L; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000); } else break; } while(dR >= 1000000) { @@ -784,7 +786,7 @@ public class Library { { power += 100000000L; dR -= 1000000; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000); } else break; } while(dR >= 1000) { @@ -792,7 +794,7 @@ public class Library { { power += 100000L; dR -= 1000; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000); } else break; } while(dR >= 1) { diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index f1b73feb0..7e4a8272c 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -605,9 +605,10 @@ public class CraftingManager { //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_well), 1), new Object[] { "TPM", "GPG", "GDG", 'T', ModItems.tank_steel, 'P', ModItems.pipes_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium }); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_flare), 1), new Object[] { "UHU", "GPG", "GTG", 'U', ModItems.thermo_element, 'H', ModItems.hull_small_steel, 'G', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'T', ModItems.tank_steel }); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_refinery), 1), new Object[] { "PTP", "CTC", "WFW", 'P', "plateTitanium", 'T', ModItems.tank_steel, 'C', ModItems.coil_tungsten, 'W', ModBlocks.red_wire_coated, 'F', ModBlocks.machine_electric_furnace_off })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_iron), 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_steel), 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.safe), 1), new Object[] { "LAL", "ACA", "LAL", 'L', "plateLead", 'A', "plateAdvanced", 'C', ModBlocks.crate_steel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', "plateLead", 'A', "plateAdvanced", 'C', ModBlocks.crate_steel })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', "ingotLead", 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', "ingotIron", 'R', Blocks.furnace, 'B', "blockIron", 'P', Blocks.piston })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', "plateSteel", 'I', ModItems.plate_polymer, 'C', ModItems.circuit_copper, 'R', "dustRedstone" })); @@ -840,7 +841,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_u235, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_pu239, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.trinitite, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.nuclear_waste, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.nuclear_waste_tiny, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_gold, 16), new Object[] { " I", "GC", " P", 'I', "ingotGold", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_schrabidium, 16), new Object[] { " I ", "GCN", " P ", 'I', "ingotSchrabidium", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357, 'N', Items.nether_star })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nightmare, 16), new Object[] { " I", "GC", " P", 'I', "ingotTungsten", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); @@ -1430,6 +1431,14 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', "plateSaturnite", 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "PGP", "ICI", "PRP", 'P', "plateDesh", 'G', "paneGlass", 'I', "ingotPolymer", 'R', "blockRedstone", 'C', ModItems.circuit_targeting_tier4 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockSteel", 'I', "ingotPolymer", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_avenger, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockBeryllium", 'I', "ingotDesh", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor })); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_lacunae, 1), new Object[] { "TIT", "ILI", "PRP", 'T', ModItems.syringe_taint, 'I', ModItems.ingot_starmetal, 'L', ModItems.gun_minigun, 'P', ModItems.pellet_rtg, 'R', ModBlocks.machine_rtg_grey }); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotCopper", 'C', "dustCoal", 'P', "dustLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber_red, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotTitanium", 'C', "dustCoal", 'P', ModBlocks.absorber })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber_green, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotPolymer", 'C', ModItems.powder_desh_mix, 'P', ModBlocks.absorber_red })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.absorber_pink, 1), new Object[] { "ICI", "CPC", "ICI", 'I', ModItems.ingot_saturnite, 'C', ModItems.powder_nitan_mix, 'P', ModBlocks.absorber_green }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); diff --git a/com/hbm/packet/AuxButtonPacket.java b/com/hbm/packet/AuxButtonPacket.java index 948d66927..d722ee67d 100644 --- a/com/hbm/packet/AuxButtonPacket.java +++ b/com/hbm/packet/AuxButtonPacket.java @@ -128,49 +128,75 @@ public class AuxButtonPacket implements IMessage { if(m.id == 1) control.auto = m.value == 1; - TileEntity reac = p.worldObj.getTileEntity(control.linkX, control.linkY, control.linkZ); + if(control.linkY > -1) { + TileEntity reac = p.worldObj.getTileEntity(control.linkX, control.linkY, control.linkZ); + + if (reac instanceof TileEntityMachineReactorSmall) { + TileEntityMachineReactorSmall reactor = (TileEntityMachineReactorSmall)reac; + + System.out.println(m.id + "/" + m.value); + + if(m.id == 0) + reactor.retracting = m.value == 0; + + if(m.id == 2) { + FluidType type = FluidType.STEAM; + int fill = reactor.tanks[2].getFill(); + + switch(m.value) { + case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; + case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + } + + if(fill > reactor.tanks[2].getMaxFill()) + fill = reactor.tanks[2].getMaxFill(); + + reactor.tanks[2].setTankType(type); + reactor.tanks[2].setFill(fill); + } + } + + if (reac instanceof TileEntityMachineReactorLarge) { + TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)reac; + + if(m.id == 0) { + reactor.rods = m.value; + } + + if(m.id == 2) { + FluidType type = FluidType.STEAM; + int fill = reactor.tanks[2].getFill(); + + switch(m.value) { + case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; + case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + } + + if(fill > reactor.tanks[2].getMaxFill()) + fill = reactor.tanks[2].getMaxFill(); + + reactor.tanks[2].setTankType(type); + reactor.tanks[2].setFill(fill); + } + } + } - if (reac instanceof TileEntityMachineReactorSmall) { - TileEntityMachineReactorSmall reactor = (TileEntityMachineReactorSmall)reac; - - System.out.println(m.id + "/" + m.value); + if (te instanceof TileEntityMachineReactorLarge) { + TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te; if(m.id == 0) - reactor.retracting = m.value == 0; - - if(m.id == 2) { - FluidType type = FluidType.STEAM; - int fill = reactor.tanks[2].getFill(); - - switch(m.value) { - case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; - case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - } - - if(fill > reactor.tanks[2].getMaxFill()) - fill = reactor.tanks[2].getMaxFill(); - - reactor.tanks[2].setTankType(type); - reactor.tanks[2].setFill(fill); - } - } - - if (reac instanceof TileEntityMachineReactorLarge) { - TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)reac; - - if(m.id == 0) { reactor.rods = m.value; - } - if(m.id == 2) { + if(m.id == 1) { FluidType type = FluidType.STEAM; int fill = reactor.tanks[2].getFill(); switch(m.value) { - case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; - case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + case 0: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + case 1: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; + case 2: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; } if(fill > reactor.tanks[2].getMaxFill()) @@ -182,30 +208,6 @@ public class AuxButtonPacket implements IMessage { } } - if (te instanceof TileEntityMachineReactorLarge) { - TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te; - - if(m.id == 0) - reactor.rods = m.value; - - if(m.id == 1) { - FluidType type = FluidType.STEAM; - int fill = reactor.tanks[2].getFill(); - - switch(m.value) { - case 0: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 1: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; - } - - if(fill > reactor.tanks[2].getMaxFill()) - fill = reactor.tanks[2].getMaxFill(); - - reactor.tanks[2].setTankType(type); - reactor.tanks[2].setFill(fill); - } - } - //} catch (Exception x) { } return null; diff --git a/com/hbm/render/item/ItemRenderOverkill.java b/com/hbm/render/item/ItemRenderOverkill.java index ad4f90c16..2c8ebd669 100644 --- a/com/hbm/render/item/ItemRenderOverkill.java +++ b/com/hbm/render/item/ItemRenderOverkill.java @@ -136,8 +136,9 @@ public class ItemRenderOverkill implements IItemRenderer { if(item.getItem() == ModItems.gun_lacunae || item.getItem() == ModItems.gun_minigun || item.getItem() == ModItems.gun_avenger) { + GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(180, 0, 1, 0); - GL11.glTranslatef(0.0F, 0.3F, -0.2F); + GL11.glTranslatef(0.5F, 0.3F, -0.2F); } if(item.getItem() == ModItems.gun_jack) @@ -250,7 +251,8 @@ public class ItemRenderOverkill implements IItemRenderer { if(item.getItem() == ModItems.gun_lacunae || item.getItem() == ModItems.gun_minigun || item.getItem() == ModItems.gun_avenger) { - GL11.glRotatef(180, 0, 1, 0); + GL11.glRotatef(5.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(185, 0, 1, 0); GL11.glTranslatef(0.5F, 0.6F, 0.2F); } diff --git a/com/hbm/render/item/ItemRenderUZI.java b/com/hbm/render/item/ItemRenderUZI.java index 6aba25340..2dda25997 100644 --- a/com/hbm/render/item/ItemRenderUZI.java +++ b/com/hbm/render/item/ItemRenderUZI.java @@ -53,7 +53,9 @@ public class ItemRenderUZI implements IItemRenderer { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glScalef(0.25F, 0.25F, 0.25F); - GL11.glTranslatef(-2.2F, -0.2F, -0.9F); + GL11.glTranslatef(-2.5F, -0.5F, -0.9F); + + GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); @@ -75,17 +77,43 @@ public class ItemRenderUZI implements IItemRenderer { GL11.glPopMatrix(); break; case EQUIPPED: + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); + + GL11.glScalef(0.5F, 0.5F, 0.5F); + + GL11.glTranslatef(0.2F, -0.8F, -1.0F); + + if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); + if(item.getItem() == ModItems.gun_uzi_saturnite || item.getItem() == ModItems.gun_uzi_saturnite_silencer) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSaturnite.png")); + uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_saturnite) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziBarrel.png")); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + + if(item.getItem() == ModItems.gun_uzi_silencer || item.getItem() == ModItems.gun_uzi_saturnite_silencer) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSilencer.png")); + silencer.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + + GL11.glPopMatrix(); + break; case ENTITY: GL11.glPushMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(0.2F, -0.8F, -1.0F); + GL11.glTranslatef(0.0F, -1.0F, 0.0F); if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png"));