Removed fibrosis, pirfenidone, gloves; reverted reacher functionality

This commit is contained in:
Vaern 2022-12-23 22:44:51 -08:00
parent d886024f39
commit dfb237d9cd
15 changed files with 49 additions and 168 deletions

View File

@ -42,7 +42,7 @@ public class BlockGasMeltdown extends BlockGasBase {
if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.PARTICLE_FINE)) {
ArmorUtil.damageGasMaskFilter(entityLiving, 1);
} else {
HbmLivingProps.incrementFibrosis(entityLiving, 5);
HbmLivingProps.incrementAsbestos(entityLiving, 5); // Mesothelioma can be developed as a result of exposure to radiation in the lungs
}
}

View File

@ -33,7 +33,7 @@ public class BlockGasRadon extends BlockGasBase {
ArmorUtil.damageGasMaskFilter(entityLiving, 1);
} else {
ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 0.05F);
HbmLivingProps.incrementFibrosis((EntityLivingBase)entity, 1);
HbmLivingProps.incrementAsbestos((EntityLivingBase)entity, 1);
}
}

View File

@ -40,7 +40,7 @@ public class BlockGasRadonDense extends BlockGasBase {
} else {
ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.CREATIVE, 0.5F);
entityLiving.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 15 * 20, 0));
HbmLivingProps.incrementFibrosis(entityLiving, 5);
HbmLivingProps.incrementAsbestos(entityLiving, 5);
}
}

View File

@ -59,7 +59,7 @@ public class BlockGasRadonTomb extends BlockGasBase {
living.removePotionEffect(HbmPotion.radx.id);
ContaminationUtil.contaminate(living, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 0.5F);
HbmLivingProps.incrementFibrosis(living, 10);
HbmLivingProps.incrementAsbestos(living, 10);
}
}

View File

@ -122,11 +122,9 @@ public class ConsumableRecipes {
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleMedicineRecipes) {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), GOLD.nugget() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.xanax, 1), new Object[] { COAL.dust(), KNO.dust(), NETHERQUARTZ.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.pirfenidone, 1), new Object[] {COAL.dust(), KNO.dust(), GOLD.nugget() });
} else {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), ModItems.nugget_bismuth });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.xanax, 1), new Object[] { COAL.dust(), KNO.dust(), BR.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.pirfenidone, 1), new Object[] {COAL.dust(), KNO.dust(), ModItems.nugget_bismuth });
}
//Med bags

View File

