lead tanks for nuclear waste fluids and other radioactive substances

This commit is contained in:
Boblet 2021-11-09 16:22:56 +01:00
parent 60d54086cf
commit 4029b7cba6
10 changed files with 60 additions and 17 deletions

View File

@ -13,6 +13,7 @@ public class FluidTypeHandler {
AMAT,
CORROSIVE,
CORROSIVE_2,
LEAD_CONTAINER,
NO_CONTAINER,
NO_ID;
}
@ -61,30 +62,30 @@ public class FluidTypeHandler {
NITAN (0x8018ad, 15, 2, 1, 2, 4, 1, EnumSymbol.NONE, "hbmfluid.nitan"),
UF6 (0xD1CEBE, 14, 1, 1, 4, 0, 2, EnumSymbol.RADIATION, "hbmfluid.uf6", FluidTrait.CORROSIVE),
PUF6 (0x4C4C4C, 15, 1, 1, 4, 0, 4, EnumSymbol.RADIATION, "hbmfluid.puf6", FluidTrait.CORROSIVE),
SAS3 (0x4ffffc, 14, 2, 1, 5, 0, 4, EnumSymbol.RADIATION, "hbmfluid.sas3", FluidTrait.CORROSIVE),
SCHRABIDIC (0x006B6B, 14, 1, 2, 5, 0, 5, EnumSymbol.ACID, "hbmfluid.schrabidic", FluidTrait.CORROSIVE_2),
PUF6 (0x4C4C4C, 15, 1, 1, 4, 0, 4, EnumSymbol.RADIATION, "hbmfluid.puf6", FluidTrait.CORROSIVE, FluidTrait.LEAD_CONTAINER),
SAS3 (0x4ffffc, 14, 2, 1, 5, 0, 4, EnumSymbol.RADIATION, "hbmfluid.sas3", FluidTrait.CORROSIVE, FluidTrait.LEAD_CONTAINER),
SCHRABIDIC (0x006B6B, 14, 1, 2, 5, 0, 5, EnumSymbol.ACID, "hbmfluid.schrabidic", FluidTrait.CORROSIVE_2, FluidTrait.LEAD_CONTAINER),
AMAT (0x010101, 0, 2, 1, 5, 0, 5, EnumSymbol.ANTIMATTER, "hbmfluid.amat", FluidTrait.AMAT),
ASCHRAB (0xb50000, 1, 2, 1, 5, 0, 5, EnumSymbol.ANTIMATTER, "hbmfluid.aschrab", FluidTrait.AMAT),
ACID (0xfff7aa, 10, 2, 1, 3, 0, 3, EnumSymbol.OXIDIZER, "hbmfluid.acid", FluidTrait.CORROSIVE),
WATZ (0x86653E, 11, 2, 1, 4, 0, 3, EnumSymbol.ACID, "hbmfluid.watz", FluidTrait.CORROSIVE_2),
WATZ (0x86653E, 11, 2, 1, 4, 0, 3, EnumSymbol.ACID, "hbmfluid.watz", FluidTrait.CORROSIVE_2, FluidTrait.LEAD_CONTAINER),
CRYOGEL (0x32ffff, 0, 1, 2, 2, 0, 0, EnumSymbol.CROYGENIC, "hbmfluid.cryogel", -170),
HYDROGEN (0x4286f4, 3, 1, 2, 3, 4, 0, EnumSymbol.CROYGENIC, "hbmfluid.hydrogen"),
OXYGEN (0x98bdf9, 4, 1, 2, 3, 0, 0, EnumSymbol.CROYGENIC, "hbmfluid.oxygen"),
XENON (0xba45e8, 5, 1, 2, 0, 0, 0, EnumSymbol.ASPHYXIANT, "hbmfluid.xenon"),
BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", 1500, FluidTrait.CORROSIVE),
BALEFIRE (0x28e02e, 6, 1, 2, 4, 4, 3, EnumSymbol.RADIATION, "hbmfluid.balefire", 1500, FluidTrait.CORROSIVE, FluidTrait.LEAD_CONTAINER),
MERCURY (0x808080, 7, 1, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.mercury"),
PAIN (0x938541, 15, 1, 2, 2, 0, 1, EnumSymbol.ACID, "hbmfluid.pain", 300, FluidTrait.CORROSIVE),
WASTEFLUID (0x544400, 0, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastefluid", FluidTrait.NO_CONTAINER),
WASTEGAS (0xB8B8B8, 1, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastegas", FluidTrait.NO_CONTAINER),
WASTEFLUID (0x544400, 0, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastefluid", FluidTrait.LEAD_CONTAINER),
WASTEGAS (0xB8B8B8, 1, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastegas", FluidTrait.LEAD_CONTAINER),
GASOLINE (0x445772, 2, 2, 2, 1, 2, 0, EnumSymbol.NONE, "hbmfluid.gasoline"),
SPENTSTEAM (0x445772, 3, 2, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.spentsteam", FluidTrait.NO_CONTAINER),
SPENTSTEAM (0x445772, 3, 2, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.spentsteam"),
FRACKSOL (0x798A6B, 4, 2, 2, 1, 3, 3, EnumSymbol.ACID, "hbmfluid.fracksol", FluidTrait.CORROSIVE),
PLASMA_DT (0xF7AFDE, 8, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_dt", 3250, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID),
@ -95,7 +96,7 @@ public class FluidTypeHandler {
PLASMA_DH3 (0xFF83AA, 6, 2, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_dh3", 3480, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID),
HELIUM3 (0xFCF0C4, 7, 2, 2, 3, 4, 0, EnumSymbol.ASPHYXIANT, "hbmfluid.helium3"),
DEATH (0x717A88, 8, 2, 2, 2, 0, 1, EnumSymbol.ACID, "hbmfluid.death", 300, FluidTrait.CORROSIVE_2),
DEATH (0x717A88, 8, 2, 2, 2, 0, 1, EnumSymbol.ACID, "hbmfluid.death", 300, FluidTrait.CORROSIVE_2, FluidTrait.LEAD_CONTAINER),
ETHANOL (0xe0ffff, 9, 2, 2, 2, 3, 0, EnumSymbol.NONE, "hbmfluid.ethanol"),
HEAVYWATER (0x00a0b0, 10, 2, 2, 1, 0, 0, EnumSymbol.NONE, "hbmfluid.heavywater");
@ -208,6 +209,10 @@ public class FluidTypeHandler {
return this.traits.contains(FluidTrait.NO_CONTAINER);
}
public boolean needsLeadContainer() {
return this.traits.contains(FluidTrait.LEAD_CONTAINER);
}
public boolean hasNoID() {
return this.traits.contains(FluidTrait.NO_ID);
}

View File

@ -85,10 +85,18 @@ public class FluidContainerRegistry {
for(int i = 1; i < FluidType.values().length; i++) {
if(!FluidType.values()[i].hasNoContainer()) {
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, i), new ItemStack(ModItems.fluid_tank_empty), FluidType.getEnum(i), 1000));
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, i), new ItemStack(ModItems.fluid_barrel_empty), FluidType.getEnum(i), 16000));
}
FluidType type = FluidType.values()[i];
if(type.hasNoContainer())
continue;
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_lead_full, 1, i), new ItemStack(ModItems.fluid_tank_lead_empty), FluidType.getEnum(i), 1000));
if(type.needsLeadContainer())
continue;
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, i), new ItemStack(ModItems.fluid_tank_empty), FluidType.getEnum(i), 1000));
FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, i), new ItemStack(ModItems.fluid_barrel_empty), FluidType.getEnum(i), 16000));
}
}

