dosimeter, some texture upgrades

This commit is contained in:
Boblet 2021-12-21 15:57:59 +01:00
parent e2af06b02b
commit 43a9f2802e
21 changed files with 98 additions and 3 deletions

View File

@ -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() });

View File

@ -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());

View File

@ -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());
}

View 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;
}
}

View File

@ -98,5 +98,4 @@ public class ItemGeigerCounter extends Item {
return stack;
}
}

View File

@ -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));

View File

@ -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 = "";

View File

@ -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

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 484 B