diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 0c28b6158..808270d94 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -537,6 +537,8 @@ item.ingot_dineutronium.name=Dineutroniumbarren item.powder_dineutronium.name=Dineutroniumstaub item.nugget_dineutronium.name=Dineutroniumnugget item.ingot_starmetal.name=Sternenmetallbarren +item.ingot_saturnite.name=Saturnitbarren +item.plate_saturnite.name=Saturnitplatte item.solid_fuel.name=Festbrennstoff @@ -1104,6 +1106,7 @@ tile.steel_scaffold.name=Stahlgerüst item.gun_revolver_iron.name=Einfacher Revolver item.gun_revolver.name=Verbesserter Revolver +item.gun_revolver_saturnite.name=Saturnitknarre item.gun_revolver_gold.name=Goldener Revolver item.gun_revolver_lead.name=Nuka-Revolver item.gun_revolver_schrabidium.name=Schrabidiumrevolver @@ -1118,6 +1121,8 @@ item.gun_bf.name=M42_2 Nukleares Katapult "Antimaterienwerfer" item.gun_mp40.name=Maschinenpistole item.gun_uzi.name=IMI Uzi item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer +item.gun_uzi_saturnite.name=Saturnit-Uzi +item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer item.gun_uboinik.name=Ubojnik item.gun_lever_action.name=Mare's Leg (Original) item.gun_bolt_action.name=Dream-Repetiergewehr (Original) diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 7b473d5f8..883cead31 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -537,6 +537,8 @@ item.ingot_dineutronium.name=Dineutronium Ingot item.powder_dineutronium.name=Dineutronium Powder item.nugget_dineutronium.name=Dineutronium Nugget item.ingot_starmetal.name=Starmetal Ingot +item.ingot_saturnite.name=Saturnite Ingot +item.plate_saturnite.name=Saturnite Plate item.solid_fuel.name=Solid Fuel @@ -1104,6 +1106,7 @@ tile.steel_scaffold.name=Steel Scaffold item.gun_revolver_iron.name=Simple Revolver item.gun_revolver.name=Enhanced Revolver +item.gun_revolver_saturnite.name=Saturnite Shooter item.gun_revolver_gold.name=Golden Revolver item.gun_revolver_lead.name=Nuka Revolver item.gun_revolver_schrabidium.name=Schrabidium Revolver @@ -1118,6 +1121,8 @@ item.gun_bf.name=M42_2 Nuclear Catapult "Antimatter Launcher" item.gun_mp40.name=Submachine Gun item.gun_uzi.name=IMI Uzi item.gun_uzi_silencer.name=IMI Uzi with Silencer +item.gun_uzi_saturnite.name=Saturnite Uzi +item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer item.gun_uboinik.name=Uboinik item.gun_lever_action.name=Mare's Leg (Original) item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) diff --git a/assets/hbm/textures/items/gun_revolver_saturnite.png b/assets/hbm/textures/items/gun_revolver_saturnite.png new file mode 100644 index 000000000..21413411f Binary files /dev/null and b/assets/hbm/textures/items/gun_revolver_saturnite.png differ diff --git a/assets/hbm/textures/items/gun_uzi_saturnite.png b/assets/hbm/textures/items/gun_uzi_saturnite.png new file mode 100644 index 000000000..7be46c01c Binary files /dev/null and b/assets/hbm/textures/items/gun_uzi_saturnite.png differ diff --git a/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png b/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png new file mode 100644 index 000000000..9387b6b68 Binary files /dev/null and b/assets/hbm/textures/items/gun_uzi_saturnite_silencer.png differ diff --git a/assets/hbm/textures/items/ingot_saturnite.png b/assets/hbm/textures/items/ingot_saturnite.png new file mode 100644 index 000000000..0bcab71ad Binary files /dev/null and b/assets/hbm/textures/items/ingot_saturnite.png differ diff --git a/assets/hbm/textures/items/plate_saturnite.png b/assets/hbm/textures/items/plate_saturnite.png new file mode 100644 index 000000000..2722749eb Binary files /dev/null and b/assets/hbm/textures/items/plate_saturnite.png differ diff --git a/assets/hbm/textures/models/ModelHP.png b/assets/hbm/textures/models/ModelHP.png index cdfa45fda..7f1c34c88 100755 Binary files a/assets/hbm/textures/models/ModelHP.png and b/assets/hbm/textures/models/ModelHP.png differ diff --git a/assets/hbm/textures/models/ModelRevolverSaturnite.png b/assets/hbm/textures/models/ModelRevolverSaturnite.png new file mode 100644 index 000000000..508d1e8b6 Binary files /dev/null and b/assets/hbm/textures/models/ModelRevolverSaturnite.png differ diff --git a/assets/hbm/textures/models/ModelUziSaturnite.png b/assets/hbm/textures/models/ModelUziSaturnite.png new file mode 100644 index 000000000..f2d727f69 Binary files /dev/null and b/assets/hbm/textures/models/ModelUziSaturnite.png differ diff --git a/assets/hbm/textures/models/dornier_0.png b/assets/hbm/textures/models/dornier_0.png index 3120fb319..c5552e2b8 100644 Binary files a/assets/hbm/textures/models/dornier_0.png and b/assets/hbm/textures/models/dornier_0.png differ diff --git a/assets/hbm/textures/models/dornier_1.png b/assets/hbm/textures/models/dornier_1.png index eecf52327..9cc9c80fc 100644 Binary files a/assets/hbm/textures/models/dornier_1.png and b/assets/hbm/textures/models/dornier_1.png differ diff --git a/assets/hbm/textures/models/dornier_2.png b/assets/hbm/textures/models/dornier_2.png index 9d40e7f67..15da6d290 100644 Binary files a/assets/hbm/textures/models/dornier_2.png and b/assets/hbm/textures/models/dornier_2.png differ diff --git a/assets/hbm/textures/models/dornier_3.png b/assets/hbm/textures/models/dornier_3.png new file mode 100644 index 000000000..00c8985cb Binary files /dev/null and b/assets/hbm/textures/models/dornier_3.png differ diff --git a/assets/hbm/textures/models/dornier_4.png b/assets/hbm/textures/models/dornier_4.png new file mode 100644 index 000000000..d546c265e Binary files /dev/null and b/assets/hbm/textures/models/dornier_4.png differ diff --git a/assets/hbm/textures/models/dornier_base.png b/assets/hbm/textures/models/dornier_base.png index 8d7218570..c9e00bf01 100644 Binary files a/assets/hbm/textures/models/dornier_base.png and b/assets/hbm/textures/models/dornier_base.png differ diff --git a/com/hbm/entity/logic/EntityBomber.java b/com/hbm/entity/logic/EntityBomber.java index 50757df26..426ae407d 100644 --- a/com/hbm/entity/logic/EntityBomber.java +++ b/com/hbm/entity/logic/EntityBomber.java @@ -118,8 +118,10 @@ public class EntityBomber extends Entity { } else { EntityBombletZeta zeta = new EntityBombletZeta(worldObj); - zeta.rotationYaw = this.rotationYaw; - zeta.rotationPitch = this.rotationPitch; + /*zeta.prevRotationYaw = zeta.rotationYaw = this.rotationYaw; + zeta.prevRotationPitch = zeta.rotationPitch = this.rotationPitch;*/ + + zeta.rotation(); zeta.type = type; diff --git a/com/hbm/entity/projectile/EntityBombletZeta.java b/com/hbm/entity/projectile/EntityBombletZeta.java index c17a6f997..4b2c6d8f2 100644 --- a/com/hbm/entity/projectile/EntityBombletZeta.java +++ b/com/hbm/entity/projectile/EntityBombletZeta.java @@ -73,7 +73,7 @@ public class EntityBombletZeta extends EntityThrowable { } } - protected void rotation() { + public void rotation() { float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); diff --git a/com/hbm/entity/projectile/EntityBullet.java b/com/hbm/entity/projectile/EntityBullet.java index d3a9bc954..a233686ad 100644 --- a/com/hbm/entity/projectile/EntityBullet.java +++ b/com/hbm/entity/projectile/EntityBullet.java @@ -69,6 +69,7 @@ public class EntityBullet extends Entity implements IProjectile { private boolean rad = false; public boolean antidote = false; public boolean pip = false; + public boolean fire = false; public EntityBullet(World p_i1753_1_) { super(p_i1753_1_); @@ -484,7 +485,7 @@ public class EntityBullet extends Entity implements IProjectile { } } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (fire || this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 61e9456ff..8cf7eca71 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -110,6 +110,11 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_starmetal, 2); } + if (mODE(item, new String[] {"dustCobalt"}) && item2.getItem() == ModItems.ingot_starmetal + || item.getItem() == ModItems.ingot_starmetal && mODE(item2, new String[] {"dustCobalt"})) { + return new ItemStack(ModItems.ingot_saturnite, 2); + } + return null; } @@ -333,6 +338,8 @@ public class MachineRecipes { return new ItemStack(ModItems.plate_schrabidium); if(mODE(input, "ingotCMBSteel")) return new ItemStack(ModItems.plate_combine_steel); + if(mODE(input, "ingotSaturnite")) + return new ItemStack(ModItems.plate_saturnite); } @@ -403,6 +410,7 @@ public class MachineRecipes { recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_advanced_alloy) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_advanced_alloy)); recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_schrabidium) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_schrabidium)); recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_combine_steel) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_combine_steel)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_saturnite) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_saturnite)); recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_aluminium) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_aluminium)); recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_copper) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_copper)); @@ -803,6 +811,8 @@ public class MachineRecipes { getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite) }, getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite)).copy()); + recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt) }, + getFurnaceOutput(new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt)).copy()); } catch (Exception x) { MainRegistry.logger.error("Unable to register alloy recipes for NEI!"); } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index b0cdb3c13..e89345544 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -100,6 +100,8 @@ public class ModItems { public static Item nugget_tetraneutronium; public static Item powder_tetraneutronium; public static Item ingot_starmetal; + public static Item ingot_saturnite; + public static Item plate_saturnite; public static Item nugget_uranium; public static Item nugget_u235; @@ -717,6 +719,7 @@ public class ModItems { public static Item gun_skystinger; public static Item gun_stinger_ammo; public static Item gun_revolver; + public static Item gun_revolver_saturnite; public static Item gun_revolver_ammo; public static Item gun_revolver_iron; public static Item gun_revolver_iron_ammo; @@ -745,6 +748,8 @@ public class ModItems { public static Item gun_mp40_ammo; public static Item gun_uzi; public static Item gun_uzi_silencer; + public static Item gun_uzi_saturnite; + public static Item gun_uzi_saturnite_silencer; public static Item gun_uzi_ammo; public static Item gun_uboinik; public static Item gun_uboinik_ammo; @@ -1392,6 +1397,8 @@ public class ModItems { nugget_dineutronium = new ItemCustomLore().setUnlocalizedName("nugget_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_dineutronium"); powder_dineutronium = new ItemCustomLore().setUnlocalizedName("powder_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_dineutronium"); ingot_starmetal = new ItemCustomLore().setUnlocalizedName("ingot_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_starmetal"); + ingot_saturnite = new ItemCustomLore().setUnlocalizedName("ingot_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_saturnite"); + plate_saturnite = new ItemCustomLore().setUnlocalizedName("plate_saturnite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_saturnite"); ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium"); ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium"); @@ -1947,6 +1954,7 @@ public class ModItems { gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger_ammo"); gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo"); gun_revolver = new GunRevolver(gun_revolver_ammo, 10, 25, false, false).setMaxDamage(500).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); + gun_revolver_saturnite = new GunRevolver(gun_revolver_ammo, 20, 35, false, false).setMaxDamage(2500).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite"); gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo"); gun_revolver_iron = new GunRevolver(gun_revolver_iron_ammo, 5, 15, false, false).setMaxDamage(100).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron"); gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo"); @@ -1975,6 +1983,8 @@ public class ModItems { gun_uzi_ammo = new Item().setUnlocalizedName("gun_uzi_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_ammo"); gun_uzi = new GunUZI().setUnlocalizedName("gun_uzi").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi"); gun_uzi_silencer = new GunUZI().setUnlocalizedName("gun_uzi_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_silencer"); + gun_uzi_saturnite = new GunUZI().setUnlocalizedName("gun_uzi_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite"); + gun_uzi_saturnite_silencer = new GunUZI().setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer"); gun_uboinik_ammo = new Item().setUnlocalizedName("gun_uboinik_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik_ammo"); gun_uboinik = new GunShotgun().setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); gun_lever_action_ammo = new Item().setUnlocalizedName("gun_lever_action_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_ammo"); @@ -2618,6 +2628,7 @@ public class ModItems { GameRegistry.registerItem(ingot_actinium, ingot_actinium.getUnlocalizedName()); GameRegistry.registerItem(ingot_desh, ingot_desh.getUnlocalizedName()); GameRegistry.registerItem(ingot_starmetal, ingot_starmetal.getUnlocalizedName()); + GameRegistry.registerItem(ingot_saturnite, ingot_saturnite.getUnlocalizedName()); GameRegistry.registerItem(ingot_euphemium, ingot_euphemium.getUnlocalizedName()); GameRegistry.registerItem(ingot_dineutronium, ingot_dineutronium.getUnlocalizedName()); @@ -2752,6 +2763,7 @@ public class ModItems { GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName()); GameRegistry.registerItem(plate_mixed, plate_mixed.getUnlocalizedName()); + GameRegistry.registerItem(plate_saturnite, plate_saturnite.getUnlocalizedName()); GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName()); GameRegistry.registerItem(plate_polymer, plate_polymer.getUnlocalizedName()); GameRegistry.registerItem(plate_dalekanium, plate_dalekanium.getUnlocalizedName()); @@ -3344,6 +3356,7 @@ public class ModItems { //Guns GameRegistry.registerItem(gun_revolver_iron, gun_revolver_iron.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver, gun_revolver.getUnlocalizedName()); + GameRegistry.registerItem(gun_revolver_saturnite, gun_revolver_saturnite.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_gold, gun_revolver_gold.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_lead, gun_revolver_lead.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_schrabidium, gun_revolver_schrabidium.getUnlocalizedName()); @@ -3362,6 +3375,8 @@ public class ModItems { GameRegistry.registerItem(gun_mp40, gun_mp40.getUnlocalizedName()); GameRegistry.registerItem(gun_uzi, gun_uzi.getUnlocalizedName()); GameRegistry.registerItem(gun_uzi_silencer,gun_uzi_silencer.getUnlocalizedName()); + GameRegistry.registerItem(gun_uzi_saturnite, gun_uzi_saturnite.getUnlocalizedName()); + GameRegistry.registerItem(gun_uzi_saturnite_silencer,gun_uzi_saturnite_silencer.getUnlocalizedName()); GameRegistry.registerItem(gun_uboinik, gun_uboinik.getUnlocalizedName()); GameRegistry.registerItem(gun_lever_action, gun_lever_action.getUnlocalizedName()); GameRegistry.registerItem(gun_lever_action_dark, gun_lever_action_dark.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index 87985c382..8b7111991 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -627,7 +627,8 @@ public class ItemCustomLore extends ItemRadioactive { this == ModItems.nugget_schrabidium || this == ModItems.plate_schrabidium || this == ModItems.cell_sas3 || this == ModItems.powder_schrabidium || this == ModItems.wire_schrabidium || this == ModItems.circuit_schrabidium || - this == ModItems.gun_revolver_schrabidium_ammo) + this == ModItems.gun_revolver_schrabidium_ammo || this == ModItems.ingot_saturnite || + this == ModItems.plate_saturnite) { return EnumRarity.rare; } diff --git a/com/hbm/items/weapon/GunRevolver.java b/com/hbm/items/weapon/GunRevolver.java index 5c453a79f..e93557e56 100644 --- a/com/hbm/items/weapon/GunRevolver.java +++ b/com/hbm/items/weapon/GunRevolver.java @@ -43,6 +43,9 @@ public class GunRevolver extends Item { if (this == ModItems.gun_revolver) { this.setMaxDamage(500); } + if (this == ModItems.gun_revolver_saturnite) { + this.setMaxDamage(2500); + } if (this == ModItems.gun_revolver_gold) { this.setMaxDamage(1000); } @@ -69,7 +72,7 @@ public class GunRevolver extends Item { @Override public EnumRarity getRarity(ItemStack p_77613_1_) { - if (this == ModItems.gun_revolver_schrabidium) { + if (this == ModItems.gun_revolver_schrabidium || this == ModItems.gun_revolver_saturnite) { return EnumRarity.rare; } @@ -117,10 +120,14 @@ public class GunRevolver extends Item { entityarrow.pip = true; entityarrow.setDamage(1); } + if(this == ModItems.gun_revolver_saturnite || EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, p_77615_1_) > 0) { + entityarrow.fire = true; + } p_77615_1_.damageItem(1, p_77615_3_); if (this == ModItems.gun_revolver || this == ModItems.gun_revolver_iron - || this == ModItems.gun_revolver_gold || this == ModItems.gun_revolver_lead) { + || this == ModItems.gun_revolver_gold || this == ModItems.gun_revolver_lead + || this == ModItems.gun_revolver_saturnite) { p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShoot", 1.0F, 1.0F); } if (this == ModItems.gun_revolver_cursed) { @@ -209,6 +216,13 @@ public class GunRevolver extends Item { list.add("Ammo: Lead Bullets"); list.add("Damage: 10 - 25"); } + if (this == ModItems.gun_revolver_saturnite) { + list.add("Woooo - shiny!"); + list.add(""); + list.add("Ammo: Lead Bullets"); + list.add("Damage: 20 - 35"); + list.add("Sets enemy on fire."); + } if (this == ModItems.gun_revolver_gold) { list.add("GoldenEye would be proud!"); list.add("(GoldenEye isn't a person but"); diff --git a/com/hbm/items/weapon/GunUZI.java b/com/hbm/items/weapon/GunUZI.java index 56a893447..21d8ddee2 100644 --- a/com/hbm/items/weapon/GunUZI.java +++ b/com/hbm/items/weapon/GunUZI.java @@ -13,6 +13,7 @@ import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; +import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -58,10 +59,15 @@ public class GunUZI extends Item { EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 2, 4, false, false); entityarrow.setDamage(2 + rand.nextInt(3)); + + if(this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { + entityarrow.setDamage(4 + rand.nextInt(5)); + entityarrow.fire = true; + } - if(this == ModItems.gun_uzi) + if(this == ModItems.gun_uzi || this == ModItems.gun_uzi_saturnite) world.playSoundAtEntity(player, "hbm:weapon.uziShoot", 10.0F, 1.0F); - if(this == ModItems.gun_uzi_silencer) + if(this == ModItems.gun_uzi_silencer || this == ModItems.gun_uzi_saturnite_silencer) world.playSoundAtEntity(player, "hbm:weapon.silencerShoot", 0.15F, 1.0F); if (!flag) { @@ -86,9 +92,30 @@ public class GunUZI extends Item { list.add("[very intense pewpew-ing]"); if(this == ModItems.gun_uzi_silencer) list.add("Mom, where are my mittens?"); + if(this == ModItems.gun_uzi_saturnite) + list.add("The real deal."); + if(this == ModItems.gun_uzi_saturnite_silencer) + list.add("The real deal 2: Electric boogaloo"); list.add(""); list.add("Ammo: .22 LR Round"); - list.add("Damage: 2 - 4"); + + if(this == ModItems.gun_uzi || this == ModItems.gun_uzi_silencer) { + list.add("Damage: 2 - 4"); + } + if(this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { + list.add("Damage: 4 - 8"); + list.add("Sets enemy on fire."); + } + } + + @Override + public EnumRarity getRarity(ItemStack p_77613_1_) { + + if (this == ModItems.gun_uzi_saturnite || this == ModItems.gun_uzi_saturnite_silencer) { + return EnumRarity.rare; + } + + return EnumRarity.common; } @Override diff --git a/com/hbm/items/weapon/ItemClip.java b/com/hbm/items/weapon/ItemClip.java index f13661b02..b09f1f60b 100644 --- a/com/hbm/items/weapon/ItemClip.java +++ b/com/hbm/items/weapon/ItemClip.java @@ -306,6 +306,10 @@ public class ItemClip extends Item { 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_uzi_saturnite)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_uzi_ammo, 32)); + if(player.inventory.hasItem(ModItems.gun_uzi_saturnite_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)) diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index fb668e6e3..9e6f3fe9e 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -171,8 +171,9 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), new ItemRenderSatelliteReceiver()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTaint.class, new RenderTaint()); - + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver, new ItemRenderRevolver()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_saturnite, new ItemRenderRevolver()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_iron, new ItemRenderRevolverIron()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_gold, new ItemRenderRevolverGold()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_lead, new ItemRenderRevolverLead()); @@ -212,6 +213,8 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_b93, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUZI()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_silencer, new ItemRenderUZI()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite, new ItemRenderUZI()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite_silencer, new ItemRenderUZI()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 94b2476b8..f55ec24ca 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -683,9 +683,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_rpg_ammo, 8), new Object[] { "SI ", "ITI", " I ", 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateIron", 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "SSW", "CMW", 'S', "plateSteel", 'W', "plateTitanium", 'C', ModItems.circuit_red_copper, 'M', ModItems.mechanism_launcher_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_stinger_ammo, 4), new Object[] { "SS ", "STI", " IR", 'S', "plateSteel", 'T', Item.getItemFromBlock(Blocks.tnt), 'I', "plateAluminum", 'R', "dustRedstone" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_saturnite, 1), new Object[] { "SSM", " RW", 'S', "plateSaturnite", 'W', "plankWood", 'R', ModItems.wire_tungsten, 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateLead", 'S', "plateSteel", 'G', Items.gunpowder })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron, 1), new Object[] { "SSM", " RW", 'S', "plateIron", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron, 1), new Object[] { "SSM", " RW", 'S', "plateIron", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_iron_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateIron", 'S', "plateCopper", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold, 1), new Object[] { "SSM", " RW", 'S', "plateGold", 'W', "ingotGold", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_revolver_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_gold_ammo, 16), new Object[] { "L", "L", "S", 'L', ModItems.plate_gold, 'S', Items.gunpowder })); @@ -698,7 +699,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "N", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder, 'N', Items.nether_star }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', "plateSteel", 'I', "ingotSteel", 'R', ModItems.wire_red_copper, 'T', "plateTitanium", 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed_ammo, 32), new Object[] { "L", "L", 'L', "plateSteel", 'S', Items.gunpowder })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', "plateSteel", 'W', "plankWood", 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare_ammo, 16), new Object[] { "L", "S", "G", 'L', "plateDenseLead", 'S', "plateSteel", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', "plateDenseLead", 'W', "ingotTungsten", 'R', ModItems.wire_gold, 'M', ModItems.mechanism_special })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 6), new Object[] { "L", "S", "G", 'L', ModItems.powder_power, 'S', ModItems.plate_polymer, 'G', Items.gunpowder }); @@ -759,6 +760,8 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.weaponized_starblaster_cell, 1), new Object[] { new ItemStack(ModItems.fluid_tank_full, 1, FluidType.ACID.getID()), GunB92Cell.getFullCell(), ModItems.wire_copper }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi, 1), new Object[] { "SMS", " PB", " P ", 'S', "ingotSteel", 'M', ModItems.mechanism_rifle_2, 'P', "plateSteel", 'B', ModItems.bolt_dura_steel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', "ingotSaturnite", 'M', ModItems.mechanism_rifle_2, 'P', "plateSaturnite", 'B', ModItems.bolt_tungsten })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi_saturnite })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_ammo, 16), new Object[] { "L", "P", "G", 'P', "plateIron", 'L', "plateSteel", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_light_ammo, 1), new Object[] { " L ", "IGI", "ICI", 'L', "plateLead", 'I', "plateIron", 'C', "plateCopper", 'G', Items.gunpowder })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 6a808565b..79f1343d9 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -1057,6 +1057,7 @@ public class MainRegistry OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium); OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium); OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh); + OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite); OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium); OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); OreDictionary.registerOre("dustFluorite", ModItems.fluorite); @@ -1095,6 +1096,7 @@ public class MainRegistry OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); OreDictionary.registerOre("plateDesh", ModItems.plate_desh); + OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite); OreDictionary.registerOre("plateEuphemium", ModItems.plate_euphemium); OreDictionary.registerOre("plateDineutronium", ModItems.plate_dineutronium); OreDictionary.registerOre("dustIron", ModItems.powder_iron); diff --git a/com/hbm/render/item/ItemRenderRevolver.java b/com/hbm/render/item/ItemRenderRevolver.java index e7a0f4974..86f8d7566 100644 --- a/com/hbm/render/item/ItemRenderRevolver.java +++ b/com/hbm/render/item/ItemRenderRevolver.java @@ -2,6 +2,7 @@ package com.hbm.render.item; import org.lwjgl.opengl.GL11; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelRevolver; @@ -40,7 +41,10 @@ public class ItemRenderRevolver implements IItemRenderer { switch(type) { case EQUIPPED_FIRST_PERSON: GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); + if(item.getItem() == ModItems.gun_revolver) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); + if(item.getItem() == ModItems.gun_revolver_saturnite) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSaturnite.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); //GL11.glScalef(2.0F, 2.0F, 2.0F); @@ -51,7 +55,10 @@ public class ItemRenderRevolver implements IItemRenderer { case EQUIPPED: case ENTITY: GL11.glPushMatrix(); + if(item.getItem() == ModItems.gun_revolver) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolver.png")); + if(item.getItem() == ModItems.gun_revolver_saturnite) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelRevolverSaturnite.png")); 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); diff --git a/com/hbm/render/item/ItemRenderUZI.java b/com/hbm/render/item/ItemRenderUZI.java index 605caf732..6aba25340 100644 --- a/com/hbm/render/item/ItemRenderUZI.java +++ b/com/hbm/render/item/ItemRenderUZI.java @@ -54,16 +54,20 @@ public class ItemRenderUZI implements IItemRenderer { 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); + + 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")); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_uzi) { + 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) { + 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); } @@ -82,16 +86,19 @@ public class ItemRenderUZI implements IItemRenderer { GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(0.2F, -0.8F, -1.0F); - - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png")); + + 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) { + 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) { + 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); } diff --git a/com/hbm/render/model/ModelB93.java b/com/hbm/render/model/ModelB93.java index 4e3673523..5b42ca2ef 100644 --- a/com/hbm/render/model/ModelB93.java +++ b/com/hbm/render/model/ModelB93.java @@ -10,6 +10,7 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelB93 extends ModelBase { @@ -450,7 +451,7 @@ public class ModelB93 extends ModelBase { Nix32.render(f5); GL11.glEnable(GL11.GL_BLEND); //GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); Nix1.render(f5); Nix2.render(f5); Nix3.render(f5); diff --git a/com/hbm/render/model/ModelHP.java b/com/hbm/render/model/ModelHP.java index c6ee40597..dcdf2ec40 100644 --- a/com/hbm/render/model/ModelHP.java +++ b/com/hbm/render/model/ModelHP.java @@ -15,6 +15,7 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.entity.Entity; public class ModelHP extends ModelBase @@ -161,10 +162,14 @@ public void render(Entity entity, float f, float f1, float f2, float f3, float f StockBottom.render(f5); StockPlate.render(f5); Barrel.render(f5); + GL11.glEnable(GL11.GL_BLEND); + //GL11.glDisable(GL11.GL_ALPHA_TEST); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); Lens1.render(f5); Lens2.render(f5); Lens3.render(f5); Beam.render(f5); + GL11.glDisable(GL11.GL_BLEND); Handle.render(f5); Dot.render(f5); Back.render(f5);