diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 3ca599b26..8aba6c2f8 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -119,7 +119,8 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_chip, 1), new Object[] { "WWW", "CPC", "WWW", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.turret_biometry, 1), new Object[] { "CC ", "GGS", "SSS", 'C', ModItems.circuit_copper, 'S', STEEL.plate(), 'G', GOLD.plate(), 'I', PB.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.survey_scanner, 1), new Object[] { "SWS", " G ", "PCP", 'W', ModItems.wire_gold, 'P', POLYMER.ingot(), 'C', ModItems.circuit_gold, 'S', STEEL.plate(), 'G', GOLD.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_aluminium, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.geiger_counter, 1), new Object[] { "GPP", "WCS", "WBB", 'W', ModItems.wire_gold, 'P', ModItems.plate_polymer, 'C', ModItems.circuit_red_copper, 'G', GOLD.ingot(), 'S', STEEL.plate(), 'B', ModItems.ingot_beryllium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.dosimeter, 1), new Object[] { "WGW", "WCW", "WBW", 'W', KEY_PLANKS, 'G', KEY_ANYPANE, 'C', ModItems.circuit_aluminium, 'B', BE.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.ingot(), 'S', STEEL.plate() }); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 8ccfe81cc..192fef842 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1237,6 +1237,7 @@ public class ModItems { public static Item linker; public static Item reactor_sensor; public static Item oil_detector; + public static Item dosimeter; public static Item geiger_counter; public static Item digamma_diagnostic; public static Item survey_scanner; @@ -2128,6 +2129,7 @@ public class ModItems { public static Item volcanic_pickaxe; public static Item chlorophyte_pickaxe; public static Item mese_pickaxe; + public static Item dnt_sword; public static Item meteorite_sword; public static Item meteorite_sword_seared; @@ -4726,6 +4728,7 @@ public class ModItems { turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_control"); turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_chip"); turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":rei_scanner"); + dosimeter = new ItemDosimeter().setUnlocalizedName("dosimeter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":dosimeter"); geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":geiger_counter"); digamma_diagnostic = new ItemDigammaDiagnostic().setUnlocalizedName("digamma_diagnostic").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":digamma_diagnostic"); survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":survey_scanner"); @@ -5309,6 +5312,8 @@ public class ModItems { .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); + + dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword"); ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); meteorite_sword = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword"); @@ -6856,6 +6861,7 @@ public class ModItems { GameRegistry.registerItem(mirror_tool, mirror_tool.getUnlocalizedName()); GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName()); + GameRegistry.registerItem(dosimeter, dosimeter.getUnlocalizedName()); GameRegistry.registerItem(geiger_counter, geiger_counter.getUnlocalizedName()); GameRegistry.registerItem(digamma_diagnostic, digamma_diagnostic.getUnlocalizedName()); GameRegistry.registerItem(containment_box, containment_box.getUnlocalizedName()); @@ -7474,6 +7480,7 @@ public class ModItems { GameRegistry.registerItem(elec_pickaxe, elec_pickaxe.getUnlocalizedName()); GameRegistry.registerItem(elec_axe, elec_axe.getUnlocalizedName()); GameRegistry.registerItem(elec_shovel, elec_shovel.getUnlocalizedName()); + GameRegistry.registerItem(dnt_sword, dnt_sword.getUnlocalizedName()); GameRegistry.registerItem(smashing_hammer, smashing_hammer.getUnlocalizedName()); GameRegistry.registerItem(centri_stick, centri_stick.getUnlocalizedName()); GameRegistry.registerItem(drax, drax.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java index 15a1b8fb0..c00c329be 100644 --- a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java +++ b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java @@ -61,7 +61,7 @@ public class ItemColtanCompass extends Item { TextureMap map = (TextureMap) register; TextureColtass cumpiss = new TextureColtass(this.getIconString()); map.setTextureEntry(this.getIconString(), cumpiss); - this.itemIcon = cumpiss; + this.itemIcon = cumpiss; //apparently i was quite pissed when i wrote this } else { this.itemIcon = register.registerIcon(this.getIconString()); } diff --git a/src/main/java/com/hbm/items/tool/ItemDosimeter.java b/src/main/java/com/hbm/items/tool/ItemDosimeter.java new file mode 100644 index 000000000..2baa8132a --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemDosimeter.java @@ -0,0 +1,70 @@ +package com.hbm.items.tool; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.armor.ArmorFSB; +import com.hbm.util.ContaminationUtil; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemDosimeter extends Item { + + Random rand = new Random(); + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) { + + if(!(entity instanceof EntityLivingBase) || world.isRemote) + return; + + if(entity instanceof EntityPlayer) { + + if(ArmorFSB.hasFSBArmor((EntityPlayer)entity) && ((ArmorFSB)((EntityPlayer)entity).inventory.armorInventory[2].getItem()).geigerSound) + return; + } + + float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity); + + if(world.getTotalWorldTime() % 5 == 0) { + if(x > 0) { + List list = new ArrayList(); + + if(x < 0.5) + list.add(0); + if(x < 1) + list.add(1); + if(x < 2) + list.add(2); + if(x >= 2) + list.add(3); + + int r = list.get(rand.nextInt(list.size())); + + if(r > 0) + world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); //TODO: rip new sounds either from BM or FO3 + + } else if(rand.nextInt(100) == 0) { + world.playSoundAtEntity(entity, "hbm:item.geiger"+ (1 + rand.nextInt(1)), 1.0F, 1.0F); + } + } + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!world.isRemote) { + world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); + ContaminationUtil.printDosimeterData(player); + } + + return stack; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java index 93e73b5e8..c484a78e0 100644 --- a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java +++ b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java @@ -98,5 +98,4 @@ public class ItemGeigerCounter extends Item { return stack; } - } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 45ef2c341..4633cf69d 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -296,6 +296,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); for(ItemSwordMeteorite sword : ItemSwordMeteorite.swords) { // MinecraftForgeClient.registerItemRenderer(sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 0a66e73b2..6ce03bd3f 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -216,6 +216,19 @@ public class ContaminationUtil { player.addChatMessage(new ChatComponentTranslation("geiger.playerRes").appendSibling(new ChatComponentText(" " + resPrefix + res + "% (" + resKoeff + ")")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } + public static void printDosimeterData(EntityPlayer player) { + + double env = ((int)(HbmLivingProps.getRadBuf(player) * 10D)) / 10D; + + if(env >= 3.6D) + env = 3.6D; + + String envPrefix = getPreffixFromRad(env); + + player.addChatMessage(new ChatComponentText("===== ☢ ").appendSibling(new ChatComponentTranslation("geiger.title.dosimeter")).appendSibling(new ChatComponentText(" ☢ =====")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); + player.addChatMessage(new ChatComponentTranslation("geiger.envRad").appendSibling(new ChatComponentText(" " + envPrefix + env + " RAD/s")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + } + public static String getPreffixFromRad(double rads) { String chunkPrefix = ""; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index c80279835..558135269 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -393,6 +393,7 @@ geiger.envRad=Gesamte Umgebungsstrahlung: geiger.playerRad=Spieler-Kontaminierung: geiger.playerRes=Strahlungsresistenz: geiger.title=GEIGERZÄHLER +geiger.title.dosimeter=DOSIMETER hadron.analysis=Analysiere... hadron.buttonOn=Analysekammer (falls vorhanden) ist AN @@ -1202,6 +1203,7 @@ item.dnt_plate.name=dineutrom brustplatte item.door_bunker.name=Bunkertür item.door_metal.name=Metalltür item.door_office.name=Bürotür +item.dosimeter.name=Dosimeter item.drax.name=Terra-Bohrer item.drax_mk2.name=Gehärteter Terra-Bohrer item.drax_mk3.name=Schrabidischer Terra-Bohrer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 070947f09..2bfcd7bf8 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -467,6 +467,7 @@ geiger.envRad=Total environmental radiation: geiger.playerRad=Player contamination: geiger.playerRes=Player resistance: geiger.title=GEIGER COUNTER +geiger.title.dosimeter=DOSIMETER hadron.analysis=Analyzing... hadron.buttonOn=Analysis Chamber (if present) is ON @@ -1278,6 +1279,7 @@ item.dnt_plate.name=dineutrom chestplate item.door_bunker.name=Bunker Door item.door_metal.name=Metal Door item.door_office.name=Office Door +item.dosimeter.name=Dosimeter item.drill_titanium.name=Titanium Drill item.drax.name=Terra Drill item.drax_mk2.name=Hardened Terra Drill diff --git a/src/main/resources/assets/hbm/textures/items/arc_electrode.png b/src/main/resources/assets/hbm/textures/items/arc_electrode.png index f8538efc4..4eebcc2ae 100644 Binary files a/src/main/resources/assets/hbm/textures/items/arc_electrode.png and b/src/main/resources/assets/hbm/textures/items/arc_electrode.png differ diff --git a/src/main/resources/assets/hbm/textures/items/arc_electrode_burnt.png b/src/main/resources/assets/hbm/textures/items/arc_electrode_burnt.png index 7e1a1f14e..5d278eded 100644 Binary files a/src/main/resources/assets/hbm/textures/items/arc_electrode_burnt.png and b/src/main/resources/assets/hbm/textures/items/arc_electrode_burnt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/arc_electrode_desh.png b/src/main/resources/assets/hbm/textures/items/arc_electrode_desh.png index 05730206b..007f2a98e 100644 Binary files a/src/main/resources/assets/hbm/textures/items/arc_electrode_desh.png and b/src/main/resources/assets/hbm/textures/items/arc_electrode_desh.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dnt_sword.png b/src/main/resources/assets/hbm/textures/items/dnt_sword.png new file mode 100644 index 000000000..fb74fb890 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/dnt_sword.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dosimeter.png b/src/main/resources/assets/hbm/textures/items/dosimeter.png new file mode 100644 index 000000000..bb129a175 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/dosimeter.png differ diff --git a/src/main/resources/assets/hbm/textures/items/radx.png b/src/main/resources/assets/hbm/textures/items/radx.png index 363b73867..52d4b51a1 100644 Binary files a/src/main/resources/assets/hbm/textures/items/radx.png and b/src/main/resources/assets/hbm/textures/items/radx.png differ diff --git a/src/main/resources/assets/hbm/textures/items/siox.png b/src/main/resources/assets/hbm/textures/items/siox.png index 3dad754d2..affd7e27b 100644 Binary files a/src/main/resources/assets/hbm/textures/items/siox.png and b/src/main/resources/assets/hbm/textures/items/siox.png differ diff --git a/src/main/resources/assets/hbm/textures/items/solid_fuel.png b/src/main/resources/assets/hbm/textures/items/solid_fuel.png index 6d85971b2..89f4ef82e 100644 Binary files a/src/main/resources/assets/hbm/textures/items/solid_fuel.png and b/src/main/resources/assets/hbm/textures/items/solid_fuel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png b/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png index 6dcef4385..71978e8c7 100644 Binary files a/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png and b/src/main/resources/assets/hbm/textures/items/stamp_iron_circuit.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stamp_iron_flat.png b/src/main/resources/assets/hbm/textures/items/stamp_iron_flat.png index e9cee205e..260d044eb 100644 Binary files a/src/main/resources/assets/hbm/textures/items/stamp_iron_flat.png and b/src/main/resources/assets/hbm/textures/items/stamp_iron_flat.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stamp_iron_plate.png b/src/main/resources/assets/hbm/textures/items/stamp_iron_plate.png index 23ff1d4a0..153a96c27 100644 Binary files a/src/main/resources/assets/hbm/textures/items/stamp_iron_plate.png and b/src/main/resources/assets/hbm/textures/items/stamp_iron_plate.png differ diff --git a/src/main/resources/assets/hbm/textures/items/stamp_iron_wire.png b/src/main/resources/assets/hbm/textures/items/stamp_iron_wire.png index e9239dd40..4d6ca2d53 100644 Binary files a/src/main/resources/assets/hbm/textures/items/stamp_iron_wire.png and b/src/main/resources/assets/hbm/textures/items/stamp_iron_wire.png differ