View File

@ -275,6 +275,12 @@ public class FluidTank {
if(type.traits.contains(FluidTrait.CORROSIVE_2))
list.add(EnumChatFormatting.GOLD + "Strongly Corrosive");
if(type.traits.contains(FluidTrait.NO_CONTAINER))
list.add(EnumChatFormatting.RED + "Cannot be stored in any universal tank");
if(type.traits.contains(FluidTrait.LEAD_CONTAINER))
list.add(EnumChatFormatting.YELLOW + "Requires hazardous material tank to hold");
gui.drawFluidInfo(list.toArray(new String[0]), mouseX, mouseY);
}
}

View File

@ -823,6 +823,8 @@ public class ModItems {
public static Item fluid_tank_full;
public static Item fluid_tank_empty;
public static Item fluid_tank_lead_full;
public static Item fluid_tank_lead_empty;
public static Item fluid_barrel_full;
public static Item fluid_barrel_empty;
public static Item fluid_barrel_infinite;
@ -4631,6 +4633,8 @@ public class ModItems {
fluid_icon = new ItemFluidIcon().setUnlocalizedName("fluid_icon").setCreativeTab(null).setTextureName(RefStrings.MODID + ":fluid_icon");
fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_empty = new Item().setUnlocalizedName("fluid_tank_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead_empty");
fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_infinite = new Item().setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite");
@ -6164,6 +6168,8 @@ public class ModItems {
GameRegistry.registerItem(fluid_tank_empty, fluid_tank_empty.getUnlocalizedName());
GameRegistry.registerItem(fluid_tank_full, fluid_tank_full.getUnlocalizedName());
GameRegistry.registerItem(fluid_barrel_empty, fluid_barrel_empty.getUnlocalizedName());
GameRegistry.registerItem(fluid_tank_lead_full, fluid_tank_lead_full.getUnlocalizedName());
GameRegistry.registerItem(fluid_tank_lead_empty, fluid_tank_lead_empty.getUnlocalizedName());
GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName());
GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName());

View File

@ -25,8 +25,19 @@ public class ItemFluidTank extends Item {
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List list) {
for(int i = 1; i < FluidType.values().length; ++i) {
if(!FluidType.values()[i].hasNoContainer()) {
for(int i = 1; i < FluidType.values().length; i++) {
FluidType type = FluidType.values()[i];
if(type.hasNoContainer())
continue;
if(type.needsLeadContainer()) {
if(this == ModItems.fluid_tank_lead_full) {
list.add(new ItemStack(item, 1, i));
}
} else {
list.add(new ItemStack(item, 1, i));
}
}
@ -56,6 +67,8 @@ public class ItemFluidTank extends Item {
if(this == ModItems.fluid_tank_full)
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_overlay");
if(this == ModItems.fluid_tank_lead_full)
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_lead_overlay");
if(this == ModItems.fluid_barrel_full)
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_barrel_overlay");
}

View File

@ -533,8 +533,9 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.template_folder, 1), new Object[] { "LPL", "BPB", "LPL", 'P', Items.paper, 'L', KEY_BLUE, 'B', KEY_WHITE });
//addRecipeAuto(new ItemStack(ModItems.turret_control, 1), new Object[] { "R12", "PPI", " I", 'R', REDSTONE.dust(), '1', ModItems.circuit_aluminium, '2', ModItems.circuit_red_copper, 'P', STEEL.plate(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModItems.pellet_antimatter, 1), new Object[] { "###", "###", "###", '#', ModItems.cell_antimatter });
addRecipeAuto(new ItemStack(ModItems.fluid_tank_empty, 8), new Object[] { "121", "1 1", "121", '1', AL.plate(), '2', IRON.plate() });
addRecipeAuto(new ItemStack(ModItems.fluid_barrel_empty, 2), new Object[] { "121", "1 1", "121", '1', STEEL.plate(), '2', AL.plate() });
addRecipeAuto(new ItemStack(ModItems.fluid_tank_empty, 8), new Object[] { "121", "1G1", "121", '1', AL.plate(), '2', IRON.plate(), 'G', KEY_ANYPANE });
addRecipeAuto(new ItemStack(ModItems.fluid_tank_lead_empty, 4), new Object[] { "LUL", "LTL", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'T', ModItems.fluid_tank_empty });
addRecipeAuto(new ItemStack(ModItems.fluid_barrel_empty, 2), new Object[] { "121", "1G1", "121", '1', STEEL.plate(), '2', AL.plate(), 'G', KEY_ANYPANE });
addRecipeAuto(new ItemStack(ModItems.inf_water, 1), new Object[] { "222", "131", "222", '1', Items.water_bucket, '2', AL.plate(), '3', DIAMOND.gem() });
addRecipeAuto(new ItemStack(ModItems.inf_water_mk2, 1), new Object[] { "BPB", "PTP", "BPB", 'B', ModItems.inf_water, 'P', ModBlocks.fluid_duct, 'T', ModItems.tank_steel });

View File

@ -1233,6 +1233,8 @@ item.fluid_identifier.usage1=Shift-rechtsklicke Rohre, um angeschlossene Rohre m
item.fluid_identifier.usage2=einer maximalen Reichweite von 64 Rohren zuzuweisen.
item.fluid_tank_empty.name=Leere universelle Flüssigkeitszelle
item.fluid_tank_full.name=Universelle Flüssigkeitszelle:
item.fluid_tank_lead_empty.name=Leere Gefahrengutzelle
item.fluid_tank__leadfull.name=Gefahrengutzelle:
item.fluorite.name=Fluorit
item.flywheel_beryllium.name=Berylliumschwungscheibe
item.fmn.name=Flunitrazepamtablette

View File

@ -1301,6 +1301,8 @@ item.fluid_identifier.usage1=Shift right click fluid ducts to designate adjacent
item.fluid_identifier.usage2=up to a maximum range of 64 ducts.
item.fluid_tank_empty.name=Empty Universal Fluid Tank
item.fluid_tank_full.name=Universal Fluid Tank:
item.fluid_tank_lead_empty.name=Empty Hazardous Material Tank
item.fluid_tank__leadfull.name=Hazardous Material Tank:
item.fluorite.name=Fluorite
item.flywheel_beryllium.name=Beryllium Flywheel
item.fmn.name=Flunitrazepam Tablet

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 262 B