aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/enums/OrePrefixes.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/enums/OrePrefixes.java')
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java1417
1 files changed, 1417 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
new file mode 100644
index 0000000000..bd30f03c3e
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -0,0 +1,1417 @@
+package gregtech.api.enums;
+
+import static gregtech.api.enums.GT_Values.B;
+import static gregtech.api.enums.GT_Values.D2;
+import static gregtech.api.enums.GT_Values.M;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+
+import com.google.common.collect.ImmutableList;
+
+import gregtech.api.enums.TC_Aspects.TC_AspectStack;
+import gregtech.api.interfaces.ICondition;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.interfaces.ISubTagContainer;
+import gregtech.api.objects.GT_ArrayList;
+import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.objects.ItemData;
+import gregtech.api.objects.MaterialStack;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_Utility;
+import gregtech.loaders.materialprocessing.ProcessingModSupport;
+import it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet;
+import it.unimi.dsi.fastutil.objects.ObjectSet;
+
+public enum OrePrefixes {
+
+ @Deprecated
+ pulp("Pulps", "", "", false, false, false, false, false, false, false, false, false, false,
+ B[0] | B[1] | B[2] | B[3], -1, 64, -1),
+ @Deprecated
+ leaves("Leaves", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ @Deprecated
+ sapling("Saplings", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ @Deprecated
+ itemDust("Dusts", "", "", false, false, false, false, false, false, false, false, false, false,
+ B[0] | B[1] | B[2] | B[3], -1, 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreBlackgranite("Black Granite Ores", "Granite ", " Ore", true, true, false, false, false, true, false, false,
+ false, true, B[3], -1, 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreRedgranite("Red Granite Ores", "Granite ", " Ore", true, true, false, false, false, true, false, false, false,
+ true, B[3], -1, 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreMarble("Marble Ores", "Marble ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3],
+ -1, 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreBasalt("Basalt Ores", "Basalt ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3],
+ -1, 64, -1),
+ /** Prefix of the Nether-Ores Mod. Causes Ores to double. Ore -> Material is a Oneway Operation! */
+ oreNetherrack("Netherrack Ores", "Nether ", " Ore", true, true, false, false, false, true, false, false, false,
+ true, B[3], -1, 64, -1),
+ /** Prefix of the Nether-Ores Mod. Causes Ores to double. Ore -> Material is a Oneway Operation! */
+ oreNether("Nether Ores", "Nether ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3],
+ -1, 64, -1),
+ @Deprecated
+ denseore("Dense Ores", "", "", false, false, false, false, false, true, false, false, false, true, B[3], -1, 64,
+ -1),
+ /** Prefix of the Dense-Ores Mod. Causes Ores to double. Ore -> Material is a Oneway Operation! */
+ oreDense("Dense Ores", "Dense ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1,
+ 64, -1),
+ /** Prefix of TFC */
+ oreRich("Rich Ores", "Rich ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1,
+ 64, -1),
+ /** Prefix of TFC */
+ oreNormal("Normal Ores", "Normal ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3],
+ -1, 64, -1),
+ /** Prefix of Railcraft. */
+ oreSmall("Small Ores", "Small ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1,
+ 64, 67),
+ /** Prefix of Railcraft. */
+ orePoor("Poor Ores", "Poor ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1,
+ 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreEndstone("Endstone Ores", "End ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3],
+ -1, 64, -1),
+ /** In case of an End-Ores Mod. Ore -> Material is a Oneway Operation! */
+ oreEnd("End Ores", "End ", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1, 64,
+ -1),
+ @Deprecated
+ oreGem("Ores", "", "", false, false, false, false, false, true, false, false, false, true, B[3], -1, 64, -1),
+ /** Regular Ore Prefix. Ore -> Material is a Oneway Operation! Introduced by Eloraam */
+ ore("Ores", "", " Ore", true, true, false, false, false, true, false, false, false, true, B[3], -1, 64, 68),
+ crushedCentrifuged("Centrifuged Ores", "Centrifuged ", " Ore", true, true, false, false, false, false, false, true,
+ false, true, B[3], -1, 64, 7),
+ crushedPurified("Purified Ores", "Purified ", " Ore", true, true, false, false, false, false, false, true, false,
+ true, B[3], -1, 64, 6),
+ crushed("Crushed Ores", "Crushed ", " Ore", true, true, false, false, false, false, false, true, false, true, B[3],
+ -1, 64, 5),
+ rawOre("Raw Ore", "Raw ", " Ore", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64,
+ 64),
+
+ /** Introduced by Mekanism */
+ shard("Crystallised Shards", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1,
+ 64, -1),
+ clump("Clumps", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64, -1),
+ reduced("Reduced Gravels", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64,
+ -1),
+ crystalline("Crystallised Metals", "", "", true, true, false, false, false, false, false, false, false, true, B[3],
+ -1, 64, -1),
+ cleanGravel("Clean Gravels", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1,
+ 64, -1),
+ dirtyGravel("Dirty Gravels", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1,
+ 64, -1),
+ /** A quintuple Ingot. */
+ ingotQuintuple("5x Ingots", "Quintuple ", " Ingot", true, true, false, false, false, false, true, true, false,
+ false, B[1], M * 5, 64, 16),
+ /** A quadruple Ingot. */
+ ingotQuadruple("4x Ingots", "Quadruple ", " Ingot", true, true, false, false, false, false, true, true, false,
+ false, B[1], M * 4, 64, 15),
+ @Deprecated
+ ingotQuad("4x Ingots", "Quadruple ", " Ingot", false, false, false, false, false, false, false, false, false, false,
+ B[1], -1, 64, 15),
+ /** A triple Ingot. */
+ ingotTriple("3x Ingots", "Triple ", " Ingot", true, true, false, false, false, false, true, false, false, false,
+ B[1], M * 3, 64, 14),
+ /** A double Ingot. Introduced by TerraFirmaCraft */
+ ingotDouble("2x Ingots", "Double ", " Ingot", true, true, false, false, false, false, true, true, false, false,
+ B[1], M * 2, 64, 13),
+ /** A hot Ingot, which has to be cooled down by a Vacuum Freezer. */
+ ingotHot("Hot Ingots", "Hot ", " Ingot", true, true, false, false, false, false, false, true, false, false, B[1],
+ M * 1, 64, 12),
+ /** A regular Ingot. Introduced by Eloraam */
+ ingot("Ingots", "", " Ingot", true, true, false, false, false, false, false, true, false, false, B[1], M * 1, 64,
+ 11),
+ /** A regular Gem worth one small Dust. Introduced by TerraFirmaCraft */
+ gemChipped("Chipped Gemstones", "Chipped ", "", true, true, true, false, false, false, true, true, false, false,
+ B[2], M / 4, 64, 59),
+ /** A regular Gem worth two small Dusts. Introduced by TerraFirmaCraft */
+ gemFlawed("Flawed Gemstones", "Flawed ", "", true, true, true, false, false, false, true, true, false, false, B[2],
+ M / 2, 64, 60),
+ /** A regular Gem worth two Dusts. Introduced by TerraFirmaCraft */
+ gemFlawless("Flawless Gemstones", "Flawless ", "", true, true, true, false, false, false, true, true, false, false,
+ B[2], M * 2, 64, 61),
+ /** A regular Gem worth four Dusts. Introduced by TerraFirmaCraft */
+ gemExquisite("Exquisite Gemstones", "Exquisite ", "", true, true, true, false, false, false, true, true, false,
+ false, B[2], M * 4, 64, 62),
+ /** A regular Gem worth one Dust. Introduced by Eloraam */
+ gem("Gemstones", "", "", true, true, true, false, false, false, true, true, false, false, B[2], M * 1, 64, 8),
+ @Deprecated
+ dustDirty("Impure Dusts", "", "", false, false, false, false, false, false, false, false, false, true, B[3], -1, 64,
+ 3),
+ /** 1/9th of a Dust. */
+ dustTiny("Tiny Dusts", "Tiny Pile of ", " Dust", true, true, false, false, false, false, false, true, false, false,
+ B[0] | B[1] | B[2] | B[3], M / 9, 64, 0),
+ /** 1/4th of a Dust. */
+ dustSmall("Small Dusts", "Small Pile of ", " Dust", true, true, false, false, false, false, false, true, false,
+ false, B[0] | B[1] | B[2] | B[3], M / 4, 64, 1),
+ /** Dust with impurities. 1 Unit of Main Material and 1/9 - 1/4 Unit of secondary Material */
+ dustImpure("Impure Dusts", "Impure Pile of ", " Dust", true, true, false, false, false, false, false, true, false,
+ true, B[3], M * 1, 64, 3),
+ dustRefined("Refined Dusts", "Refined Pile of ", " Dust", true, true, false, false, false, false, false, true,
+ false, true, B[3], M * 1, 64, 2),
+ dustPure("Purified Dusts", "Purified Pile of ", " Dust", true, true, false, false, false, false, false, true, false,
+ true, B[3], M * 1, 64, 4),
+ /** Pure Dust worth of one Ingot or Gem. Introduced by Alblaka. */
+ dust("Dusts", "", " Dust", true, true, false, false, false, false, false, true, false, false,
+ B[0] | B[1] | B[2] | B[3], M * 1, 64, 2),
+ /** A Nugget. Introduced by Eloraam */
+ nugget("Nuggets", "", " Nugget", true, true, false, false, false, false, false, true, false, false, B[1], M / 9, 64,
+ 9),
+ /** Special Alloys have this prefix. */
+ plateAlloy("Alloy Plates", "", "", true, false, false, false, false, false, false, false, false, false, B[1], -1,
+ 64, 17),
+ plateSteamcraft("Steamcraft Plates", "", "", false, false, false, false, false, false, false, false, false, false,
+ B[1], -1, 64, 17),
+ /** 9 Plates combined in one Item. */
+ plateDense("Dense Plates", "Dense ", " Plate", true, true, false, false, false, false, true, true, false, false,
+ B[1], M * 9, 64, 22),
+ plateQuintuple("5x Plates", "Quintuple ", " Plate", true, true, false, false, false, false, true, true, false,
+ false, B[1], M * 5, 64, 21),
+ plateQuadruple("4x Plates", "Quadruple ", " Plate", true, true, false, false, false, false, true, true, false,
+ false, B[1], M * 4, 64, 20),
+ @Deprecated
+ plateQuad("4x Plates", "", "", false, false, false, false, false, false, false, false, false, false, B[1], -1, 64,
+ 20),
+ plateTriple("3x Plates", "Triple ", " Plate", true, true, false, false, false, false, true, true, false, false,
+ B[1], M * 3, 64, 19),
+ plateDouble("2x Plates", "Double ", " Plate", true, true, false, false, false, false, true, true, false, false,
+ B[1], M * 2, 64, 18),
+ plate("Plates", "", " Plate", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M * 1,
+ 64, 17),
+ /** Casing made of 1/2 Ingot/Dust */
+ itemCasing("Casings", "", " Casing", true, true, false, false, false, false, true, true, false, false, B[1] | B[2],
+ M / 2, 64, 10),
+ /** Foil made of 1/4 Ingot/Dust. */
+ foil("Foils", "", " Foil", true, true, false, false, false, false, true, true, false, false, B[1], M / 4, 64, 29),
+ /** Stick made of an Ingot. */
+ stickLong("Long Sticks/Rods", "Long ", " Rod", true, true, false, false, false, false, true, true, false, false,
+ B[1] | B[2], M * 1, 64, 54),
+ /** Stick made of half an Ingot. Introduced by Eloraam */
+ stick("Sticks/Rods", "", " Rod", true, true, false, false, false, false, true, true, false, false, B[1] | B[2],
+ M / 2, 64, 23),
+ /** consisting out of one Nugget. */
+ round("Rounds", "", " Round", true, true, false, false, false, false, true, true, false, false, B[1], M / 9, 64,
+ 25),
+ /** consisting out of 1/8 Ingot or 1/4 Stick. */
+ bolt("Bolts", "", " Bolt", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 8, 64,
+ 26),
+ /** contain dusts */
+ comb("Combs", "", " Comb", false, false, false, false, false, false, false, true, false, false, B[1] | B[2], M, 64,
+ 101),
+ /** consisting out of a Bolt. */
+ screw("Screws", "", " Screw", true, true, false, false, false, false, true, true, false, false, B[1] | B[2], M / 9,
+ 64, 27),
+ /** consisting out of 1/2 Stick. */
+ ring("Rings", "", " Ring", true, true, false, false, false, false, true, true, false, false, B[1], M / 4, 64, 28),
+ /** consisting out of 1 Fine Wire. */
+ springSmall("Small Springs", "Small ", " Spring", true, true, false, false, false, false, true, true, false, false,
+ B[1], M / 4, 64, 55),
+ /** consisting out of 2 Sticks. */
+ spring("Springs", "", " Spring", true, true, false, false, false, false, true, true, false, false, B[1], M * 1, 64,
+ 56),
+ /** consisting out of 1/8 Ingot or 1/4 Wire. */
+ wireFine("Fine Wires", "Fine ", " Wire", true, true, false, false, false, false, true, true, false, false, B[1],
+ M / 8, 64, 51),
+ /** consisting out of 4 Plates, 1 Ring and 1 Screw. */
+ rotor("Rotors", "", " Rotor", true, true, false, false, false, false, true, true, false, false, B[7], M * 4 + M / 4,
+ 64, 53),
+ gearGtSmall("Small Gears", "Small ", " Gear", true, true, false, false, false, false, true, true, false, false,
+ B[7], M * 1, 64, 52),
+ /** Introduced by me because BuildCraft has ruined the gear Prefix... */
+ gearGt("Gears", "", " Gear", true, true, false, false, false, false, true, true, false, false, B[7], M * 4, 16, 63),
+ /** 3/4 of a Plate or Gem used to shape a Lense. Normally only used on Transparent Materials. */
+ lens("Lenses", "", " Lens", true, true, false, false, false, false, true, true, false, false, B[2], (M * 3) / 4, 64,
+ 24),
+ /** consisting out of 16 Dusts. */
+ crateGtDust("Crates of Dust", "Crate of ", " Dust", true, true, false, true, false, false, false, true, false,
+ false, B[0] | B[1] | B[2] | B[3], -1, 64, 96),
+ /** consisting out of 16 Plates. */
+ crateGtPlate("Crates of Plates", "Crate of ", " Plate", true, true, false, true, false, false, false, true, false,
+ false, B[1] | B[2], -1, 64, 99),
+ /** consisting out of 16 Ingots. */
+ crateGtIngot("Crates of Ingots", "Crate of ", " Ingot", true, true, false, true, false, false, false, true, false,
+ false, B[1], -1, 64, 97),
+ /** consisting out of 16 Gems. */
+ crateGtGem("Crates of Gems", "Crate of ", " Gem", true, true, false, true, false, false, false, true, false, false,
+ B[2], -1, 64, 98),
+ /** Hot Cell full of Plasma, which can be used in the Plasma Generator. */
+ cellPlasma("Cells of Plasma", "", " Plasma Cell", true, true, true, true, false, false, false, true, false, false,
+ B[5], M * 1, 64, 31),
+ /** Hot Cell full of molten stuff, which can be used in the Plasma Generator. */
+ cellMolten("Cells of Molten stuff", "Molten ", " Cell", true, true, true, true, false, false, false, true, false,
+ false, 0, M * 1, 64, 31),
+ cell("Cells", "", " Cell", true, true, true, true, false, false, true, true, false, false, B[4] | B[8], M * 1, 64,
+ 30),
+ /** A vanilla Iron Bucket filled with the Material. */
+ bucket("Buckets", "", " Bucket", true, true, true, true, false, false, true, false, false, false, B[4] | B[8],
+ M * 1, 64, -1),
+ /** An Iguana Tweaks Clay Bucket filled with the Material. */
+ bucketClay("Clay Buckets", "", " Clay Bucket", true, true, true, true, false, false, true, false, false, false,
+ B[4] | B[8], M * 1, 64, -1),
+ /** Glass Bottle containing a Fluid. */
+ bottle("Bottles", "", " Bottle", true, true, true, true, false, false, false, false, false, false, B[4] | B[8], -1,
+ 64, -1),
+ capsule("Capsules", "", " Capsule", false, true, true, true, false, false, false, false, false, false, B[4] | B[8],
+ M * 1, 64, -1),
+ crystal("Crystals", "", " Crystal", false, true, false, false, false, false, true, false, false, false, B[2], M * 1,
+ 64, -1),
+ bulletGtSmall("Small Bullets", "Small ", " Bullet", true, true, false, false, true, false, true, false, true, false,
+ B[6] | B[8], M / 9, 64, -1),
+ bulletGtMedium("Medium Bullets", "Medium ", " Bullet", true, true, false, false, true, false, true, false, true,
+ false, B[6] | B[8], M / 6, 64, -1),
+ bulletGtLarge("Large Bullets", "Large ", " Bullet", true, true, false, false, true, false, true, false, true, false,
+ B[6] | B[8], M / 3, 64, -1),
+ /** Arrow made of 1/4 Ingot/Dust + Wooden Stick. */
+ arrowGtWood("Regular Arrows", "", " Arrow", true, true, false, false, true, false, true, false, true, false, B[6],
+ M / 4, 64, 57),
+ /** Arrow made of 1/4 Ingot/Dust + Plastic Stick. */
+ arrowGtPlastic("Light Arrows", "Light ", " Arrow", true, true, false, false, true, false, true, false, true, false,
+ B[6], M / 4, 64, 58),
+ arrow("Arrows", "", "", false, false, true, false, false, false, false, false, true, false, B[6], -1, 64, 57),
+ /** consisting out of 1/4 Ingot. */
+ toolHeadArrow("Arrow Heads", "", " Arrow Head", true, true, false, false, false, false, true, true, false, false,
+ B[6], M / 4, 64, 46),
+ /** consisting out of 2 Ingots. */
+ toolHeadSword("Sword Blades", "", " Sword Blade", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 2, 64, 32),
+ /** consisting out of 3 Ingots. */
+ toolHeadPickaxe("Pickaxe Heads", "", " Pickaxe Head", true, true, false, false, false, false, true, true, false,
+ false, B[6], M * 3, 64, 33),
+ /** consisting out of 1 Ingots. */
+ toolHeadShovel("Shovel Heads", "", " Shovel Head", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 1, 64, 34),
+ /** consisting out of 1 Ingots. */
+ toolHeadUniversalSpade("Universal Spade Heads", "", " Universal Spade Head", true, true, false, false, false, false,
+ true, true, false, false, B[6], M * 1, 64, 43),
+ /** consisting out of 3 Ingots. */
+ toolHeadAxe("Axe Heads", "", " Axe Head", true, true, false, false, false, false, true, true, false, false, B[6],
+ M * 3, 64, 35),
+ /** consisting out of 2 Ingots. */
+ toolHeadHoe("Hoe Heads", "", " Hoe Head", true, true, false, false, false, false, true, true, false, false, B[6],
+ M * 2, 64, 36),
+ /** consisting out of 3 Ingots. */
+ toolHeadSense("Sense Blades", "", " Sense Blade", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 3, 64, 44),
+ /** consisting out of 2 Ingots. */
+ toolHeadFile("File Heads", "", " File Head", true, true, false, false, false, false, true, true, false, false, B[6],
+ M * 2, 64, 38),
+ /** consisting out of 6 Ingots. */
+ toolHeadHammer("Hammer Heads", "", " Hammer Head", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 6, 64, 37),
+ /** consisting out of 4 Ingots. */
+ toolHeadPlow("Plow Heads", "", " Plow Head", true, true, false, false, false, false, true, true, false, false, B[6],
+ M * 4, 64, 45),
+ /** consisting out of 2 Ingots. */
+ toolHeadSaw("Saw Blades", "", " Saw Blade", true, true, false, false, false, false, true, true, false, false, B[6],
+ M * 2, 64, 39),
+ /** consisting out of 4 Ingots. */
+ toolHeadBuzzSaw("Buzzsaw Blades", "", " Buzzsaw Blade", true, true, false, false, false, false, true, true, false,
+ false, B[6], M * 4, 64, 48),
+ /** consisting out of 1 Ingots. */
+ toolHeadScrewdriver("Screwdriver Tips", "", " Screwdriver Tip", true, true, false, false, false, false, true, false,
+ false, false, B[6], M * 1, 64, 47),
+ /** consisting out of 4 Ingots. */
+ toolHeadDrill("Drill Tips", "", " Drill Tip", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 4, 64, 40),
+ /** consisting out of 2 Ingots. */
+ toolHeadChainsaw("Chainsaw Tips", "", " Chainsaw Tip", true, true, false, false, false, false, true, true, false,
+ false, B[6], M * 2, 64, 41),
+ /** consisting out of 4 Ingots. */
+ toolHeadWrench("Wrench Tips", "", " Wrench Tip", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 4, 64, 42),
+ /** consisting out of 6 Ingots. */
+ turbineBlade("Turbine Blades", "", " Turbine Blade", true, true, false, false, false, false, true, true, false,
+ false, B[6], M * 6, 64, 100),
+ /** vanilly Sword */
+ toolSword("Swords", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 2, 1, -1),
+ /** vanilly Pickaxe */
+ toolPickaxe("Pickaxes", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 3, 1,
+ -1),
+ /** vanilly Shovel */
+ toolShovel("Shovels", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 1, 1,
+ -1),
+ /** vanilly Axe */
+ toolAxe("Axes", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 3, 1, -1),
+ /** vanilly Hoe */
+ toolHoe("Hoes", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 2, 1, -1),
+ /** vanilly Shears */
+ toolShears("Shears", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 2, 1, -1),
+ /**
+ * toolPot, toolSkillet, toolSaucepan, toolBakeware, toolCuttingboard, toolMortarandpestle, toolMixingbowl,
+ * toolJuicer
+ */
+ tool("Tools", "", "", false, false, false, false, false, false, false, false, true, false, B[6], -1, 1, -1),
+ compressedCobblestone("9^X Compressed Cobblestones", "", "", false, false, false, false, false, false, false, false,
+ false, false, 0, -1, 64, -1),
+ compressedStone("9^X Compressed Stones", "", "", false, false, false, false, false, false, false, false, false,
+ false, 0, -1, 64, -1),
+ compressedDirt("9^X Compressed Dirt", "", "", false, false, false, false, false, false, false, false, false, false,
+ 0, -1, 64, -1),
+ compressedGravel("9^X Compressed Gravel", "", "", false, false, false, false, false, false, false, false, false,
+ false, 0, -1, 64, -1),
+ compressedSand("9^X Compressed Sand", "", "", false, false, false, false, false, false, false, false, false, false,
+ 0, -1, 64, -1),
+ /** Compressed Material, worth 1 Unit. Introduced by Galacticraft */
+ compressed("Compressed Materials", "Compressed ", "", true, true, false, false, false, false, true, false, false,
+ false, 0, M * 3, 64, -1),
+ glass("Glasses", "", "", false, false, true, false, true, false, false, false, false, false, 0, -1, 64, -1),
+ paneGlass("Glass Panes", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ blockGlass("Glass Blocks", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ blockWool("Wool Blocks", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** IGNORE */
+ block_("Random Blocks", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Storage Block consisting out of 9 Ingots/Gems/Dusts. Introduced by CovertJaguar */
+ block("Storage Blocks", "Block of ", "", true, true, false, false, false, true, true, false, false, false, 0, M * 9,
+ 64, 71),
+ /** Special Prefix used mainly for the Crafting Handler. */
+ craftingTool("Crafting Tools", "", "", false, false, false, false, false, false, false, false, true, false, 0, -1,
+ 64, -1),
+ /** Special Prefix used mainly for the Crafting Handler. */
+ crafting("Crafting Ingredients", "", "", false, false, false, false, false, false, false, false, false, false, 0,
+ -1, 64, -1),
+ /** Special Prefix used mainly for the Crafting Handler. */
+ craft("Crafting Stuff?", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ /** Prefix used for Logs. Usually as "logWood". Introduced by Eloraam */
+ log("Logs", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix used for Slabs. Usually as "slabWood" or "slabStone". Introduced by SirSengir */
+ slab("Slabs", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix used for Stairs. Usually as "stairWood" or "stairStone". Introduced by SirSengir */
+ stair("Stairs", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix used for Fences. Usually as "fenceWood". Introduced by Forge */
+ fence("Fences", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix for Planks. Usually "plankWood". Introduced by Eloraam */
+ plank("Planks", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix for Saplings. */
+ treeSapling("Saplings", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix for Leaves. */
+ treeLeaves("Leaves", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ /** Prefix for Tree Parts. */
+ tree("Tree Parts", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Cobblestone Prefix for all Cobblestones. */
+ stoneCobble("Cobblestones", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ /** Smoothstone Prefix. */
+ stoneSmooth("Smoothstones", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ /** Mossy Stone Bricks. */
+ stoneMossyBricks("mossy Stone Bricks", "", "", false, false, true, false, false, true, false, false, false, false,
+ 0, -1, 64, -1),
+ /** Mossy Cobble. */
+ stoneMossy("Mossy Stones", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ @Deprecated
+ stoneBricksMossy("Mossy Stone Bricks", "", "", false, false, false, false, false, true, false, false, false, false,
+ 0, -1, 64, -1),
+ /** Stone Bricks. */
+ stoneBricks("Stone Bricks", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ @Deprecated
+ stoneBrick("Stone Bricks", "", "", false, false, false, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ /** Cracked Bricks. */
+ stoneCracked("Cracked Stones", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1,
+ 64, -1),
+ /** Chiseled Stone. */
+ stoneChiseled("Chiseled Stones", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1,
+ 64, -1),
+ /** Prefix to determine which kind of Rock this is. */
+ stone("Stones", "", "", false, true, true, false, true, true, false, false, false, false, 0, -1, 64, -1),
+ cobblestone("Cobblestones", "", "", false, true, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ /** Prefix to determine which kind of Rock this is. */
+ rock("Rocks", "", "", false, true, true, false, true, true, false, false, false, false, 0, -1, 64, -1),
+ record("Records", "", "", false, false, true, false, false, false, false, false, false, false, 0, -1, 1, -1),
+ rubble("Rubbles", "", "", true, true, true, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ scraps("Scraps", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ scrap("Scraps", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** IGNORE */
+ item_("Items", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Random Item. Introduced by Alblaka */
+ item("Items", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Used for Books of any kind. */
+ book("Books", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Used for Papers of any kind. */
+ paper("Papers", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Used for the 16 dyes. Introduced by Eloraam */
+ dye("Dyes", "", "", false, false, true, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Used for the 16 colors of Stained Clay. Introduced by Forge */
+ stainedClay("Stained Clays", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64,
+ -1),
+ /** vanilly Helmet */
+ armorHelmet("Helmets", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 5, 1,
+ -1),
+ /** vanilly Chestplate */
+ armorChestplate("Chestplates", "", "", false, true, false, false, false, false, true, false, true, false, B[6],
+ M * 8, 1, -1),
+ /** vanilly Pants */
+ armorLeggings("Leggings", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 7, 1,
+ -1),
+ /** vanilly Boots */
+ armorBoots("Boots", "", "", false, true, false, false, false, false, true, false, true, false, B[6], M * 4, 1, -1),
+ armor("Armor Parts", "", "", false, false, false, false, false, false, false, false, true, false, B[6], -1, 1, -1),
+ frameGt("Frame Boxes", "", "", true, true, false, false, true, false, true, false, false, false, 0, M * 2, 64, 83),
+ pipeTiny("Tiny Pipes", "Tiny ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0, M / 2,
+ 64, 78),
+ pipeSmall("Small Pipes", "Small ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0,
+ M * 1, 64, 79),
+ pipeMedium("Medium Pipes", "Medium ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0,
+ M * 3, 64, 80),
+ pipeLarge("Large pipes", "Large ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0,
+ M * 6, 64, 81),
+ pipeHuge("Huge Pipes", "Huge ", " Pipe", true, true, false, false, true, false, true, false, false, false, 0,
+ M * 12, 64, 82),
+ pipeQuadruple("Quadruple Pipes", "Quadruple ", " Pipe", true, true, false, false, true, false, true, false, false,
+ false, 0, M * 12, 64, 84),
+ pipeNonuple("Nonuple Pipes", "Nonuple ", " Pipe", true, true, false, false, true, false, true, false, false, false,
+ 0, M * 9, 64, 85),
+ pipeRestrictiveTiny("Tiny Restrictive Pipes", "Tiny Restrictive ", " Pipe", true, true, false, false, true, false,
+ true, false, false, false, 0, M / 2, 64, 78),
+ pipeRestrictiveSmall("Small Restrictive Pipes", "Small Restrictive ", " Pipe", true, true, false, false, true,
+ false, true, false, false, false, 0, M * 1, 64, 79),
+ pipeRestrictiveMedium("Medium Restrictive Pipes", "Medium Restrictive ", " Pipe", true, true, false, false, true,
+ false, true, false, false, false, 0, M * 3, 64, 80),
+ pipeRestrictiveLarge("Large Restrictive Pipes", "Large Restrictive ", " Pipe", true, true, false, false, true,
+ false, true, false, false, false, 0, M * 6, 64, 81),
+ pipeRestrictiveHuge("Huge Restrictive Pipes", "Huge Restrictive ", " Pipe", true, true, false, false, true, false,
+ true, false, false, false, 0, M * 12, 64, 82),
+ pipe("Pipes", "", " Pipe", true, false, false, false, false, false, false, false, false, false, 0, -1, 64, 77),
+ wireGt16("16x Wires", "16x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 8,
+ 64, -1),
+ wireGt12("12x Wires", "12x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 6,
+ 64, -1),
+ wireGt08("8x Wires", "8x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 4,
+ 64, -1),
+ wireGt04("4x Wires", "4x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 2,
+ 64, -1),
+ wireGt02("2x Wires", "2x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 1,
+ 64, -1),
+ wireGt01("1x Wires", "1x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M / 2,
+ 64, -1),
+ cableGt16("16x Cables", "16x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0,
+ M * 8, 64, -1),
+ cableGt12("12x Cables", "12x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0,
+ M * 6, 64, -1),
+ cableGt08("8x Cables", "8x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 4,
+ 64, -1),
+ cableGt04("4x Cables", "4x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 2,
+ 64, -1),
+ cableGt02("2x Cables", "2x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M * 1,
+ 64, -1),
+ cableGt01("1x Cables", "1x ", " Cable", true, true, false, false, false, false, true, false, false, false, 0, M / 2,
+ 64, -1),
+
+ /*
+ * Electric Components. usual Materials for this are: Primitive (Tier 1) Basic (Tier 2) as used by UE as well : IC2
+ * Circuit and RE-Battery Good (Tier 3) Advanced (Tier 4) as used by UE as well : Advanced Circuit, Advanced Battery
+ * and Lithium Battery Data (Tier 5) : Data Storage Circuit Elite (Tier 6) as used by UE as well : Energy Crystal
+ * and Data Control Circuit Master (Tier 7) : Energy Flow Circuit and Lapotron Crystal Ultimate (Tier 8) : Data Orb
+ * and Lapotronic Energy Orb Infinite (Cheaty)
+ */
+ batterySingleuse("Single Use Batteries", "", "", false, true, false, false, false, false, false, false, false,
+ false, 0, -1, 64, -1),
+ battery("Reusable Batteries", "", "", false, true, false, false, false, false, false, false, false, false, 0, -1,
+ 64, -1),
+ circuit("Circuits", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Introduced by Buildcraft */
+ chipset("Chipsets", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** A whole Computer. "computerMaster" = ComputerCube */
+ computer("Computers", "", "", true, true, false, false, true, false, false, false, false, false, 0, -1, 64, -1),
+
+ // random known prefixes without special abilities.
+ skull("Skulls", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ plating("Platings", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ dinosaur("Dinosaurs", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ travelgear("Travel Gear", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ bauble("Baubles", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ cluster("Clusters", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ grafter("Grafters", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ scoop("Scoops", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ frame("Frames", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ tome("Tomes", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ junk("Junk", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ bee("Bees", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ rod("Rods", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ dirt("Dirts", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ sand("Sands", "", "", false, false, true, false, false, true, false, false, false, false, 0, -1, 64, -1),
+ grass("Grasses", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ gravel("Gravels", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ mushroom("Mushrooms", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Introduced by Eloraam */
+ wood("Woods", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ drop("Drops", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ fuel("Fuels", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ panel("Panels", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ brick("Bricks", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ chunk("Chunks", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ wire("Wires", "", "", false, false, false, false, true, false, false, false, false, false, 0, -1, 64, -1),
+ seed("Seeds", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ reed("Reeds", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ sheetDouble("2x Sheets", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ sheet("Sheets", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ crop("Crops", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ plant("Plants", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ coin("Coins", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ lumar("Lumars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ ground("Grounded Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ cable("Cables", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ component("Components", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ wax("Waxes", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ wall("Walls", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ tube("Tubes", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ list("Lists", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ food("Foods", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Introduced by SirSengir */
+ gear("Gears", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ coral("Corals", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ flower("Flowers", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ storage("Storages", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ material("Materials", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ plasma("Plasmas", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ element("Elements", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ molecule("Molecules", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ wafer("Wafers", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ orb("Orbs", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ handle("Handles", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ blade("Blades", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ head("Heads", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ motor("Motors", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ bit("Bits", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ shears("Shears", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ turbine("Turbines", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ fertilizer("Fertilizers", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ chest("Chests", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ raw("Raw Things", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ stainedGlass("Stained Glasses", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1,
+ 64, -1),
+ mystic("Mystic Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ mana("Mana Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ rune("Runes", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ petal("Petals", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ pearl("Pearls", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ powder("Powders", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ soulsand("Soulsands", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ obsidian("Obsidians", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ glowstone("Glowstones", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ beans("Beans", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ br("br", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ essence("Essences", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ alloy("Alloys", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ cooking("Cooked Things", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64,
+ -1),
+ elven("Elven Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ reactor("Reactors", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ mffs("MFFS", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ projred("Project Red", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ ganys("Ganys Stuff", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ liquid("Liquids", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ bars("Bars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ bar("Bars", "", "", false, false, false, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ /** Reverse Head consisting out of 6 Ingots. */
+ toolHeadMallet("Mallet Heads", "", " Mallet Head", true, true, false, false, false, false, true, true, false, false,
+ B[6], M * 6, 64, 127),
+ /** Reverse Stick made of half an Ingot. Introduced by Eloraam */
+ handleMallet("Mallet Handle", "", " Handle", true, true, false, false, false, false, true, true, false, false,
+ B[1] | B[2], M / 2, 64, 126),
+
+ // Cracked fluids
+ cellHydroCracked1("Cells", "Lightly Hydro-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+ cellHydroCracked2("Cells", "Moderately Hydro-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+ cellHydroCracked3("Cells", "Severely Hydro-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+ cellSteamCracked1("Cells", "Lightly Steam-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+ cellSteamCracked2("Cells", "Moderately Steam-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+ cellSteamCracked3("Cells", "Severely Steam-Cracked ", " Cell", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, 30),
+
+ componentCircuit("Circuit Parts", "", "", true, true, false, false, false, false, false, false, false, false, 0, -1,
+ 64, -1),
+
+ apiaryUpgrade("Industrial Apiary Upgrade", "", "", false, false, true, false, false, false, false, false, false,
+ false, 0, -1, 64, -1),
+ beeComb("Bee Combs", "", "", true, false, true, false, false, false, false, false, false, false, 0, -1, 64, -1),
+ nanite("Nanites", "", " Nanites", true, true, true, false, false, false, false, false, false, false, 0, -1, 64, 50),
+ // migrated from GT++
+ milled("Milled Ores", "Milled ", " Ore", true, true, false, false, false, false, false, false, false, true, B[3],
+ -1, 64, -1),
+ // migrated from bartworks
+ blockCasing("A Casing block for a Multiblock-Machine", "Bolted ", " Casing", true, true, true, true, false, true,
+ false, true, false, false, 0, M * 9, 64, -1),
+ blockCasingAdvanced("An Advanced Casing block for a Multiblock-Machine", "Rebolted ", " Casing", true, true, true,
+ true, false, true, false, true, false, false, 0, M * 9, 64, -1),
+ capsuleMolten("Capsule of Molten stuff", "Molten ", " Capsule", true, true, true, true, false, false, false, true,
+ false, false, 0, M * 1, 64, -1);
+
+ public static final ImmutableList<OrePrefixes> CELL_TYPES = ImmutableList.of(
+ cell,
+ cellMolten,
+ cellPlasma,
+ cellHydroCracked1,
+ cellHydroCracked2,
+ cellHydroCracked3,
+ cellSteamCracked1,
+ cellSteamCracked2,
+ cellSteamCracked3);
+
+ static {
+ pulp.mPrefixInto = dust;
+ oreGem.mPrefixInto = ore;
+ leaves.mPrefixInto = treeLeaves;
+ sapling.mPrefixInto = treeSapling;
+ itemDust.mPrefixInto = dust;
+ dustDirty.mPrefixInto = dustImpure;
+ denseore.mPrefixInto = oreDense;
+ ingotQuad.mPrefixInto = ingotQuadruple;
+ plateQuad.mPrefixInto = plateQuadruple;
+ stoneBrick.mPrefixInto = stoneBricks;
+ stoneBricksMossy.mPrefixInto = stoneMossyBricks;
+
+ ingotHot.mHeatDamage = 3.0F;
+ cellMolten.mHeatDamage = 3;
+ cellPlasma.mHeatDamage = 6.0F;
+
+ block.ignoreMaterials(
+ Materials.Ice,
+ Materials.Snow,
+ Materials.Concrete,
+ Materials.Glass,
+ Materials.Glowstone,
+ Materials.DarkIron,
+ Materials.Marble,
+ Materials.Quartz,
+ Materials.CertusQuartz,
+ Materials.Limestone);
+ ingot.ignoreMaterials(Materials.Brick, Materials.NetherBrick);
+
+ dust.addFamiliarPrefix(dustTiny);
+ dust.addFamiliarPrefix(dustSmall);
+ dustTiny.addFamiliarPrefix(dust);
+ dustTiny.addFamiliarPrefix(dustSmall);
+ dustSmall.addFamiliarPrefix(dust);
+ dustSmall.addFamiliarPrefix(dustTiny);
+
+ ingot.addFamiliarPrefix(nugget);
+ nugget.addFamiliarPrefix(ingot);
+
+ for (OrePrefixes tPrefix1 : values()) if (tPrefix1.name()
+ .startsWith("ore"))
+ for (OrePrefixes tPrefix2 : values()) if (tPrefix2.name()
+ .startsWith("ore")) tPrefix1.addFamiliarPrefix(tPrefix2);
+
+ // These are only the important ones.
+ gem.mNotGeneratedItems.add(Materials.Coal);
+ gem.mNotGeneratedItems.add(Materials.Charcoal);
+ gem.mNotGeneratedItems.add(Materials.NetherStar);
+ gem.mNotGeneratedItems.add(Materials.Diamond);
+ gem.mNotGeneratedItems.add(Materials.Emerald);
+ gem.mNotGeneratedItems.add(Materials.NetherQuartz);
+ gem.mNotGeneratedItems.add(Materials.EnderPearl);
+ gem.mNotGeneratedItems.add(Materials.EnderEye);
+ gem.mNotGeneratedItems.add(Materials.Flint);
+ gem.mNotGeneratedItems.add(Materials.Lapis);
+ dust.mNotGeneratedItems.add(Materials.Bone);
+ dust.mNotGeneratedItems.add(Materials.Redstone);
+ dust.mNotGeneratedItems.add(Materials.Glowstone);
+ dust.mNotGeneratedItems.add(Materials.Gunpowder);
+ dust.mNotGeneratedItems.add(Materials.Sugar);
+ dust.mNotGeneratedItems.add(Materials.Blaze);
+ stick.mNotGeneratedItems.add(Materials.Wood);
+ stick.mNotGeneratedItems.add(Materials.Bone);
+ stick.mNotGeneratedItems.add(Materials.Blaze);
+ ingot.mNotGeneratedItems.add(Materials.Iron);
+ ingot.mNotGeneratedItems.add(Materials.Gold);
+ ingot.mNotGeneratedItems.add(Materials.Brick);
+ ingot.mNotGeneratedItems.add(Materials.BrickNether);
+ ingot.mNotGeneratedItems.add(Materials.WoodSealed);
+ ingot.mNotGeneratedItems.add(Materials.Wood);
+
+ frame.mNotGeneratedItems.add(MaterialsUEVplus.Universium);
+ frameGt.mNotGeneratedItems.add(MaterialsUEVplus.Universium);
+
+ plateDouble.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ cell.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ dust.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+
+ // ingot.mNotGeneratedItems.add(Materials.Ichorium);
+ nugget.mNotGeneratedItems.add(Materials.Gold);
+ plate.mNotGeneratedItems.add(Materials.Paper);
+ cell.mNotGeneratedItems.add(Materials.Empty);
+ cell.mNotGeneratedItems.add(Materials.Water);
+ cell.mNotGeneratedItems.add(Materials.Lava);
+ cell.mNotGeneratedItems.add(Materials.ConstructionFoam);
+ cell.mNotGeneratedItems.add(Materials.UUMatter);
+ cell.mNotGeneratedItems.add(Materials.CoalFuel);
+ bucket.mNotGeneratedItems.add(Materials.Empty);
+ bucket.mNotGeneratedItems.add(Materials.Lava);
+ bucket.mNotGeneratedItems.add(Materials.Milk);
+ bucket.mNotGeneratedItems.add(Materials.Water);
+ bucketClay.mNotGeneratedItems.add(Materials.Empty);
+ bucketClay.mNotGeneratedItems.add(Materials.Lava);
+ bucketClay.mNotGeneratedItems.add(Materials.Milk);
+ bucketClay.mNotGeneratedItems.add(Materials.Water);
+ bottle.mNotGeneratedItems.add(Materials.Empty);
+ bottle.mNotGeneratedItems.add(Materials.Water);
+ bottle.mNotGeneratedItems.add(Materials.Milk);
+ block.mNotGeneratedItems.add(Materials.Iron);
+ block.mNotGeneratedItems.add(Materials.Gold);
+ block.mNotGeneratedItems.add(Materials.Lapis);
+ block.mNotGeneratedItems.add(Materials.Emerald);
+ block.mNotGeneratedItems.add(Materials.Redstone);
+ block.mNotGeneratedItems.add(Materials.Diamond);
+ block.mNotGeneratedItems.add(Materials.Coal);
+ toolHeadArrow.mNotGeneratedItems.add(Materials.Glass);
+ toolHeadArrow.mNotGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+ arrowGtPlastic.mNotGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+ arrow.mNotGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+ arrowGtWood.mNotGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+ stickLong.mNotGeneratedItems.add(Materials.Obsidian);
+ dust.mNotGeneratedItems.add(Materials.CertusQuartzCharged);
+
+ // -----
+
+ dustImpure.mGeneratedItems.add(Materials.GraniteRed);
+ dustImpure.mGeneratedItems.add(Materials.GraniteBlack);
+ dustImpure.mGeneratedItems.add(Materials.Quartzite);
+ dustImpure.mGeneratedItems.add(Materials.Flint);
+ dustImpure.mGeneratedItems.add(Materials.Redrock);
+ dustImpure.mGeneratedItems.add(Materials.Basalt);
+ dustImpure.mGeneratedItems.add(Materials.Marble);
+ dustImpure.mGeneratedItems.add(Materials.Netherrack);
+ dustImpure.mGeneratedItems.add(Materials.Endstone);
+ dustImpure.mGeneratedItems.add(Materials.Stone);
+
+ plate.mGeneratedItems.add(Materials.Redstone);
+ plate.mGeneratedItems.add(Materials.Concrete);
+ plate.mGeneratedItems.add(Materials.GraniteRed);
+ plate.mGeneratedItems.add(Materials.GraniteBlack);
+ plate.mGeneratedItems.add(Materials.Basalt);
+ plate.mGeneratedItems.add(Materials.Marble);
+ plate.mGeneratedItems.add(Materials.Glowstone);
+ plate.mGeneratedItems.add(Materials.Electrotine);
+ plate.mGeneratedItems.add(Materials.Obsidian);
+
+ ingotHot.mGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+
+ plate.mGeneratedItems.add(Materials.Paper);
+ plateDouble.mGeneratedItems.add(Materials.Paper);
+ plateTriple.mGeneratedItems.add(Materials.Paper);
+ plateQuadruple.mGeneratedItems.add(Materials.Paper);
+ plateQuintuple.mGeneratedItems.add(Materials.Paper);
+ ring.mGeneratedItems.add(Materials.Paper);
+
+ lens.mGeneratedItems.add(Materials.EnderPearl);
+ lens.mGeneratedItems.add(Materials.EnderEye);
+
+ stickLong.mGeneratedItems.add(Materials.Blaze);
+
+ nanite.mGeneratedItems.add(Materials.Carbon);
+ nanite.mGeneratedItems.add(Materials.Gold);
+ nanite.mGeneratedItems.add(Materials.Iron);
+ nanite.mGeneratedItems.add(Materials.Copper);
+ nanite.mGeneratedItems.add(Materials.Silver);
+ nanite.mGeneratedItems.add(MaterialsUEVplus.TranscendentMetal);
+ nanite.mGeneratedItems.add(Materials.Neutronium);
+ nanite.mGeneratedItems.add(MaterialsUEVplus.Universium);
+ nanite.mGeneratedItems.add(MaterialsUEVplus.WhiteDwarfMatter);
+ nanite.mGeneratedItems.add(MaterialsUEVplus.BlackDwarfMatter);
+ nanite.mGeneratedItems.add(Materials.Glowstone);
+ nanite.mGeneratedItems.add(MaterialsUEVplus.Eternity);
+ // -----
+
+ gear.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ ingot.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ frame.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+ frameGt.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter);
+
+ dust.mGeneratedItems.addAll(dustPure.mGeneratedItems);
+ dust.mGeneratedItems.addAll(dustImpure.mGeneratedItems);
+ dust.mGeneratedItems.addAll(dustRefined.mGeneratedItems);
+ dustTiny.mGeneratedItems.addAll(dust.mGeneratedItems);
+ dustSmall.mGeneratedItems.addAll(dust.mGeneratedItems);
+ crateGtDust.mGeneratedItems.addAll(dust.mGeneratedItems);
+ crateGtIngot.mGeneratedItems.addAll(ingot.mGeneratedItems);
+ crateGtGem.mGeneratedItems.addAll(gem.mGeneratedItems);
+ crateGtPlate.mGeneratedItems.addAll(plate.mGeneratedItems);
+ // -----
+
+ toolHeadFile.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ toolHeadSaw.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ toolHeadDrill.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ toolHeadChainsaw.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ toolHeadWrench.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ toolHeadBuzzSaw.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+ turbineBlade.mCondition = new ICondition.And<>(
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ new ICondition.Not<>(SubTag.BOUNCY));
+
+ rotor.mCondition = new ICondition.Nor<>(SubTag.CRYSTAL, SubTag.STONE, SubTag.BOUNCY);
+
+ spring.mCondition = new ICondition.Or<>(
+ SubTag.STRETCHY,
+ SubTag.BOUNCY,
+ new ICondition.Not<>(SubTag.NO_SMASHING));
+ springSmall.mCondition = new ICondition.Or<>(
+ SubTag.STRETCHY,
+ SubTag.BOUNCY,
+ new ICondition.Not<>(SubTag.NO_SMASHING));
+
+ gemChipped.mCondition = new ICondition.And<>(
+ SubTag.TRANSPARENT,
+ SubTag.CRYSTAL,
+ new ICondition.Not<>(SubTag.QUARTZ),
+ new ICondition.Not<>(SubTag.PEARL),
+ new ICondition.Not<>(SubTag.MAGICAL));
+ gemFlawed.mCondition = new ICondition.And<>(
+ SubTag.TRANSPARENT,
+ SubTag.CRYSTAL,
+ new ICondition.Not<>(SubTag.QUARTZ),
+ new ICondition.Not<>(SubTag.PEARL),
+ new ICondition.Not<>(SubTag.MAGICAL));
+ gemFlawless.mCondition = new ICondition.And<>(
+ SubTag.TRANSPARENT,
+ SubTag.CRYSTAL,
+ new ICondition.Not<>(SubTag.QUARTZ),
+ new ICondition.Not<>(SubTag.PEARL),
+ new ICondition.Not<>(SubTag.MAGICAL));
+ gemExquisite.mCondition = new ICondition.And<>(
+ SubTag.TRANSPARENT,
+ SubTag.CRYSTAL,
+ new ICondition.Not<>(SubTag.QUARTZ),
+ new ICondition.Not<>(SubTag.PEARL),
+ new ICondition.Not<>(SubTag.MAGICAL));
+
+ lens.mCondition = new ICondition.Or<>(
+ SubTag.MAGICAL,
+ new ICondition.And<>(SubTag.TRANSPARENT, SubTag.HAS_COLOR));
+
+ plateDouble.mCondition = new ICondition.Or<>(
+ SubTag.PAPER,
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ SubTag.STRETCHY);
+ plateTriple.mCondition = new ICondition.Or<>(
+ SubTag.PAPER,
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ SubTag.STRETCHY);
+ plateQuadruple.mCondition = new ICondition.Or<>(
+ SubTag.PAPER,
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ SubTag.STRETCHY);
+ plateQuintuple.mCondition = new ICondition.Or<>(
+ SubTag.PAPER,
+ new ICondition.Not<>(SubTag.NO_SMASHING),
+ SubTag.STRETCHY);
+
+ plateDense.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY);
+
+ ingotDouble.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY);
+ ingotTriple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY);
+ ingotQuadruple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY);
+ ingotQuintuple.mCondition = new ICondition.Or<>(new ICondition.Not<>(SubTag.NO_SMASHING), SubTag.STRETCHY);
+
+ wireFine.mCondition = SubTag.METAL;
+
+ // -----
+
+ pipeRestrictiveTiny.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount);
+ pipeRestrictiveSmall.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 2);
+ pipeRestrictiveMedium.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 3);
+ pipeRestrictiveLarge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 4);
+ pipeRestrictiveHuge.mSecondaryMaterial = new MaterialStack(Materials.Steel, ring.mMaterialAmount * 5);
+ cableGt16.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 5);
+ cableGt12.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 4);
+ cableGt08.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 3);
+ cableGt04.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount * 2);
+ cableGt02.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
+ cableGt01.mSecondaryMaterial = new MaterialStack(Materials.Rubber, plate.mMaterialAmount);
+ bucket.mSecondaryMaterial = new MaterialStack(Materials.Iron, ingot.mMaterialAmount * 3);
+ bucketClay.mSecondaryMaterial = new MaterialStack(Materials.Clay, dust.mMaterialAmount * 5);
+ CELL_TYPES
+ .forEach(prefix -> prefix.mSecondaryMaterial = new MaterialStack(Materials.Tin, plate.mMaterialAmount * 2));
+ oreRedgranite.mSecondaryMaterial = new MaterialStack(Materials.GraniteRed, dust.mMaterialAmount);
+ oreBlackgranite.mSecondaryMaterial = new MaterialStack(Materials.GraniteBlack, dust.mMaterialAmount);
+ oreNetherrack.mSecondaryMaterial = new MaterialStack(Materials.Netherrack, dust.mMaterialAmount);
+ oreNether.mSecondaryMaterial = new MaterialStack(Materials.Netherrack, dust.mMaterialAmount);
+ oreEndstone.mSecondaryMaterial = new MaterialStack(Materials.Endstone, dust.mMaterialAmount);
+ oreEnd.mSecondaryMaterial = new MaterialStack(Materials.Endstone, dust.mMaterialAmount);
+ oreMarble.mSecondaryMaterial = new MaterialStack(Materials.Marble, dust.mMaterialAmount);
+ oreBasalt.mSecondaryMaterial = new MaterialStack(Materials.Basalt, dust.mMaterialAmount);
+ oreDense.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
+ orePoor.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
+ oreSmall.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
+ oreNormal.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
+ rawOre.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
+ oreRich.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
+ ore.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
+ crushed.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
+ toolHeadChainsaw.mSecondaryMaterial = new MaterialStack(
+ Materials.Steel,
+ plate.mMaterialAmount * 4 + ring.mMaterialAmount * 2);
+ toolHeadWrench.mSecondaryMaterial = new MaterialStack(
+ Materials.Steel,
+ ring.mMaterialAmount + screw.mMaterialAmount * 2);
+ arrowGtWood.mSecondaryMaterial = new MaterialStack(Materials.Wood, stick.mMaterialAmount);
+ arrowGtPlastic.mSecondaryMaterial = new MaterialStack(Materials.Plastic, stick.mMaterialAmount);
+ bulletGtSmall.mSecondaryMaterial = new MaterialStack(Materials.Brass, ingot.mMaterialAmount / 9);
+ bulletGtMedium.mSecondaryMaterial = new MaterialStack(Materials.Brass, ingot.mMaterialAmount / 6);
+ bulletGtLarge.mSecondaryMaterial = new MaterialStack(Materials.Brass, ingot.mMaterialAmount / 3);
+ }
+
+ public final ArrayList<ItemStack> mPrefixedItems = new GT_ArrayList<>(false, 16);
+ public final short mTextureIndex;
+ public final String mRegularLocalName, mLocalizedMaterialPre, mLocalizedMaterialPost;
+ public final boolean mIsUsedForOreProcessing, mIsEnchantable, mIsUnificatable, mIsMaterialBased, mIsSelfReferencing,
+ mIsContainer, mDontUnificateActively, mIsUsedForBlocks, mAllowNormalRecycling, mGenerateDefaultItem;
+ public final List<TC_AspectStack> mAspects = new ArrayList<>();
+ public final Collection<OrePrefixes> mFamiliarPrefixes = new HashSet<>();
+ /**
+ * Used to determine the amount of Material this Prefix contains. Multiply or Divide GregTech_API.MATERIAL_UNIT to
+ * get the Amounts in comparision to one Ingot. 0 = Null Negative = Undefined Amount
+ */
+ public final long mMaterialAmount;
+
+ public final Collection<Materials> mDisabledItems = new HashSet<>(), mNotGeneratedItems = new HashSet<>(),
+ mIgnoredMaterials = new HashSet<>(), mGeneratedItems = new HashSet<>();
+ private final ArrayList<IOreRecipeRegistrator> mOreProcessing = new ArrayList<>();
+ public ItemStack mContainerItem = null;
+ public ICondition<ISubTagContainer> mCondition = null;
+ public byte mDefaultStackSize = 64;
+ public MaterialStack mSecondaryMaterial = null;
+ public OrePrefixes mPrefixInto = this;
+ public float mHeatDamage = 0.0F; // Negative for Frost Damage
+ private final ObjectSet<ItemStack> mContainsTestCache = new ObjectOpenCustomHashSet<>(
+ 512,
+ 0.5f,
+ GT_ItemStack.ITEMSTACK_HASH_STRATEGY2);
+ public static final List<OrePrefixes> mPreventableComponents = new LinkedList<>(
+ Arrays.asList(
+ OrePrefixes.gem,
+ OrePrefixes.ingotHot,
+ OrePrefixes.ingotDouble,
+ OrePrefixes.ingotTriple,
+ OrePrefixes.ingotQuadruple,
+ OrePrefixes.ingotQuintuple,
+ OrePrefixes.plate,
+ OrePrefixes.plateDouble,
+ OrePrefixes.plateTriple,
+ OrePrefixes.plateQuadruple,
+ OrePrefixes.plateQuintuple,
+ OrePrefixes.plateDense,
+ OrePrefixes.stick,
+ OrePrefixes.round,
+ OrePrefixes.bolt,
+ OrePrefixes.screw,
+ OrePrefixes.ring,
+ OrePrefixes.foil,
+ OrePrefixes.toolHeadSword,
+ OrePrefixes.toolHeadPickaxe,
+ OrePrefixes.toolHeadShovel,
+ OrePrefixes.toolHeadAxe,
+ OrePrefixes.toolHeadHoe,
+ OrePrefixes.toolHeadHammer,
+ OrePrefixes.toolHeadFile,
+ OrePrefixes.toolHeadSaw,
+ OrePrefixes.toolHeadDrill,
+ OrePrefixes.toolHeadChainsaw,
+ OrePrefixes.toolHeadWrench,
+ OrePrefixes.toolHeadUniversalSpade,
+ OrePrefixes.toolHeadSense,
+ OrePrefixes.toolHeadPlow,
+ OrePrefixes.toolHeadArrow,
+ OrePrefixes.toolHeadBuzzSaw,
+ OrePrefixes.turbineBlade,
+ OrePrefixes.wireFine,
+ OrePrefixes.gearGtSmall,
+ OrePrefixes.rotor,
+ OrePrefixes.stickLong,
+ OrePrefixes.springSmall,
+ OrePrefixes.spring,
+ OrePrefixes.arrowGtWood,
+ OrePrefixes.arrowGtPlastic,
+ OrePrefixes.gemChipped,
+ OrePrefixes.gemFlawed,
+ OrePrefixes.gemFlawless,
+ OrePrefixes.gemExquisite,
+ OrePrefixes.gearGt,
+ OrePrefixes.crateGtDust,
+ OrePrefixes.crateGtIngot,
+ OrePrefixes.crateGtGem,
+ OrePrefixes.crateGtPlate,
+ OrePrefixes.itemCasing,
+ OrePrefixes.nanite));
+ /**
+ * Yes this Value can be changed to add Bits for the MetaGenerated-Item-Check.
+ */
+ public int mMaterialGenerationBits = 0;
+
+ OrePrefixes(String aRegularLocalName, String aLocalizedMaterialPre, String aLocalizedMaterialPost,
+ boolean aIsUnificatable, boolean aIsMaterialBased, boolean aIsSelfReferencing, boolean aIsContainer,
+ boolean aDontUnificateActively, boolean aIsUsedForBlocks, boolean aAllowNormalRecycling,
+ boolean aGenerateDefaultItem, boolean aIsEnchantable, boolean aIsUsedForOreProcessing,
+ int aMaterialGenerationBits, long aMaterialAmount, int aDefaultStackSize, int aTextureindex) {
+ mIsUnificatable = aIsUnificatable;
+ mIsMaterialBased = aIsMaterialBased;
+ mIsSelfReferencing = aIsSelfReferencing;
+ mIsContainer = aIsContainer;
+ mDontUnificateActively = aDontUnificateActively;
+ mIsUsedForBlocks = aIsUsedForBlocks;
+ mAllowNormalRecycling = aAllowNormalRecycling;
+ mGenerateDefaultItem = aGenerateDefaultItem;
+ mIsEnchantable = aIsEnchantable;
+ mIsUsedForOreProcessing = aIsUsedForOreProcessing;
+ mMaterialGenerationBits = aMaterialGenerationBits;
+ mMaterialAmount = aMaterialAmount;
+ mRegularLocalName = aRegularLocalName;
+ mLocalizedMaterialPre = aLocalizedMaterialPre;
+ mLocalizedMaterialPost = aLocalizedMaterialPost;
+ mDefaultStackSize = (byte) aDefaultStackSize;
+ mTextureIndex = (short) aTextureindex;
+
+ if (name().startsWith("ore")) {
+ new TC_AspectStack(TC_Aspects.TERRA, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("wire") || name().startsWith("cable")) {
+ new TC_AspectStack(TC_Aspects.ELECTRUM, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("dust")) {
+ new TC_AspectStack(TC_Aspects.PERDITIO, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("crushed")) {
+ new TC_AspectStack(TC_Aspects.PERFODIO, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("ingot") || name().startsWith("nugget")) {
+ new TC_AspectStack(TC_Aspects.METALLUM, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("armor")) {
+ new TC_AspectStack(TC_Aspects.TUTAMEN, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("stone")) {
+ new TC_AspectStack(TC_Aspects.TERRA, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("pipe")) {
+ new TC_AspectStack(TC_Aspects.ITER, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("gear")) {
+ new TC_AspectStack(TC_Aspects.MOTUS, 1).addToAspectList(mAspects);
+ new TC_AspectStack(TC_Aspects.MACHINA, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("frame") || name().startsWith("plate")) {
+ new TC_AspectStack(TC_Aspects.FABRICO, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("tool")) {
+ new TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2).addToAspectList(mAspects);
+ } else if (name().startsWith("gem") || name().startsWith("crystal") || name().startsWith("lens")) {
+ new TC_AspectStack(TC_Aspects.VITREUS, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("crate")) {
+ new TC_AspectStack(TC_Aspects.ITER, 2).addToAspectList(mAspects);
+ } else if (name().startsWith("circuit")) {
+ new TC_AspectStack(TC_Aspects.COGNITIO, 1).addToAspectList(mAspects);
+ } else if (name().startsWith("computer")) {
+ new TC_AspectStack(TC_Aspects.COGNITIO, 4).addToAspectList(mAspects);
+ } else if (name().startsWith("battery")) {
+ new TC_AspectStack(TC_Aspects.ELECTRUM, 1).addToAspectList(mAspects);
+ }
+ }
+
+ public static boolean isInstanceOf(String aName, OrePrefixes aPrefix) {
+ return aName != null && aName.startsWith(aPrefix.toString());
+ }
+
+ public void disableComponent(Materials aMaterial) {
+ if (!this.mDisabledItems.contains(aMaterial)) this.mDisabledItems.add(aMaterial);
+ }
+
+ public static OrePrefixes getOrePrefix(String aOre) {
+ for (OrePrefixes tPrefix : values()) if (aOre.startsWith(tPrefix.toString())) {
+ if (tPrefix == oreNether && aOre.equals("oreNetherQuartz")) return ore;
+ if (tPrefix == oreNether && aOre.equals("oreNetherStar")) return ore;
+ if (tPrefix == oreBasalt && aOre.equals("oreBasalticMineralSand")) return ore;
+ if (tPrefix == stickLong && aOre.equals("stickLongasssuperconductornameforuvwire")) return stick;
+ if (tPrefix == stickLong && aOre.equals("stickLongasssuperconductornameforuhvwire")) return stick;
+ return tPrefix;
+ }
+ return null;
+ }
+
+ public static String stripPrefix(String aOre) {
+ for (OrePrefixes tPrefix : values()) {
+ if (aOre.startsWith(tPrefix.toString())) {
+ return aOre.replaceFirst(tPrefix.toString(), "");
+ }
+ }
+ return aOre;
+ }
+
+ public static String replacePrefix(String aOre, OrePrefixes aPrefix) {
+ for (OrePrefixes tPrefix : values()) {
+ if (aOre.startsWith(tPrefix.toString())) {
+ return aOre.replaceFirst(tPrefix.toString(), aPrefix.toString());
+ }
+ }
+ return "";
+ }
+
+ public static OrePrefixes getPrefix(String aPrefixName) {
+ return getPrefix(aPrefixName, null);
+ }
+
+ public static OrePrefixes getPrefix(String aPrefixName, OrePrefixes aReplacement) {
+ Object tObject = GT_Utility.getFieldContent(OrePrefixes.class, aPrefixName, false, false);
+ if (tObject instanceof OrePrefixes) return (OrePrefixes) tObject;
+ return aReplacement;
+ }
+
+ public static Materials getMaterial(String aOre) {
+ return Materials.get(stripPrefix(aOre));
+ }
+
+ public static Materials getMaterial(String aOre, OrePrefixes aPrefix) {
+ return Materials.get(aOre.replaceFirst(aPrefix.toString(), ""));
+ }
+
+ public static Materials getRealMaterial(String aOre, OrePrefixes aPrefix) {
+ return Materials.getRealMaterial(aOre.replaceFirst(aPrefix.toString(), ""));
+ }
+
+ public void enableComponent(Materials aMaterial) {
+ this.mDisabledItems.remove(aMaterial);
+ }
+
+ public boolean add(ItemStack aStack) {
+ if (aStack == null) return false;
+ if (!contains(aStack)) {
+ mPrefixedItems.add(aStack);
+ // It's now in there... so update the cache
+ mContainsTestCache.add(aStack);
+ }
+ return true;
+ }
+
+ public boolean contains(ItemStack aStack) {
+ return !GT_Utility.isStackInvalid(aStack) && mContainsTestCache.contains(aStack);
+ }
+
+ public boolean containsUnCached(ItemStack aStack) {
+ // In case someone needs this
+ for (ItemStack tStack : mPrefixedItems) {
+ if (GT_Utility.areStacksEqual(aStack, tStack, !tStack.hasTagCompound())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public boolean doGenerateItem(Materials aMaterial) {
+ return aMaterial != null && aMaterial != Materials._NULL
+ && ((aMaterial.mTypes & mMaterialGenerationBits) != 0 || mGeneratedItems.contains(aMaterial))
+ && !mNotGeneratedItems.contains(aMaterial)
+ && !mDisabledItems.contains(aMaterial)
+ && (mCondition == null || mCondition.isTrue(aMaterial));
+ }
+
+ public boolean ignoreMaterials(Materials... aMaterials) {
+ for (Materials tMaterial : aMaterials) if (tMaterial != null) mIgnoredMaterials.add(tMaterial);
+ return true;
+ }
+
+ public boolean isIgnored(Materials aMaterial) {
+ if (aMaterial != null && (!aMaterial.mUnificatable || aMaterial != aMaterial.mMaterialInto)) return true;
+ return mIgnoredMaterials.contains(aMaterial);
+ }
+
+ public boolean addFamiliarPrefix(OrePrefixes aPrefix) {
+ if (aPrefix == null || mFamiliarPrefixes.contains(aPrefix) || aPrefix == this) return false;
+ return mFamiliarPrefixes.add(aPrefix);
+ }
+
+ public boolean add(IOreRecipeRegistrator aRegistrator) {
+ if (aRegistrator == null) return false;
+ return mOreProcessing.add(aRegistrator);
+ }
+
+ public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
+
+ if (aMaterial == null) {
+ return;
+ }
+
+ if (aMaterial.contains(SubTag.NO_RECIPES)) {
+ return;
+ }
+
+ if ((aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased)
+ && GT_Utility.isStackValid(aStack)) {
+ // if (Materials.mPreventableComponents.contains(this) && !this.mDynamicItems.contains(aMaterial)) return;
+ for (IOreRecipeRegistrator tRegistrator : mOreProcessing) {
+ if (D2) GT_Log.ore.println(
+ "Processing '" + aOreDictName
+ + "' with the Prefix '"
+ + name()
+ + "' and the Material '"
+ + aMaterial.mName
+ + "' at "
+ + GT_Utility.getClassName(tRegistrator));
+ tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack));
+ }
+ }
+ }
+
+ public Object get(Object aMaterial) {
+ if (aMaterial instanceof Materials) return new ItemData(this, (Materials) aMaterial);
+ return name() + aMaterial;
+ }
+
+ public String getDefaultLocalNameForItem(Materials aMaterial) {
+ return aMaterial.getDefaultLocalizedNameForItem(getDefaultLocalNameFormatForItem(aMaterial));
+ }
+
+ @SuppressWarnings("incomplete-switch")
+ public String getDefaultLocalNameFormatForItem(Materials aMaterial) {
+ // Certain Materials have slightly different Localizations.
+ switch (this) {
+ case crateGtDust -> {
+ return mLocalizedMaterialPre + OrePrefixes.dust.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+ case crateGtIngot -> {
+ return mLocalizedMaterialPre + OrePrefixes.ingot.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+ case crateGtGem -> {
+ return mLocalizedMaterialPre + OrePrefixes.gem.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+ case crateGtPlate -> {
+ return mLocalizedMaterialPre + OrePrefixes.plate.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+ }
+ switch (aMaterial.mName) {
+ case "Glass", "BorosilicateGlass" -> {
+ if (name().startsWith("gem")) return mLocalizedMaterialPre + "%material" + " Crystal";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Pane";
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material" + " Bar";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
+ }
+ case "Wheat" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Flour";
+ }
+ case "Ice" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Crushed Ice";
+ }
+ case "Wood", "WoodSealed" -> {
+ if (name().startsWith("bolt")) return "Short " + "%material" + " Stick";
+ if (name().startsWith("stick")) return mLocalizedMaterialPre + "%material" + " Stick";
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Pulp";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Plank";
+ }
+ case "Plastic", "Rubber", "Polyethylene", "Epoxid", "EpoxidFiberReinforced", "Polydimethylsiloxane", "Silicone", "Polysiloxane", "Polycaprolactam", "Polytetrafluoroethylene", "PolyvinylChloride", "Polystyrene", "StyreneButadieneRubber" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Pulp";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Sheet";
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material" + " Bar";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
+ if (name().startsWith("foil")) return "Thin " + "%material" + " Sheet";
+ }
+ case "FierySteel" -> {
+ if (mIsContainer) return mLocalizedMaterialPre + "Fiery Blood" + mLocalizedMaterialPost;
+ }
+ case "Steeleaf" -> {
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material";
+ }
+ case "Bone" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Bone Meal";
+ }
+ case "Blaze", "Milk", "Cocoa", "Chocolate", "Coffee", "Chili", "Cheese", "Snow" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Powder";
+ }
+ case "Paper" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Chad";
+ switch (this) {
+ case plate -> {
+ return "Sheet of Paper";
+ }
+ case plateDouble -> {
+ return "Paperboard";
+ }
+ case plateTriple -> {
+ return "Carton";
+ }
+ case plateQuadruple -> {
+ return "Cardboard";
+ }
+ case plateQuintuple -> {
+ return "Thick Cardboard";
+ }
+ case plateDense -> {
+ return "Strong Cardboard";
+ }
+ }
+ }
+ case "MeatRaw" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Mince Meat";
+ }
+ case "MeatCooked" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "Cooked Mince Meat";
+ }
+ case "Ash", "DarkAsh", "Gunpowder", "Sugar", "Salt", "RockSalt", "VolcanicAsh", "RareEarth" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material";
+ }
+ case "Vermiculite", "Bentonite", "Kaolinite", "Talc", "BasalticMineralSand", "GraniticMineralSand", "GlauconiteSand", "CassiteriteSand", "GarnetSand", "QuartzSand", "Pitchblende", "FullersEarth" -> {
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material";
+ switch (this) {
+ case crushedCentrifuged, crushedPurified -> {
+ return mLocalizedMaterialPre + "%material";
+ }
+ case crushed -> {
+ return "Ground " + "%material";
+ }
+ }
+ }
+ }
+ if (ProcessingModSupport.aEnableThaumcraftMats) {
+ switch (aMaterial.mName) {
+ case "InfusedAir", "InfusedDull", "InfusedEarth", "InfusedEntropy", "InfusedFire", "InfusedOrder", "InfusedVis", "InfusedWater" -> {
+ if (name().startsWith("gem")) return mLocalizedMaterialPre + "Shard of " + "%material";
+ if (name().startsWith("crystal")) return mLocalizedMaterialPre + "Shard of " + "%material";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Crystal Plate";
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Crystal Powder";
+ switch (this) {
+ case crushedCentrifuged, crushedPurified, crushed -> {
+ return mLocalizedMaterialPre + "%material" + " Crystals";
+ }
+ }
+ }
+ }
+ }
+ // Use Standard Localization
+ return mLocalizedMaterialPre + "%material" + mLocalizedMaterialPost;
+ }
+}