@ -41,8 +41,6 @@ public class HbmLivingProps implements IExtendedEntityProperties {
public static final int maxAsbestos = 60 * 60 * 20;
private int blacklung;
public static final int maxBlacklung = 60 * 60 * 20;
private int fibrosis;
public static final int maxFibrosis = 60 * 60 * 30;
private float radEnv;
private float radBuf;
private int bombTimer;
@ -214,7 +212,6 @@ public class HbmLivingProps implements IExtendedEntityProperties {
public static void incrementAsbestos(EntityLivingBase entity, int asbestos) {
if(RadiationConfig.disableAsbestos) return;
setAsbestos(entity, getAsbestos(entity) + asbestos);
incrementFibrosis(entity, asbestos);
if(entity instanceof EntityPlayerMP) {
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.asbestos").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity);
@ -241,34 +238,12 @@ public class HbmLivingProps implements IExtendedEntityProperties {
public static void incrementBlackLung(EntityLivingBase entity, int blacklung) {
if(RadiationConfig.disableCoal) return;
setBlackLung(entity, getBlackLung(entity) + blacklung);
incrementFibrosis(entity, blacklung);
if(entity instanceof EntityPlayerMP) {
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.coaldust").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity);
}
}
/// PULMONARY FIBROSIS ///
public static int getFibrosis(EntityLivingBase entity) {
if(RadiationConfig.disableFibrosis) return 0;
return getData(entity).fibrosis;
}
public static void setFibrosis(EntityLivingBase entity, int fibrosis) {
if(RadiationConfig.disableFibrosis) return;
getData(entity).fibrosis = fibrosis;
if (fibrosis >= maxFibrosis) {
getData(entity).fibrosis = 0;
entity.attackEntityFrom(ModDamageSource.asbestos, 1000);
}
}
public static void incrementFibrosis(EntityLivingBase entity, int fibrosis) {
if(RadiationConfig.disableFibrosis) return;
setFibrosis(entity, getFibrosis(entity) + fibrosis);
}
/// TIME BOMB ///
public static int getTimer(EntityLivingBase entity) {
return getData(entity).bombTimer;
@ -310,7 +285,6 @@ public class HbmLivingProps implements IExtendedEntityProperties {
props.setInteger("hfr_bomb", bombTimer);
props.setInteger("hfr_contagion", contagion);
props.setInteger("hfr_blacklung", blacklung);
props.setInteger("hfr_fibrosis", fibrosis);
props.setInteger("hfr_oil", oil);
props.setInteger("hfr_cont_count", this.contamination.size());
@ -334,7 +308,6 @@ public class HbmLivingProps implements IExtendedEntityProperties {
bombTimer = props.getInteger("hfr_bomb");
contagion = props.getInteger("hfr_contagion");
blacklung = props.getInteger("hfr_blacklung");
fibrosis = props.getInteger("hfr_fibrosis");
oil = props.getInteger("hfr_oil");
int cont = props.getInteger("hfr_cont_count");

View File

@ -354,8 +354,6 @@ public class EntityEffectHandler {
if(entity instanceof EntityPlayer && ((EntityPlayer) entity).capabilities.isCreativeMode) {
HbmLivingProps.setBlackLung(entity, 0);
HbmLivingProps.setAsbestos(entity, 0);
HbmLivingProps.setFibrosis(entity, 0);
return;
} else {
@ -367,10 +365,8 @@ public class EntityEffectHandler {
double blacklung = Math.min(HbmLivingProps.getBlackLung(entity), HbmLivingProps.maxBlacklung);
double asbestos = Math.min(HbmLivingProps.getAsbestos(entity), HbmLivingProps.maxAsbestos);
double fibrosis = Math.min(HbmLivingProps.getFibrosis(entity), HbmLivingProps.maxFibrosis);
boolean coughs = blacklung / HbmLivingProps.maxBlacklung > 0.25D || asbestos / HbmLivingProps.maxAsbestos > 0.25D;
boolean bronchospasms = fibrosis / HbmLivingProps.maxFibrosis > 0.20D;
if(!coughs)
return;
@ -381,9 +377,8 @@ public class EntityEffectHandler {
double blacklungDelta = 1D - (blacklung / (double)HbmLivingProps.maxBlacklung);
double asbestosDelta = 1D - (asbestos / (double)HbmLivingProps.maxAsbestos);
double fibrosisDelta = 1D - (fibrosis / (double)HbmLivingProps.maxFibrosis);
double total = 1 - (blacklungDelta * asbestosDelta * fibrosisDelta);
double total = 1 - (blacklungDelta * asbestosDelta);
int freq = Math.max((int) (1000 - 950 * total), 20);
@ -400,29 +395,22 @@ public class EntityEffectHandler {
if(world.getTotalWorldTime() % freq == entity.getEntityId() % freq) {
world.playSoundEffect(entity.posX, entity.posY, entity.posZ, "hbm:player.cough", 1.0F, 1.0F);
if(entity.getRNG().nextInt(6) > 1) {
if(coughsBlood) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setString("mode", "blood");
nbt.setInteger("count", 5);
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}
if(coughsBlood) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setString("mode", "blood");
nbt.setInteger("count", 5);
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}
if(coughsCoal) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setString("mode", "smoke");
nbt.setInteger("count", coughsALotOfCoal ? 50 : 10);
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}
} else {
if(bronchospasms) {
entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200, 2));
entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 140, 2));
}
if(coughsCoal) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "vomit");
nbt.setString("mode", "smoke");
nbt.setInteger("count", coughsALotOfCoal ? 50 : 10);
nbt.setInteger("entity", entity.getEntityId());
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25));
}
}
}

View File

@ -4,11 +4,8 @@ import java.util.List;
import com.hbm.config.GeneralConfig;
import com.hbm.config.RadiationConfig;
import com.hbm.handler.ArmorModHandler;
import com.hbm.hazard.modifier.HazardModifier;
import com.hbm.items.ModItems;
import com.hbm.items.armor.ItemModGloves;
import com.hbm.util.ArmorUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase;
@ -26,31 +23,12 @@ public class HazardTypeHot extends HazardTypeBase {
return;
boolean reacher = false;
boolean gloves = false;
//Why on earth did I add gloves again?
if(target instanceof EntityPlayer) {
ItemStack item = ((EntityPlayer) target).inventory.getCurrentItem();
if(item != null)
reacher = item.getItem() == ModItems.reacher;
ItemStack armor = target.getEquipmentInSlot(3);
if(armor != null) {
gloves = armor.getItem() instanceof ItemModGloves || ArmorUtil.checkForHazmat(target);
if(!gloves) {
ItemStack mod = ArmorModHandler.pryMods(armor)[ArmorModHandler.legs_only];
if(mod != null)
gloves = mod.getItem() instanceof ItemModGloves;
}
}
}
if(target instanceof EntityPlayer && !GeneralConfig.enable528)
reacher = ((EntityPlayer) target).inventory.hasItem(ModItems.reacher);
if(!target.isWet() && level > 0) {
if(GeneralConfig.enable528 && ((!reacher || !gloves) || level > 3))
target.setFire((int) Math.ceil(level));
if(((!reacher || !gloves) && level > 2) || (!reacher && !gloves))
target.setFire((int) Math.ceil(level));
}
if(!reacher && !target.isWet() && level > 0)
target.setFire((int) Math.ceil(level));
}
@Override

View File

@ -6,9 +6,9 @@ import com.hbm.config.GeneralConfig;
import com.hbm.hazard.modifier.HazardModifier;
import com.hbm.items.ModItems;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.I18nUtil;
import com.hbm.util.ContaminationUtil.ContaminationType;
import com.hbm.util.ContaminationUtil.HazardType;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -25,11 +25,8 @@ public class HazardTypeRadiation extends HazardTypeBase {
boolean reacher = false;
if(target instanceof EntityPlayer) {
ItemStack item = ((EntityPlayer) target).inventory.getCurrentItem();
if(item != null)
reacher = item.getItem() == ModItems.reacher;
}
if(target instanceof EntityPlayer && !GeneralConfig.enable528)
reacher = ((EntityPlayer) target).inventory.hasItem(ModItems.reacher);
level *= stack.stackSize;
@ -37,7 +34,7 @@ public class HazardTypeRadiation extends HazardTypeBase {
float rad = level / 20F;
if(GeneralConfig.enable528 && reacher) {
rad = (float) (rad / Math.pow(7, 2)); //More realistic function for 528: x / distance^2
rad = (float) (rad / 49F); //More realistic function for 528: x / distance^2
} else if(reacher) {
rad = (float) Math.sqrt(rad + 1F / ((rad + 2F) * (rad + 2F))) - 1F / (rad + 2F); //Reworked radiation function: sqrt(x+1/(x+2)^2)-1/(x+2)
}

View File

@ -934,7 +934,6 @@ public class ModItems {
public static Item radx;
public static Item siox;
public static Item pill_herbal;
public static Item pirfenidone;
public static Item xanax;
public static Item fmn;
public static Item five_htp;
@ -2242,7 +2241,6 @@ public class ModItems {
public static Item attachment_mask;
public static Item attachment_mask_mono;
public static Item back_tesla;
public static Item rubber_gloves;
public static Item servo_set;
public static Item servo_set_desh;
public static Item pads_rubber;
@ -3463,7 +3461,6 @@ public class ModItems {
radx = new ItemPill(0).setUnlocalizedName("radx").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radx");
siox = new ItemPill(0).setUnlocalizedName("siox").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":siox");
pill_herbal = new ItemPill(0).setUnlocalizedName("pill_herbal").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_herbal");
pirfenidone = new ItemPill(0).setUnlocalizedName("pirfenidone").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pirfenidone");
xanax = new ItemPill(0).setUnlocalizedName("xanax").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":xanax_2");
fmn = new ItemPill(0).setUnlocalizedName("fmn").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":tablet");
five_htp = new ItemPill(0).setUnlocalizedName("five_htp").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":5htp");
@ -3484,7 +3481,6 @@ public class ModItems {
attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setTextureName(RefStrings.MODID + ":attachment_mask");
attachment_mask_mono = new ItemModGasmask().setUnlocalizedName("attachment_mask_mono").setTextureName(RefStrings.MODID + ":attachment_mask_mono");
back_tesla = new ItemModTesla().setUnlocalizedName("back_tesla").setTextureName(RefStrings.MODID + ":back_tesla");
rubber_gloves = new ItemModGloves().setUnlocalizedName("rubber_gloves").setTextureName(RefStrings.MODID + ":rubber_gloves");
servo_set = new ItemModServos().setUnlocalizedName("servo_set").setTextureName(RefStrings.MODID + ":servo_set");
servo_set_desh = new ItemModServos().setUnlocalizedName("servo_set_desh").setTextureName(RefStrings.MODID + ":servo_set_desh");
pads_rubber = new ItemModPads(0.5F).setUnlocalizedName("pads_rubber").setTextureName(RefStrings.MODID + ":pads_rubber");
@ -7707,7 +7703,6 @@ public class ModItems {
GameRegistry.registerItem(radx, radx.getUnlocalizedName());
GameRegistry.registerItem(siox, siox.getUnlocalizedName());
GameRegistry.registerItem(pill_herbal, pill_herbal.getUnlocalizedName());
GameRegistry.registerItem(pirfenidone, pirfenidone.getUnlocalizedName());
GameRegistry.registerItem(pill_iodine, pill_iodine.getUnlocalizedName());
GameRegistry.registerItem(xanax, xanax.getUnlocalizedName());
GameRegistry.registerItem(fmn, fmn.getUnlocalizedName());
@ -7853,7 +7848,6 @@ public class ModItems {
GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName());
GameRegistry.registerItem(attachment_mask_mono, attachment_mask_mono.getUnlocalizedName());
GameRegistry.registerItem(back_tesla, back_tesla.getUnlocalizedName());
GameRegistry.registerItem(rubber_gloves, rubber_gloves.getUnlocalizedName());
GameRegistry.registerItem(servo_set, servo_set.getUnlocalizedName());
GameRegistry.registerItem(servo_set_desh, servo_set_desh.getUnlocalizedName());
GameRegistry.registerItem(pads_rubber, pads_rubber.getUnlocalizedName());

View File

@ -1,29 +0,0 @@
package com.hbm.items.armor;
import java.util.List;
import com.hbm.handler.ArmorModHandler;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemModGloves extends ItemArmorMod {
public ItemModGloves() {
super(ArmorModHandler.legs_only, false, true, false, false);
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.DARK_PURPLE + "Protects against hot items; use with reacher");
list.add("");
super.addInformation(itemstack, player, list, bool);
}
@Override
public boolean isValidArmor(ItemStack stack, int armorType, Entity entity) {
return armorType == 1;
}
}

View File

@ -9,6 +9,7 @@ import com.hbm.extprop.HbmLivingProps;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
import com.hbm.potion.HbmPotion;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
@ -59,8 +60,6 @@ public class ItemPill extends ItemFood {
}
if(this == ModItems.pill_herbal) {
float fibrosis = HbmLivingProps.getFibrosis(player);
HbmLivingProps.setFibrosis(player, (int) Math.min(fibrosis, 37800));
HbmLivingProps.setAsbestos(player, 0);
HbmLivingProps.setBlackLung(player, Math.min(HbmLivingProps.getBlackLung(player), HbmLivingProps.maxBlacklung / 5));
HbmLivingProps.incrementRadiation(player, -100F);
@ -94,11 +93,6 @@ public class ItemPill extends ItemFood {
HbmLivingProps.setDigamma(player, Math.min(digamma, 2F));
player.addPotionEffect(new PotionEffect(Potion.blindness.id, 60, 0));
}
if(this == ModItems.pirfenidone) {
float fibrosis = HbmLivingProps.getFibrosis(player);
HbmLivingProps.setFibrosis(player, (int) Math.min(fibrosis, 37800));
}
if(this == ModItems.five_htp) {
HbmLivingProps.setDigamma(player, 0);
@ -109,36 +103,15 @@ public class ItemPill extends ItemFood {
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(this == ModItems.pill_iodine) {
list.add("Removes negative effects");
}
if(this == ModItems.plan_c) {
list.add("Deadly");
}
if(this == ModItems.radx) {
list.add("Increases radiation resistance by 0.2 (37%) for 3 minutes");
}
if(this == ModItems.siox) {
list.add("Reverses mesothelioma with the power of Asbestos!");
}
if(this == ModItems.pill_herbal) {
list.add("Effective treatment against lung disease and mild radiation poisoning");
list.add("Comes with side effects");
}
if(this == ModItems.xanax) {
list.add("Removes 500mDRX");
}
if(this == ModItems.fmn) {
list.add("Removes all DRX above 2,000mDRX");
}
if(this == ModItems.chocolate) {
list.add("Radium Chocolate? Pretty sure this is just meth.");
}
if(this == ModItems.pirfenidone) {
list.add("Removes all Pulmonary Fibrosis over 35%");
}
if(this == ModItems.five_htp) {
list.add("Removes all DRX, Stability for 10 minutes");
String unloc = this.getUnlocalizedName() + ".desc"; //this should really be an interface...
String loc = I18nUtil.resolveKey(unloc);
if(!unloc.equals(loc)) {
String[] locs = loc.split("\\$");
for(String s : locs) {
list.add(s);
}
}
}

View File

@ -83,7 +83,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', KEY_STICK, 'I', Items.iron_ingot, 'Q', Items.quartz});
addRecipeAuto(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', CU.plate() });
addRecipeAuto(new ItemStack(ModItems.rubber_gloves, 1), new Object[] { " ", "RRR", "RAR", 'R', ModItems.plate_polymer, 'A', ASBESTOS.ingot() });
addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', REDSTONE.dust() });
addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', IRON.plate(), 'L', PB.plate(), 'I', ModItems.plate_polymer });
addRecipeAuto(new ItemStack(ModItems.asbestos_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', BR.dust(), 'C', Blocks.wool });

View File

@ -992,6 +992,8 @@ public class MainRegistry {
ignoreMappings.add("hbm:tile.dummy_block_fluidtank");
ignoreMappings.add("hbm:tile.dummy_port_fluidtank");
ignoreMappings.add("hbm:item.telepad");
ignoreMappings.add("hbm:item.rubber_gloves");
ignoreMappings.add("hbm:item.pirfenidone");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -1664,6 +1664,7 @@ item.chernobylsign.name=Chernobyl Warning Sign Battle Axe
item.chlorine_pinwheel.name=Chlorine Pinwheel
item.chlorophyte_pickaxe.name=Chlorophyte Pickaxe
item.chocolate.name=Ithis-Brand Radium Chocolate
item.chocolate.desc=Radium Chocolate? Pretty sure this is just meth.
item.chocolate_milk.name=Chocolate Milk
item.chopper.name=Hunter Chopper
item.chopper_blades.name=Hunter Chopper Rotor Blades
@ -1955,6 +1956,7 @@ item.fins_quad_titanium.name=Small Titanium Fins
item.fins_small_steel.name=Small Steel Grid Fins
item.fins_tri_steel.name=Large Steel Fins
item.five_htp.name=Enteramine Pills
item.five_htp.desc=Removes all DRX, Stability for 10 minutes
item.flame_conspiracy.name=Conspiracy Theory
item.flame_conspiracy.desc=Steel beams can't melt jet fuel!
item.flame_opinion.name=Own Opinion
@ -1987,6 +1989,7 @@ item.fluid_tank_lead_full.name=Hazardous Material Tank:
item.fluorite.name=Fluorite
item.flywheel_beryllium.name=Beryllium Flywheel
item.fmn.name=Flunitrazepam Tablet
item.fmn.desc=Removes all DRX above 2,000mDRX
item.folly_bullet.name=12.8cm Starmetal High-Energy Shell
item.folly_bullet_du.name=12.8cm DU-Shell
item.folly_bullet_nuclear.name=12.8cm Nuclear Shell
@ -2866,18 +2869,20 @@ item.pile_rod_source.desc=§d[Neutron Source]
item.pile_rod_uranium.name=Chicago Pile Uranium Rod
item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample
item.pill_iodine.name=Iodine Pill
item.pill_iodine.desc=Removes negative effects
item.pill_herbal.name=Herbal Paste
item.pill_iodine.desc=Effective treatment against lung disease and mild radiation poisoning$Comes with side effects
item.pin.name=Bobby Pin
item.pin.desc="*Unmodified* success rate of picking a standard lock is ~10%.
item.pipes_steel.name=Steel Pipes
item.pipes_steel.desc=Uncrafting was omitted due to tax evasion.
item.pirfenidone.name=Pirfenidone
item.piston_selenium.name=Combustion Engine Piston
item.piston_set_desh.name=Desh Piston Set
item.piston_set_dura.name=High-Speed Steel Piston Set
item.piston_set_starmetal.name=Starmetal Piston Set
item.piston_set_steel.name=Steel Piston Set
item.plan_c.name=Plan C
item.plan_c.desc=Deadly
item.plant_item.rope.name=Rope
item.plant_item.tobacco.name=Tobacco
item.plate_advanced_alloy.name=Advanced Alloy Plate
@ -3039,6 +3044,7 @@ item.radaway.name=RadAway
item.radaway_flush.name=Elite RadAway
item.radaway_strong.name=Strong RadAway
item.radx.name=Rad-X
item.radx.desc=Increases radiation resistance by 0.2 (37%) for 3 minutes
item.rag.name=Cloth
item.rag_damp.name=Damp Cloth
item.rag_piss.name=Piss-Soaked Rag
@ -3383,6 +3389,7 @@ item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity
item.singularity_spark.name=Spark Singularity
item.singularity_super_heated.name=Superheated Resonating Singularity
item.siox.name=SiOX Cancer Medication
item.siox.desc=Reverses mesothelioma with the power of Asbestos!
item.siren_track.name=Siren Track
item.smashing_hammer.name=Smashing Hammer
item.solid_fuel.name=Solid Fuel
@ -3644,6 +3651,7 @@ item.wrench.name=Pipe Wrench
item.wrench_archineer.name=Archineer's Wrench
item.wrench_flipped.name=Blade on a Wrench
item.xanax.name=NAXA Anti-Digamma Medication
item.xanax.desc=Removes 500mDRX
item.zirconium_legs.name=Zirconium Pants
itemGroup.tabBlocks=NTM Ores and Blocks