diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 859e5495e..6d4e3d39f 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1549,6 +1549,7 @@ item.cape_dafnik.name=Dafniks Cape item.cape_lpkukin.name=LPkukins Cape item.cape_vertice.name=Lord Vertices Cape item.cape_codered_.name=codered_s Cape +item.cape_ayy.name=Ayys Cape tile.machine_converter_he_rf.name=HE zu RF Konverter tile.machine_converter_rf_he.name=RF zu HE Konverter diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index f5f5738c7..2da44d5c3 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1549,6 +1549,7 @@ item.cape_dafnik.name=Dafnik's Cape item.cape_lpkukin.name=LPkukin's Cape item.cape_vertice.name=Lord Vertice's Cape item.cape_codered_.name=codered_'s Cape +item.cape_ayy.name=Ayy's Cape tile.machine_converter_he_rf.name=HE to RF Converter tile.machine_converter_rf_he.name=RF to HE Converter diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 64369c6f7..bf0b22080 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -120,5 +120,6 @@ "alarm.foKlaxonA": {"category": "record", "sounds": [{"name": "alarm/foKlaxonA", "stream": false}]}, "alarm.foKlaxonB": {"category": "record", "sounds": [{"name": "alarm/foKlaxonB", "stream": false}]}, "alarm.nostromoSiren": {"category": "record", "sounds": [{"name": "alarm/nostromoSiren", "stream": false}]}, - "alarm.easAlarm": {"category": "record", "sounds": [{"name": "alarm/easAlarm", "stream": false}]} + "alarm.easAlarm": {"category": "record", "sounds": [{"name": "alarm/easAlarm", "stream": false}]}, + "alarm.airRaid": {"category": "record", "sounds": [{"name": "alarm/airRaid", "stream": true}]} } diff --git a/assets/hbm/sounds/alarm/airRaid.ogg b/assets/hbm/sounds/alarm/airRaid.ogg new file mode 100644 index 000000000..7c8b74112 Binary files /dev/null and b/assets/hbm/sounds/alarm/airRaid.ogg differ diff --git a/assets/hbm/textures/models/CapeAyy.png b/assets/hbm/textures/models/CapeAyy.png new file mode 100644 index 000000000..cc7354999 Binary files /dev/null and b/assets/hbm/textures/models/CapeAyy.png differ diff --git a/assets/hbm/textures/models/chemplant.png b/assets/hbm/textures/models/chemplant.png deleted file mode 100755 index 33b95476b..000000000 Binary files a/assets/hbm/textures/models/chemplant.png and /dev/null differ diff --git a/assets/hbm/textures/models/chemplant_main_new.png b/assets/hbm/textures/models/chemplant_main_new.png index 38c4357ed..1a3c94688 100644 Binary files a/assets/hbm/textures/models/chemplant_main_new.png and b/assets/hbm/textures/models/chemplant_main_new.png differ diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/com/hbm/entity/logic/EntityNukeExplosionMK4.java index 4023c7f08..b243c6fdf 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -73,11 +73,11 @@ public class EntityNukeExplosionMK4 extends Entity { explosion.processTip(1024); } else if(fallout) { - EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 1.8) * 25); + EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 1.8) * 25 * MainRegistry.falloutDura / 100); fallout.posX = this.posX; fallout.posY = this.posY; fallout.posZ = this.posZ; - fallout.setScale((int)(this.length * 1.8)); + fallout.setScale((int)(this.length * 1.8) * MainRegistry.falloutRange / 100); this.worldObj.spawnEntityInWorld(fallout); diff --git a/com/hbm/entity/projectile/EntityLaser.java b/com/hbm/entity/projectile/EntityLaser.java index 46d642f9b..5c02fea94 100644 --- a/com/hbm/entity/projectile/EntityLaser.java +++ b/com/hbm/entity/projectile/EntityLaser.java @@ -2,6 +2,8 @@ package com.hbm.entity.projectile; import com.hbm.main.MainRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -18,20 +20,12 @@ public class EntityLaser extends Entity { public EntityLaser(World world, EntityPlayer player) { super(world); this.ignoreFrustumCheck = true; - Vec3 vec1 = player.getLook(1.0F); - vec1.rotateAroundY(-90); - Vec3 vec2 = player.getLook(1.0F); - double x = player.posX + (vec1.xCoord * 0.3) + (vec2.xCoord * 0.4); - double y = player.posY + (vec1.yCoord * 0.3) + (vec2.yCoord * 0.4) + player.eyeHeight; - double z = player.posZ + (vec1.zCoord * 0.3) + (vec2.zCoord * 0.4); - this.setPlayerCoord((float)x, (float)y, (float)z); + this.dataWatcher.updateObject(20, player.getUniqueID().toString()); } @Override protected void entityInit() { - this.dataWatcher.addObject(20, Float.valueOf((float)0)); - this.dataWatcher.addObject(21, Float.valueOf((float)0)); - this.dataWatcher.addObject(22, Float.valueOf((float)0)); + this.dataWatcher.addObject(20, ""); } @Override @@ -47,17 +41,18 @@ public class EntityLaser extends Entity { @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { } - - private void setPlayerCoord(float x, float y, float z) { - this.dataWatcher.updateObject(20, x); - this.dataWatcher.updateObject(21, y); - this.dataWatcher.updateObject(22, z); - } - - public float[] getPlayerCoord() { - return new float[]{ this.dataWatcher.getWatchableObjectFloat(20), - this.dataWatcher.getWatchableObjectFloat(21), - this.dataWatcher.getWatchableObjectFloat(22) }; - } + + @Override + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float p_70070_1_) + { + return 15728880; + } + + @Override + public float getBrightness(float p_70013_1_) + { + return 1.0F; + } } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index df3ef61d2..671c03222 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1134,6 +1134,7 @@ public class ModItems { public static Item cape_lpkukin; public static Item cape_vertice; public static Item cape_codered_; + public static Item cape_ayy; public static Item nuke_starter_kit; public static Item nuke_advanced_kit; @@ -2260,20 +2261,20 @@ public class ModItems { nuke_advanced_kit = new ItemStarterKit().setUnlocalizedName("nuke_advanced_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_advanced_kit"); nuke_commercially_kit = new ItemStarterKit().setUnlocalizedName("nuke_commercially_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_commercially_kit"); nuke_electric_kit = new ItemStarterKit().setUnlocalizedName("nuke_electric_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nuke_electric_kit"); - gadget_kit = new ItemStarterKit().setUnlocalizedName("gadget_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gadget_kit"); - boy_kit = new ItemStarterKit().setUnlocalizedName("boy_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":boy_kit"); - man_kit = new ItemStarterKit().setUnlocalizedName("man_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":man_kit"); - mike_kit = new ItemStarterKit().setUnlocalizedName("mike_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mike_kit"); - tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tsar_kit"); - multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":multi_kit"); - custom_kit = new ItemStarterKit().setUnlocalizedName("custom_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":custom_kit"); - grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":grenade_kit"); - fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fleija_kit"); - prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":prototype_kit"); - missile_kit = new ItemStarterKit().setUnlocalizedName("missile_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":missile_kit"); + gadget_kit = new ItemStarterKit().setUnlocalizedName("gadget_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":gadget_kit"); + boy_kit = new ItemStarterKit().setUnlocalizedName("boy_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":boy_kit"); + man_kit = new ItemStarterKit().setUnlocalizedName("man_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":man_kit"); + mike_kit = new ItemStarterKit().setUnlocalizedName("mike_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":mike_kit"); + tsar_kit = new ItemStarterKit().setUnlocalizedName("tsar_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":tsar_kit"); + multi_kit = new ItemStarterKit().setUnlocalizedName("multi_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":multi_kit"); + custom_kit = new ItemStarterKit().setUnlocalizedName("custom_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_kit"); + grenade_kit = new ItemStarterKit().setUnlocalizedName("grenade_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kit"); + fleija_kit = new ItemStarterKit().setUnlocalizedName("fleija_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":fleija_kit"); + prototype_kit = new ItemStarterKit().setUnlocalizedName("prototype_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":prototype_kit"); + missile_kit = new ItemStarterKit().setUnlocalizedName("missile_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_kit"); t45_kit = new ItemStarterKit().setUnlocalizedName("t45_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":t45_kit"); euphemium_kit = new ItemStarterKit().setUnlocalizedName("euphemium_kit").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":code"); - solinium_kit = new ItemStarterKit().setUnlocalizedName("solinium_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":solinium_kit"); + solinium_kit = new ItemStarterKit().setUnlocalizedName("solinium_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":solinium_kit"); clip_revolver_iron = new ItemClip().setUnlocalizedName("clip_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_iron"); clip_revolver = new ItemClip().setUnlocalizedName("clip_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver"); @@ -2473,6 +2474,7 @@ public class ModItems { cape_lpkukin = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_lpkukin").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); cape_vertice = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_vertice").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); cape_codered_ = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_codered_").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); + cape_ayy = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_ayy").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); schrabidium_hammer = new WeaponSpecial(MainRegistry.enumToolMaterialHammer).setUnlocalizedName("schrabidium_hammer").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); shimmer_sledge = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_sledge").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_sledge_original"); @@ -3608,6 +3610,7 @@ public class ModItems { GameRegistry.registerItem(cape_lpkukin, cape_lpkukin.getUnlocalizedName()); GameRegistry.registerItem(cape_vertice, cape_vertice.getUnlocalizedName()); GameRegistry.registerItem(cape_codered_, cape_codered_.getUnlocalizedName()); + GameRegistry.registerItem(cape_ayy, cape_ayy.getUnlocalizedName()); //Tools GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); diff --git a/com/hbm/items/gear/ArmorModel.java b/com/hbm/items/gear/ArmorModel.java index 66e346688..892c0f6db 100644 --- a/com/hbm/items/gear/ArmorModel.java +++ b/com/hbm/items/gear/ArmorModel.java @@ -93,6 +93,9 @@ public class ArmorModel extends ItemArmor { if (this == ModItems.cape_codered_) { return armorType == 1; } + if (this == ModItems.cape_ayy) { + return armorType == 1; + } return armorType == 0; } @@ -139,7 +142,7 @@ public class ArmorModel extends ItemArmor { return this.modelCloak; } } - if (this == ModItems.cape_hbm || this == ModItems.cape_dafnik || this == ModItems.cape_lpkukin || this == ModItems.cape_vertice || this == ModItems.cape_codered_) { + if (this == ModItems.cape_hbm || this == ModItems.cape_dafnik || this == ModItems.cape_lpkukin || this == ModItems.cape_vertice || this == ModItems.cape_codered_ || this == ModItems.cape_ayy) { if (armorSlot == 1) { if (this.modelCloak == null) { this.modelCloak = new ModelCloak(); @@ -194,6 +197,9 @@ public class ArmorModel extends ItemArmor { if (stack.getItem() == ModItems.cape_codered_ && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.CodeRed_)) { return "hbm:textures/models/CapeRed.png"; } + if (stack.getItem() == ModItems.cape_ayy && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.dxmaster769)) { + return "hbm:textures/models/CapeAyy.png"; + } return "hbm:textures/models/CapeUnknown.png"; } @@ -287,5 +293,8 @@ public class ArmorModel extends ItemArmor { if (itemstack.getItem() == ModItems.cape_codered_) { list.add("Only works for codered_"); } + if (itemstack.getItem() == ModItems.cape_ayy) { + list.add("Only works for dxmaster769"); + } } } diff --git a/com/hbm/items/special/ItemSyringe.java b/com/hbm/items/special/ItemSyringe.java index fb350bf01..09da1442c 100644 --- a/com/hbm/items/special/ItemSyringe.java +++ b/com/hbm/items/special/ItemSyringe.java @@ -532,7 +532,7 @@ public class ItemSyringe extends Item { list.add("Cloud damage + taint = tainted heart effect"); } if(this == ModItems.gas_mask_filter) { - list.add("Repairs worn gasmask"); + list.add("Repairs worn gas mask"); } if(this == ModItems.jetpack_tank) { list.add("Fills worn jetpack with up to 1000mB of kerosene"); diff --git a/com/hbm/items/tool/ItemCassette.java b/com/hbm/items/tool/ItemCassette.java index fd9202c62..b5518b64d 100644 --- a/com/hbm/items/tool/ItemCassette.java +++ b/com/hbm/items/tool/ItemCassette.java @@ -39,6 +39,7 @@ public class ItemCassette extends Item { CONTAINER_ALARM( "Container Alarm", new ResourceLocation("hbm:alarm.containerAlarm"), SoundType.LOOP, 14727839, 100), SWEEP_SIREN( "Sweep Siren", new ResourceLocation("hbm:alarm.sweepSiren"), SoundType.LOOP, 15592026, 500), STRIDER_SIREN( "Missile Silo Siren", new ResourceLocation("hbm:alarm.striderSiren"), SoundType.LOOP, 11250586, 500), + AIR_RAID( "Air Raid Siren", new ResourceLocation("hbm:alarm.airRaid"), SoundType.LOOP, 0xDF3795, 500), NOSTROMO_SIREN( "Nostromo Self Destruct", new ResourceLocation("hbm:alarm.nostromoSiren"), SoundType.LOOP, 0x5dd800, 100), EAS_ALARM( "EAS Alarm Screech", new ResourceLocation("hbm:alarm.easAlarm"), SoundType.LOOP, 0xb3a8c1, 50), APC_PASS( "APC Pass", new ResourceLocation("hbm:alarm.apcPass"), SoundType.PASS, 3422163, 50), diff --git a/com/hbm/items/weapon/GunBrimstone.java b/com/hbm/items/weapon/GunBrimstone.java index 470b1faf5..6fae5e340 100644 --- a/com/hbm/items/weapon/GunBrimstone.java +++ b/com/hbm/items/weapon/GunBrimstone.java @@ -1,7 +1,97 @@ package com.hbm.items.weapon; +import java.util.List; +import java.util.Random; + +import com.google.common.collect.Multimap; +import com.hbm.entity.projectile.EntityBullet; +import com.hbm.entity.projectile.EntityLaser; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +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.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.ArrowNockEvent; public class GunBrimstone extends Item { + Random rand = new Random(); + + public GunBrimstone() { + this.maxStackSize = 1; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 72000; + } + + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { + ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); + { + p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + } + + return p_77659_1_; + } + + @Override + public void onUsingTick(ItemStack stack, EntityPlayer player, int count) { + World world = player.worldObj; + + boolean flag = player.capabilities.isCreativeMode + || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; + if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_mp_ammo)) && count % 1 == 0) { + + + EntityLaser laser = new EntityLaser(world, player); + MovingObjectPosition pos = Library.rayTrace(player, 200, 1.0F); + laser.posX = pos.blockX + 0.5; + laser.posY = pos.blockY + 0.5; + laser.posZ = pos.blockZ + 0.5; + + world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); + + if (!flag) { + player.inventory.consumeInventoryItem(ModItems.gun_dash_ammo); + } + + if (!world.isRemote) { + world.spawnEntityInWorld(laser); + } + } + } + + @Override + public int getItemEnchantability() { + return 0; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + list.add("[LEGENDARY WEAPON]"); + } + + @Override + public Multimap getItemAttributeModifiers() { + Multimap multimap = super.getItemAttributeModifiers(); + multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", 5, 0)); + return multimap; + } } diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index be7e7a63f..5a4d3745d 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -65,6 +65,7 @@ public class Library { public static String a20 = "4729b498-a81c-42fd-8acd-20d6d9f759e0"; public static String LordVertice = "a41df45e-13d8-4677-9398-090d3882b74f"; public static String CodeRed_ = "912ec334-e920-4dd7-8338-4d9b2d42e0a1"; + public static String dxmaster769 = "62c168b2-d11d-4dbf-9168-c6cea3dcb20e"; public static List superuser = new ArrayList(); diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 1c1c1a9bf..b661c3a64 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 (2904)"; + public static final String VERSION = "1.0.27 BETA (2922)"; //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 fbbe1a52c..bd5f5c5bc 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -1108,6 +1108,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_lpkukin, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_codered_, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 6), 'D', new ItemStack(Items.dye, 1, 5), 'I', "ingotAustralium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_vertice, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotVerticium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_ayy, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 15), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotReiium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', ModItems.ingot_euphemium })); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium }); @@ -1125,7 +1126,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.linker, 1), new Object[] { "I I", "ICI", "GGG", 'I', "plateIron", 'G', "plateGold", 'C', ModItems.circuit_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.oil_detector, 1), new Object[] { "W I", "WCI", "PPP", 'W', ModItems.wire_gold, 'I', "ingotCopper", 'C', ModItems.circuit_red_copper, 'P', "plateSteel" })); GameRegistry.addRecipe(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_gold, }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "III", 'C', ModItems.circuit_copper, 'S', "plateSteel", 'G', ModItems.circuit_gold, 'I', "plateLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "III", 'C', ModItems.circuit_copper, 'S', "plateSteel", 'G', ModItems.circuit_red_copper, 'I', "plateLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.survey_scanner, 1), new Object[] { "SWS", " G ", "PCP", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_gold, 'S', "plateSteel", 'G', "ingotGold" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.ingot_polymer, 'C', ModItems.circuit_copper, 'G', "ingotGold", 'S', "plateSteel", 'B', ModItems.ingot_beryllium })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 608562da4..c6a39da73 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -488,8 +488,10 @@ public class MainRegistry public static int fatmanRadius = 35; public static int nukaRadius = 25; public static int aSchrabRadius = 20; - + public static int blastSpeed = 1024; + public static int falloutRange = 100; + public static int falloutDura = 100; public static int radioStructure = 500; public static int antennaStructure = 250; @@ -1569,6 +1571,12 @@ public class MainRegistry Property propBlastSpeed = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 1024); propBlastSpeed.comment = "Base speed of all detonations (Blocks / tick)"; blastSpeed = propBlastSpeed.getInt(); + Property propFalloutRange = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 100); + propFalloutRange.comment = "Radius of fallout area (base radius * value in percent)"; + falloutRange = propFalloutRange.getInt(); + Property propFalloutDura = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 100); + propFalloutDura.comment = "Duration of fallout (base duration * value in percent)"; + falloutDura = propFalloutDura.getInt(); Property propRadarRange = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarRange", 1000); propRadarRange.comment = "Range of the radar, 50 will result in 100x100 block area covered"; diff --git a/com/hbm/render/entity/RenderLaser.java b/com/hbm/render/entity/RenderLaser.java index 657c31e8a..726e84f72 100644 --- a/com/hbm/render/entity/RenderLaser.java +++ b/com/hbm/render/entity/RenderLaser.java @@ -7,7 +7,9 @@ import com.hbm.entity.projectile.EntityLaser; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; public class RenderLaser extends Render { @@ -19,10 +21,33 @@ public class RenderLaser extends Render { public void doRender(EntityLaser laser, double x, double y, double z, float p_76986_8_, float p_76986_9_) { + + EntityPlayer player = null; + + for(Object p: laser.worldObj.playerEntities) { + + if(p instanceof EntityPlayer) { + + EntityPlayer pla = (EntityPlayer)p; + + if(pla.getUniqueID().toString().equals(laser.getDataWatcher().getWatchableObjectString(20))) { + player = pla; + break; + } + } + } + + if(player == null) + return; + + Vec3 vec = Vec3.createVectorHelper(-0.2, -0.1, 0.2); + vec.rotateAroundX(-(float)(player.rotationPitch * Math.PI / 180D)); + vec.rotateAroundY(-(float)(player.rotationYaw * Math.PI / 180D)); + drawPowerLine(x, y, z, - x + (laser.getPlayerCoord()[0] - laser.posX), - y + (laser.getPlayerCoord()[1] - laser.posY), - z + (laser.getPlayerCoord()[2] - laser.posZ)); + x + (player.posX + vec.xCoord - laser.posX), + y + (player.posY + vec.yCoord - laser.posY), + z + (player.posZ + vec.zCoord - laser.posZ)); } @Override