From e0e8898743d22f59d4af50d5c62f7dfc787a2f41 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 21 Sep 2021 14:26:53 +0200 Subject: [PATCH] integrated hazard loading into the new ore dict manager --- src/main/java/com/hbm/hazard/HazardData.java | 2 +- src/main/java/com/hbm/hazard/HazardEntry.java | 10 + .../java/com/hbm/hazard/HazardRegistry.java | 18 +- .../com/hbm/hazard/type/HazardTypeHot.java | 2 +- .../com/hbm/inventory/OreDictManager.java | 288 +++++++++++------- 5 files changed, 202 insertions(+), 118 deletions(-) diff --git a/src/main/java/com/hbm/hazard/HazardData.java b/src/main/java/com/hbm/hazard/HazardData.java index 236937fcd..ffeb6bfce 100644 --- a/src/main/java/com/hbm/hazard/HazardData.java +++ b/src/main/java/com/hbm/hazard/HazardData.java @@ -16,7 +16,7 @@ public class HazardData { * Does the opposite of overrides, if a previous entry collides with this one, this one will yield. * * RESERVED BITS (please keep this up to date) - * -1: base material aliases ("ingotX") + * -1: oredict ("ingotX") */ int mutexBits = 0b0000_0000_0000_0000_0000_0000_0000_0000; diff --git a/src/main/java/com/hbm/hazard/HazardEntry.java b/src/main/java/com/hbm/hazard/HazardEntry.java index 1240aae21..fa8e6bc1d 100644 --- a/src/main/java/com/hbm/hazard/HazardEntry.java +++ b/src/main/java/com/hbm/hazard/HazardEntry.java @@ -39,4 +39,14 @@ public class HazardEntry { public HazardTypeBase getType() { return this.type; } + + public HazardEntry clone() { + return clone(1F); + } + + public HazardEntry clone(float mult) { + HazardEntry clone = new HazardEntry(type, baseLevel * mult); + clone.mods = this.mods; + return clone; + } } diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index fedeea349..0ef7867fa 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -1,8 +1,7 @@ package com.hbm.hazard; import com.hbm.hazard.transformer.HazardTransformerRadiationNBT; -import com.hbm.hazard.type.HazardTypeBase; -import com.hbm.hazard.type.HazardTypeRadiation; +import com.hbm.hazard.type.*; import com.hbm.items.special.ItemHazard; public class HazardRegistry { @@ -76,6 +75,8 @@ public class HazardRegistry { public static final float nugget = 0.1F; public static final float ingot = 1.0F; + public static final float gem = 1.0F; + public static final float plate = 1.0F; public static final float powder_mult = 3.0F; public static final float powder = ingot * powder_mult; public static final float powder_tiny = nugget * powder_mult; @@ -89,9 +90,13 @@ public class HazardRegistry { public static final float rod_rbmk = rod * 8; public static final HazardTypeBase RADIATION = new HazardTypeRadiation(); + public static final HazardTypeBase DIGAMMA = new HazardTypeDigamma(); + public static final HazardTypeBase HOT = new HazardTypeHot(); + public static final HazardTypeBase BLINDING = new HazardTypeBlinding(); + public static final HazardTypeBase ASBESTOS = new HazardTypeAsbestos(); public static void registerItems() { - HazardSystem.register("ingotPlutonium", makeData(RADIATION, pu * ingot)); + //HazardSystem.register("ingotPlutonium", makeData(RADIATION, pu * ingot)); //TODO: move all the itemhazard stuff here //TODO: move this into its own method @@ -102,11 +107,4 @@ public class HazardRegistry { private static HazardData makeData(HazardTypeBase hazard) { return new HazardData().addEntry(hazard); } private static HazardData makeData(HazardTypeBase hazard, float level) { return new HazardData().addEntry(hazard, level); } private static HazardData makeData(HazardTypeBase hazard, float level, boolean override) { return new HazardData().addEntry(hazard, level, override); } - - public static void reloadSystem() { - HazardSystem.oreMap.clear(); - HazardSystem.itemMap.clear(); - HazardSystem.stackMap.clear(); - registerItems(); - } } diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeHot.java b/src/main/java/com/hbm/hazard/type/HazardTypeHot.java index d29f312da..5c89eb3c7 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeHot.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeHot.java @@ -23,7 +23,7 @@ public class HazardTypeHot extends HazardTypeBase { reacher = ((EntityPlayer) target).inventory.hasItem(ModItems.reacher); if(!reacher && !target.isWet()) - target.setFire((int) level); + target.setFire((int) Math.ceil(level)); } @Override diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 603c7f738..3acfdfe92 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -1,128 +1,164 @@ package com.hbm.inventory; -import com.hbm.blocks.ModBlocks; +import java.util.ArrayList; +import java.util.List; + +//i love you +import static com.hbm.items.ModItems.*; +import static com.hbm.blocks.ModBlocks.*; + import com.hbm.config.GeneralConfig; +import com.hbm.hazard.HazardData; +import com.hbm.hazard.HazardEntry; +import com.hbm.hazard.HazardRegistry; +import com.hbm.hazard.HazardSystem; import com.hbm.interfaces.Untested; -import com.hbm.items.ModItems; import net.minecraft.block.Block; import net.minecraft.init.Items; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; public class OreDictManager { public static void registerOres() { - new DictFrame("Coal").gem(Items.coal).dustSmall(ModItems.powder_coal_tiny).dust(ModItems.powder_coal); - new DictFrame("Iron").plate(ModItems.plate_iron).dust(ModItems.powder_iron).ore(ModBlocks.ore_gneiss_iron); - new DictFrame("Gold").plate(ModItems.plate_gold).dust(ModItems.powder_gold).ore(ModBlocks.ore_gneiss_gold); - new DictFrame("Lapis").dust(ModItems.powder_lapis); - new DictFrame("NetherQuartz").gem(Items.quartz).dust(ModItems.powder_quartz); - new DictFrame("Diamond").dust(ModItems.powder_diamond).ore(ModBlocks.gravel_diamond); - new DictFrame("Emerald").dust(ModItems.powder_emerald); + /* + * VANILLA + */ + new DictFrame("Coal").gem(Items.coal).dustSmall(powder_coal_tiny).dust(powder_coal); + new DictFrame("Iron").plate(plate_iron).dust(powder_iron).ore(ore_gneiss_iron); + new DictFrame("Gold").plate(plate_gold).dust(powder_gold).ore(ore_gneiss_gold); + new DictFrame("Lapis").dust(powder_lapis); + new DictFrame("NetherQuartz").gem(Items.quartz).dust(powder_quartz); + new DictFrame("Diamond").dust(powder_diamond).ore(gravel_diamond); + new DictFrame("Emerald").dust(powder_emerald); - new DictFrame("Uranium").nugget(ModItems.nugget_uranium).billet(ModItems.billet_uranium).ingot(ModItems.ingot_uranium).dust(ModItems.powder_uranium).block(ModBlocks.block_uranium) - .ore(ModBlocks.ore_uranium, ModBlocks.ore_uranium_scorched, ModBlocks.ore_gneiss_uranium, ModBlocks.ore_gneiss_uranium_scorched, ModBlocks.ore_nether_uranium, ModBlocks.ore_nether_uranium_scorched, ModBlocks.ore_meteor_uranium); - new DictFrame("Uranium233", "U233").nugget(ModItems.nugget_u233).billet(ModItems.billet_u233).ingot(ModItems.ingot_u233).block(ModBlocks.block_u233); - new DictFrame("Uranium235", "U235").nugget(ModItems.nugget_u235).billet(ModItems.billet_u235).ingot(ModItems.ingot_u235).block(ModBlocks.block_u235); - new DictFrame("Uranium238", "U238").nugget(ModItems.nugget_u238).billet(ModItems.billet_u238).ingot(ModItems.ingot_u238).block(ModBlocks.block_u238); - new DictFrame("Thorium232", "Th232").nugget(ModItems.nugget_th232).billet(ModItems.billet_th232).ingot(ModItems.ingot_th232).dust(ModItems.powder_thorium).block(ModBlocks.block_thorium).ore(ModBlocks.ore_thorium, ModBlocks.ore_meteor_thorium); - new DictFrame("Plutonium").nugget(ModItems.nugget_plutonium).billet(ModItems.billet_plutonium).ingot(ModItems.ingot_plutonium).dust(ModItems.powder_plutonium).block(ModBlocks.block_plutonium).ore(ModBlocks.ore_nether_plutonium); - new DictFrame("Plutonium238", "Pu238").nugget(ModItems.nugget_pu238).billet(ModItems.billet_pu238).ingot(ModItems.ingot_pu238).block(ModBlocks.block_pu238); - new DictFrame("Plutonium239", "Pu239").nugget(ModItems.nugget_pu239).billet(ModItems.billet_pu239).ingot(ModItems.ingot_pu239).block(ModBlocks.block_pu239); - new DictFrame("Plutonium240", "Pu240").nugget(ModItems.nugget_pu240).billet(ModItems.billet_pu240).ingot(ModItems.ingot_pu240).block(ModBlocks.block_pu240); - new DictFrame("Plutonium241", "Pu241").nugget(ModItems.nugget_pu241).billet(ModItems.billet_pu241).ingot(ModItems.ingot_pu241);//.block(ModBlocks.block_pu241); - new DictFrame("Americium241", "Am241").nugget(ModItems.nugget_am241).billet(ModItems.billet_am241).ingot(ModItems.ingot_am241); - new DictFrame("Americium242", "Am242").nugget(ModItems.nugget_am242).billet(ModItems.billet_am242).ingot(ModItems.ingot_am242); - new DictFrame("Neptunium237", "Np237").nugget(ModItems.nugget_neptunium).billet(ModItems.billet_neptunium).ingot(ModItems.ingot_neptunium).dust(ModItems.powder_neptunium).block(ModBlocks.block_neptunium); - new DictFrame("Polonium210", "Po210").nugget(ModItems.nugget_polonium).billet(ModItems.billet_polonium).ingot(ModItems.ingot_polonium).dust(ModItems.powder_polonium).block(ModBlocks.block_polonium); - new DictFrame("Technetium99", "Tc99").nugget(ModItems.nugget_technetium).billet(ModItems.billet_technetium).ingot(ModItems.ingot_technetium); - new DictFrame("Radium226", "Ra226").nugget(ModItems.nugget_ra226); - new DictFrame("Cobalt60", "Co60").nugget(ModItems.nugget_co60).billet(ModItems.billet_co60).ingot(ModItems.ingot_co60).dust(ModItems.powder_co60); - new DictFrame("Gold198", "Au198").nugget(ModItems.nugget_au198).billet(ModItems.billet_au198).ingot(ModItems.ingot_au198).dust(ModItems.powder_au198); - new DictFrame("Titanium").ingot(ModItems.ingot_titanium).dust(ModItems.powder_titanium).plate(ModItems.plate_titanium).block(ModBlocks.block_titanium).ore(ModBlocks.ore_titanium, ModBlocks.ore_meteor_titanium); - new DictFrame("Copper").ingot(ModItems.ingot_copper).dust(ModItems.powder_copper).plate(ModItems.plate_copper).block(ModBlocks.block_copper).ore(ModBlocks.ore_copper, ModBlocks.ore_gneiss_copper, ModBlocks.ore_meteor_copper); - new DictFrame("Mingrade").ingot(ModItems.ingot_red_copper).dust(ModItems.powder_red_copper).plate(ModItems.plate_advanced_alloy).block(ModBlocks.block_red_copper); - new DictFrame("AdvancedAlloy").ingot(ModItems.ingot_advanced_alloy).dust(ModItems.powder_advanced_alloy).block(ModBlocks.block_advanced_alloy); - new DictFrame("Tungsten").ingot(ModItems.ingot_tungsten).dust(ModItems.powder_tungsten).block(ModBlocks.block_tungsten).ore(ModBlocks.ore_tungsten, ModBlocks.ore_nether_tungsten, ModBlocks.ore_meteor_tungsten); - new DictFrame("Aluminum").ingot(ModItems.ingot_aluminium).dust(ModItems.powder_aluminium).plate(ModItems.plate_aluminium).block(ModBlocks.block_aluminium).ore(ModBlocks.ore_aluminium, ModBlocks.ore_meteor_aluminium); - new DictFrame("Steel").ingot(ModItems.ingot_steel).dustSmall(ModItems.powder_steel_tiny).dust(ModItems.powder_steel).plate(ModItems.plate_steel).block(ModBlocks.block_steel); - new DictFrame("TcAlloy").ingot(ModItems.ingot_tcalloy).dust(ModItems.powder_tcalloy); - new DictFrame("Lead").nugget(ModItems.nugget_lead).ingot(ModItems.ingot_lead).dust(ModItems.powder_lead).plate(ModItems.plate_lead).block(ModBlocks.block_lead).ore(ModBlocks.ore_lead, ModBlocks.ore_meteor_lead); - //new DictFrame("Bismuth").nugget(ModItems.nugget_bismuth).ingot(ModItems.ingot_bismuth); THAT'S WHAT YOU THOUGHT! - new DictFrame("Tantalum").nugget(ModItems.nugget_tantalium).gem(ModItems.gem_tantalium).ingot(ModItems.ingot_tantalium).dust(ModItems.powder_tantalium).block(ModBlocks.block_tantalium); - new DictFrame("Coltan").ingot(ModItems.fragment_coltan).dust(ModItems.powder_coltan_ore).block(ModBlocks.block_coltan).ore(ModBlocks.ore_coltan); - new DictFrame("Niobium").nugget(ModItems.fragment_niobium).ingot(ModItems.ingot_niobium).dustSmall(ModItems.powder_niobium_tiny).dust(ModItems.powder_niobium).block(ModBlocks.block_niobium); - new DictFrame("Beryllium").nugget(ModItems.nugget_beryllium).ingot(ModItems.ingot_beryllium).dust(ModItems.powder_beryllium).block(ModBlocks.block_beryllium).ore(ModBlocks.ore_beryllium); - new DictFrame("Cobalt").nugget(ModItems.fragment_cobalt).ingot(ModItems.ingot_cobalt).dustSmall(ModItems.powder_cobalt_tiny).dust(ModItems.powder_cobalt).block(ModBlocks.block_cobalt).ore(ModBlocks.ore_cobalt, ModBlocks.ore_nether_cobalt); - new DictFrame("Boron").nugget(ModItems.fragment_boron).ingot(ModItems.ingot_boron).dustSmall(ModItems.powder_boron_tiny).dust(ModItems.powder_boron).block(ModBlocks.block_boron); - new DictFrame("Graphite").ingot(ModItems.ingot_graphite).block(ModBlocks.block_graphite); - new DictFrame("DuraSteel").ingot(ModItems.ingot_dura_steel).dust(ModItems.powder_dura_steel).block(ModBlocks.block_dura_steel); - new DictFrame("Polymer").ingot(ModItems.ingot_polymer).dust(ModItems.powder_polymer); - new DictFrame("Schrabidium").nugget(ModItems.nugget_schrabidium).billet(ModItems.billet_schrabidium).ingot(ModItems.ingot_schrabidium).plate(ModItems.plate_schrabidium).dust(ModItems.powder_schrabidium).block(ModBlocks.block_schrabidium).ore(ModBlocks.ore_schrabidium, ModBlocks.ore_gneiss_schrabidium, ModBlocks.ore_nether_schrabidium); - new DictFrame("Schrabidate").ingot(ModItems.ingot_schrabidate).dust(ModItems.powder_schrabidate).block(ModBlocks.block_schrabidate); - new DictFrame("MagnetizedTungsten").ingot(ModItems.ingot_magnetized_tungsten).dust(ModItems.powder_magnetized_tungsten).block(ModBlocks.block_magnetized_tungsten); - new DictFrame("CMBSteel").ingot(ModItems.ingot_combine_steel).dust(ModItems.powder_combine_steel).block(ModBlocks.block_combine_steel); - new DictFrame("Solinium").nugget(ModItems.nugget_solinium).billet(ModItems.billet_solinium).ingot(ModItems.ingot_solinium).block(ModBlocks.block_solinium); - new DictFrame("Lanthanum").nugget(ModItems.fragment_lanthanium).ingot(ModItems.ingot_lanthanium).dustSmall(ModItems.powder_lanthanium_tiny).dust(ModItems.powder_lanthanium).block(ModBlocks.block_lanthanium); - new DictFrame("Actinium").nugget(ModItems.fragment_actinium).ingot(ModItems.ingot_actinium).dustSmall(ModItems.powder_actinium_tiny).dust(ModItems.powder_actinium).block(ModBlocks.block_actinium); - new DictFrame("Desh").nugget(ModItems.nugget_desh).ingot(ModItems.ingot_desh).dust(ModItems.powder_desh).block(ModBlocks.block_desh); - new DictFrame("Starmetal").ingot(ModItems.ingot_starmetal).block(ModBlocks.block_starmetal).ore(ModBlocks.ore_meteor_starmetal); - new DictFrame("Saturnite").ingot(ModItems.ingot_saturnite).plate(ModItems.plate_saturnite); - new DictFrame("Euphemium").nugget(ModItems.nugget_euphemium).ingot(ModItems.ingot_euphemium).dust(ModItems.powder_euphemium).block(ModBlocks.block_euphemium); - new DictFrame("Dineutronium").nugget(ModItems.nugget_dineutronium).ingot(ModItems.ingot_dineutronium).dust(ModItems.powder_dineutronium).block(ModBlocks.block_dineutronium); - new DictFrame("WhitePhosphorus").ingot(ModItems.ingot_phosphorus).block(ModBlocks.block_white_phosphorus); - new DictFrame("RedPhosphorus").dust(ModItems.powder_fire).block(ModBlocks.block_red_phosphorus); - new DictFrame("Lithium").ingot(ModItems.lithium).dustSmall(ModItems.powder_lithium_tiny).dust(ModItems.powder_lithium).block(ModBlocks.block_lithium).ore(ModBlocks.ore_gneiss_lithium, ModBlocks.ore_meteor_lithium); - new DictFrame("Zirconium").nugget(ModItems.nugget_zirconium).ingot(ModItems.ingot_zirconium).dust(ModItems.powder_zirconium).block(ModBlocks.block_zirconium).ore(ModBlocks.ore_depth_zirconium); - new DictFrame("Fiberglass").ingot(ModItems.ingot_fiberglass).block(ModBlocks.block_fiberglass); - new DictFrame("Asbestos").ingot(ModItems.ingot_asbestos).dust(ModItems.powder_asbestos).block(ModBlocks.block_asbestos).ore(ModBlocks.ore_asbestos, ModBlocks.ore_gneiss_asbestos, ModBlocks.basalt_asbestos); - new DictFrame("Cinnabar").crystal(ModItems.cinnebar).gem(ModItems.cinnebar).ore(ModBlocks.ore_cinnebar, ModBlocks.ore_depth_cinnebar); - new DictFrame("Lignite").gem(ModItems.lignite).dust(ModItems.powder_lignite).ore(ModBlocks.ore_lignite); - new DictFrame("Sulfur").dust(ModItems.sulfur).block(ModBlocks.block_sulfur).ore(ModBlocks.ore_sulfur, ModBlocks.ore_nether_sulfur, ModBlocks.basalt_sulfur, ModBlocks.ore_meteor_sulfur); - new DictFrame("Niter").dust(ModItems.niter).block(ModBlocks.block_niter).ore(ModBlocks.ore_niter); - new DictFrame("Fluorite").dust(ModItems.fluorite).block(ModBlocks.block_fluorite).ore(ModBlocks.ore_fluorite, ModBlocks.basalt_fluorite); - new DictFrame("Volcanic").gem(ModItems.gem_volcanic).ore(ModBlocks.basalt_gem); + /* + * RADIOACTIVE + */ + new DictFrame("Uranium") .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_meteor_uranium); + new DictFrame("Uranium233", "U233") .rad(HazardRegistry.u233) .nugget(nugget_u233) .billet(billet_u233) .ingot(ingot_u233) .block(block_u233); + new DictFrame("Uranium235", "U235") .rad(HazardRegistry.u235) .nugget(nugget_u235) .billet(billet_u235) .ingot(ingot_u235) .block(block_u235); + new DictFrame("Uranium238", "U238") .rad(HazardRegistry.u238) .nugget(nugget_u238) .billet(billet_u238) .ingot(ingot_u238) .block(block_u238); + new DictFrame("Thorium232", "Th232") .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium, ore_meteor_thorium); + new DictFrame("Plutonium") .rad(HazardRegistry.pu) .nugget(nugget_plutonium) .billet(billet_plutonium) .ingot(ingot_plutonium) .dust(powder_plutonium) .block(block_plutonium) .ore(ore_nether_plutonium); + new DictFrame("Plutonium238", "Pu238") .rad(HazardRegistry.pu238) .nugget(nugget_pu238) .billet(billet_pu238) .ingot(ingot_pu238) .block(block_pu238); + new DictFrame("Plutonium239", "Pu239") .rad(HazardRegistry.pu239) .nugget(nugget_pu239) .billet(billet_pu239) .ingot(ingot_pu239) .block(block_pu239); + new DictFrame("Plutonium240", "Pu240") .rad(HazardRegistry.pu240) .nugget(nugget_pu240) .billet(billet_pu240) .ingot(ingot_pu240) .block(block_pu240); + new DictFrame("Plutonium241", "Pu241") .rad(HazardRegistry.pu241) .nugget(nugget_pu241) .billet(billet_pu241) .ingot(ingot_pu241); //.block(block_pu241); + new DictFrame("Americium241", "Am241") .rad(HazardRegistry.am241) .nugget(nugget_am241) .billet(billet_am241) .ingot(ingot_am241); + new DictFrame("Americium242", "Am242") .rad(HazardRegistry.am242) .nugget(nugget_am242) .billet(billet_am242) .ingot(ingot_am242); + new DictFrame("Neptunium237", "Np237") .rad(HazardRegistry.np237) .nugget(nugget_neptunium) .billet(billet_neptunium) .ingot(ingot_neptunium) .dust(powder_neptunium) .block(block_neptunium); + new DictFrame("Polonium210", "Po210") .rad(HazardRegistry.po210).hot(3) .nugget(nugget_polonium) .billet(billet_polonium) .ingot(ingot_polonium) .dust(powder_polonium) .block(block_polonium); + new DictFrame("Technetium99", "Tc99") .rad(HazardRegistry.tc99) .nugget(nugget_technetium) .billet(billet_technetium) .ingot(ingot_technetium); + new DictFrame("Radium226", "Ra226") .rad(HazardRegistry.ra226) .nugget(nugget_ra226); + new DictFrame("Cobalt60", "Co60") .rad(HazardRegistry.co60).hot(1) .nugget(nugget_co60) .billet(billet_co60) .ingot(ingot_co60) .dust(powder_co60); + new DictFrame("Gold198", "Au198") .rad(HazardRegistry.au198).hot(5) .nugget(nugget_au198) .billet(billet_au198) .ingot(ingot_au198) .dust(powder_au198); + new DictFrame("Schrabidium") .rad(HazardRegistry.sa326) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium) .plate(plate_schrabidium) .block(block_schrabidium) .ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium); + new DictFrame("Solinium") .rad(HazardRegistry.sa327) .nugget(nugget_solinium) .billet(billet_solinium) .ingot(ingot_solinium) .block(block_solinium); - new DictFrame("Australium").nugget(ModItems.nugget_australium).billet(ModItems.billet_australium).ingot(ModItems.ingot_australium).dust(ModItems.powder_australium).block(ModBlocks.block_australium).ore(ModBlocks.ore_australium); - new DictFrame("Reiium").nugget(ModItems.nugget_reiium).ingot(ModItems.ingot_reiium).dust(ModItems.powder_reiium).block(ModBlocks.block_reiium).ore(ModBlocks.ore_reiium); - new DictFrame("Weidanium").nugget(ModItems.nugget_weidanium).ingot(ModItems.ingot_weidanium).dust(ModItems.powder_weidanium).block(ModBlocks.block_weidanium).ore(ModBlocks.ore_weidanium); - new DictFrame("Unobtainium").nugget(ModItems.nugget_unobtainium).ingot(ModItems.ingot_unobtainium).dust(ModItems.powder_unobtainium).block(ModBlocks.block_unobtainium).ore(ModBlocks.ore_unobtainium); - new DictFrame("Verticium").nugget(ModItems.nugget_verticium).ingot(ModItems.ingot_verticium).dust(ModItems.powder_verticium).block(ModBlocks.block_verticium).ore(ModBlocks.ore_verticium); - new DictFrame("Daffergon").nugget(ModItems.nugget_daffergon).ingot(ModItems.ingot_daffergon).dust(ModItems.powder_daffergon).block(ModBlocks.block_daffergon).ore(ModBlocks.ore_daffergon); + /* + * STABLE + */ + new DictFrame("Titanium") .ingot(ingot_titanium) .dust(powder_titanium) .plate(plate_titanium) .block(block_titanium) .ore(ore_titanium, ore_meteor_titanium); + new DictFrame("Copper") .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper, ore_meteor_copper); + new DictFrame("Mingrade") .ingot(ingot_red_copper) .dust(powder_red_copper) .block(block_red_copper); + new DictFrame("AdvancedAlloy") .ingot(ingot_advanced_alloy) .dust(powder_advanced_alloy) .plate(plate_advanced_alloy) .block(block_advanced_alloy); + new DictFrame("Tungsten") .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten); + new DictFrame("Aluminum") .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium); + new DictFrame("Steel") .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel); + new DictFrame("TcAlloy") .ingot(ingot_tcalloy) .dust(powder_tcalloy); + new DictFrame("Lead") .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead); + //new DictFrame("Bismuth") .nugget(nugget_bismuth) .ingot(ingot_bismuth); THAT'S WHAT YOU THOUGHT! + new DictFrame("Tantalum") .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium); + new DictFrame("Coltan") .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan); + new DictFrame("Niobium") .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); + new DictFrame("Beryllium") .nugget(nugget_beryllium) .ingot(ingot_beryllium) .dust(powder_beryllium) .block(block_beryllium) .ore(ore_beryllium); + new DictFrame("Cobalt") .nugget(fragment_cobalt) .ingot(ingot_cobalt) .dustSmall(powder_cobalt_tiny) .dust(powder_cobalt) .block(block_cobalt) .ore(ore_cobalt, ore_nether_cobalt); + new DictFrame("Boron") .nugget(fragment_boron) .ingot(ingot_boron) .dustSmall(powder_boron_tiny) .dust(powder_boron) .block(block_boron); + new DictFrame("Graphite") .ingot(ingot_graphite) .block(block_graphite); + new DictFrame("DuraSteel") .ingot(ingot_dura_steel) .dust(powder_dura_steel) .block(block_dura_steel); + new DictFrame("Polymer") .ingot(ingot_polymer) .dust(powder_polymer); + new DictFrame("Schrabidate") .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); + new DictFrame("MagnetizedTungsten") .ingot(ingot_magnetized_tungsten) .dust(powder_magnetized_tungsten) .block(block_magnetized_tungsten); + new DictFrame("CMBSteel") .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel); + new DictFrame("Desh") .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh); + new DictFrame("Starmetal") .ingot(ingot_starmetal) .block(block_starmetal) .ore(ore_meteor_starmetal); + new DictFrame("Saturnite") .ingot(ingot_saturnite) .plate(plate_saturnite); + new DictFrame("Euphemium") .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium); + new DictFrame("Dineutronium") .nugget(nugget_dineutronium) .ingot(ingot_dineutronium) .dust(powder_dineutronium) .block(block_dineutronium); + new DictFrame("Lithium") .ingot(lithium) .dustSmall(powder_lithium_tiny) .dust(powder_lithium) .block(block_lithium) .ore(ore_gneiss_lithium, ore_meteor_lithium); + new DictFrame("Fiberglass") .ingot(ingot_fiberglass) .block(block_fiberglass); + new DictFrame("Asbestos") .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos); + new DictFrame("Cinnabar") .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); + new DictFrame("Lignite") .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); + new DictFrame("Sulfur") .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur); + new DictFrame("Niter") .dust(niter) .block(block_niter) .ore(ore_niter); + new DictFrame("Fluorite") .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); + new DictFrame("Volcanic") .gem(gem_volcanic) .ore(basalt_gem); - new DictFrame("Neodymium").nugget(ModItems.fragment_neodymium).dustSmall(ModItems.powder_neodymium_tiny).dust(ModItems.powder_neodymium).ore(ModBlocks.ore_depth_nether_neodymium); - new DictFrame("Cerium").nugget(ModItems.fragment_cerium).dustSmall(ModItems.powder_cerium_tiny).dust(ModItems.powder_cerium); - new DictFrame("Iodine").dust(ModItems.powder_iodine); - new DictFrame("Astatine").dust(ModItems.powder_astatine); + /* + * PHOSPHORUS + */ + new DictFrame("WhitePhosphorus") .hot(5) .ingot(ingot_phosphorus) .block(block_white_phosphorus); + new DictFrame("RedPhosphorus") .hot(2) .dust(powder_fire) .block(block_red_phosphorus); + + /* + * RARE METALS + */ + new DictFrame("Australium") .nugget(nugget_australium) .billet(billet_australium) .ingot(ingot_australium) .dust(powder_australium) .block(block_australium) .ore(ore_australium); + new DictFrame("Reiium") .nugget(nugget_reiium) .ingot(ingot_reiium) .dust(powder_reiium) .block(block_reiium) .ore(ore_reiium); + new DictFrame("Weidanium") .nugget(nugget_weidanium) .ingot(ingot_weidanium) .dust(powder_weidanium) .block(block_weidanium) .ore(ore_weidanium); + new DictFrame("Unobtainium") .nugget(nugget_unobtainium) .ingot(ingot_unobtainium) .dust(powder_unobtainium) .block(block_unobtainium) .ore(ore_unobtainium); + new DictFrame("Verticium") .nugget(nugget_verticium) .ingot(ingot_verticium) .dust(powder_verticium) .block(block_verticium) .ore(ore_verticium); + new DictFrame("Daffergon") .nugget(nugget_daffergon) .ingot(ingot_daffergon) .dust(powder_daffergon) .block(block_daffergon) .ore(ore_daffergon); - new DictFrame("Iodine131", "I131").dustSmall(ModItems.powder_i131_tiny).dust(ModItems.powder_i131); - new DictFrame("Xenon135", "Xe135").dustSmall(ModItems.powder_xe135_tiny).dust(ModItems.powder_xe135); - new DictFrame("Caesium137", "Cs137").dustSmall(ModItems.powder_cs137_tiny).dust(ModItems.powder_cs137); - new DictFrame("Astatine209", "At209").dust(ModItems.powder_at209); + /* + * RARE EARTHS + */ + new DictFrame("Lanthanum") .nugget(fragment_lanthanium) .ingot(ingot_lanthanium) .dustSmall(powder_lanthanium_tiny) .dust(powder_lanthanium) .block(block_lanthanium); + new DictFrame("Actinium") .nugget(fragment_actinium) .ingot(ingot_actinium) .dustSmall(powder_actinium_tiny) .dust(powder_actinium) .block(block_actinium); + new DictFrame("Zirconium") .nugget(nugget_zirconium) .ingot(ingot_zirconium) .dust(powder_zirconium) .block(block_zirconium) .ore(ore_depth_zirconium); + new DictFrame("Neodymium") .nugget(fragment_neodymium) .dustSmall(powder_neodymium_tiny) .dust(powder_neodymium) .ore(ore_depth_nether_neodymium); + new DictFrame("Cerium") .nugget(fragment_cerium) .dustSmall(powder_cerium_tiny) .dust(powder_cerium); + + /* + * NITAN + */ + new DictFrame("Iodine") .dust(powder_iodine); + new DictFrame("Astatine") .dust(powder_astatine); - OreDictionary.registerOre(getReflector(), ModItems.neutron_reflector); + /* + * FISSION FRAGMENTS + */ + new DictFrame("Iodine131", "I131") .dustSmall(powder_i131_tiny) .dust(powder_i131); + new DictFrame("Xenon135", "Xe135") .dustSmall(powder_xe135_tiny) .dust(powder_xe135); + new DictFrame("Caesium137", "Cs137") .dustSmall(powder_cs137_tiny) .dust(powder_cs137); + new DictFrame("Astatine209", "At209") .dust(powder_at209); - OreDictionary.registerOre("logWood", ModBlocks.pink_log); - OreDictionary.registerOre("logWoodPink", ModBlocks.pink_log); - OreDictionary.registerOre("plankWood", ModBlocks.pink_planks); - OreDictionary.registerOre("plankWoodPink", ModBlocks.pink_planks); - OreDictionary.registerOre("slabWood", ModBlocks.pink_slab); - OreDictionary.registerOre("slabWoodPink", ModBlocks.pink_slab); - OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs); - OreDictionary.registerOre("stairWoodPink", ModBlocks.pink_stairs); + OreDictionary.registerOre(getReflector(), neutron_reflector); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_boron); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_lead); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_uranium); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_trinitite); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_polonium); - OreDictionary.registerOre("blockGlass", ModBlocks.glass_ash); - OreDictionary.registerOre("blockGlassYellow", ModBlocks.glass_uranium); - OreDictionary.registerOre("blockGlassLime", ModBlocks.glass_trinitite); - OreDictionary.registerOre("blockGlassRed", ModBlocks.glass_polonium); - OreDictionary.registerOre("blockGlassBlack", ModBlocks.glass_ash); + OreDictionary.registerOre("logWood", pink_log); + OreDictionary.registerOre("logWoodPink", pink_log); + OreDictionary.registerOre("plankWood", pink_planks); + OreDictionary.registerOre("plankWoodPink", pink_planks); + OreDictionary.registerOre("slabWood", pink_slab); + OreDictionary.registerOre("slabWoodPink", pink_slab); + OreDictionary.registerOre("stairWood", pink_stairs); + OreDictionary.registerOre("stairWoodPink", pink_stairs); + + OreDictionary.registerOre("blockGlass", glass_boron); + OreDictionary.registerOre("blockGlass", glass_lead); + OreDictionary.registerOre("blockGlass", glass_uranium); + OreDictionary.registerOre("blockGlass", glass_trinitite); + OreDictionary.registerOre("blockGlass", glass_polonium); + OreDictionary.registerOre("blockGlass", glass_ash); + OreDictionary.registerOre("blockGlassYellow", glass_uranium); + OreDictionary.registerOre("blockGlassLime", glass_trinitite); + OreDictionary.registerOre("blockGlassRed", glass_polonium); + OreDictionary.registerOre("blockGlassBlack", glass_ash); } @Untested @@ -132,53 +168,93 @@ public class OreDictManager { public static class DictFrame { String[] mats; + float hazMult = 1.0F; + List hazards = new ArrayList(); public DictFrame(String... mats) { this.mats = mats; } + + public DictFrame rad(float rad) { + return this.haz(new HazardEntry(HazardRegistry.RADIATION, rad)); + } + public DictFrame hot(float time) { + return this.haz(new HazardEntry(HazardRegistry.HOT, time)); + } + public DictFrame haz(HazardEntry hazard) { + hazards.add(hazard); + return this; + } public DictFrame nugget(Item... nugget) { + hazMult = HazardRegistry.nugget; return makeItem("nugget", nugget).makeItem("tiny", nugget); } public DictFrame ingot(Item... ingot) { + hazMult = HazardRegistry.ingot; return makeItem("ingot", ingot); } public DictFrame dustSmall(Item... dustSmall) { + hazMult = HazardRegistry.powder_tiny; return makeItem("dustSmall", dustSmall); } public DictFrame dust(Item... dust) { + hazMult = HazardRegistry.powder; return makeItem("dust", dust); } public DictFrame gem(Item... gem) { + hazMult = HazardRegistry.gem; return makeItem("gem", gem); } public DictFrame crystal(Item... crystal) { + hazMult = HazardRegistry.gem; return makeItem("crystal", crystal); } public DictFrame plate(Item... plate) { + hazMult = HazardRegistry.plate; return makeItem("plate", plate); } public DictFrame billet(Item... billet) { + hazMult = HazardRegistry.billet; return makeItem("billet", billet); } public DictFrame block(Block... block) { + hazMult = HazardRegistry.block; return makeBlocks("block", block); } public DictFrame ore(Block... ore) { + hazMult = 0.0F; return makeBlocks("ore", ore); } public DictFrame oreNether(Block... oreNether) { + hazMult = 0.0F; return makeBlocks("oreNether", oreNether); } public DictFrame makeItem(String tag, Item... items) { - for(String mat : mats) for(Item i : items) OreDictionary.registerOre(tag + mat, i); + for(Item i : items) registerStack(tag, new ItemStack(i)); return this; } public DictFrame makeBlocks(String tag, Block... blocks) { - for(String mat : mats) for(Block b : blocks) OreDictionary.registerOre(tag + mat, b); + for(Block b : blocks) registerStack(tag, new ItemStack(b)); return this; } + + public void registerStack(String tag, ItemStack stack) { + for(String mat : mats) { + OreDictionary.registerOre(tag + mat, stack); + + if(!hazards.isEmpty() && hazMult > 0F) { + HazardData data = new HazardData().setMutex(0b1); + + for(HazardEntry hazard : hazards) { + data.addEntry(hazard.clone(this.hazMult)); + } + + HazardSystem.register(tag + mat, data); + } + } + } } }