dosimeter, some texture upgrades
@ -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() });
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
70
src/main/java/com/hbm/items/tool/ItemDosimeter.java
Normal file
@ -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<Integer> list = new ArrayList<Integer>();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -98,5 +98,4 @@ public class ItemGeigerCounter extends Item {
|
||||
|
||||
return stack;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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 = "";
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 447 B |
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 537 B |
BIN
src/main/resources/assets/hbm/textures/items/dnt_sword.png
Normal file
|
After Width: | Height: | Size: 528 B |
BIN
src/main/resources/assets/hbm/textures/items/dosimeter.png
Normal file
|
After Width: | Height: | Size: 361 B |
|
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 332 B |
|
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 345 B |
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 354 B |
|
Before Width: | Height: | Size: 297 B After Width: | Height: | Size: 619 B |
|
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 529 B |
|
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 484 B |