Search in sources :

Example 1 with MaterialStack

use of gregtech.api.unification.stack.MaterialStack in project GregTech by GregTechCE.

the class ProcessingDecomposition method registerOre.

// @Override
public void registerOre(UnificationEntry entry, String modName, SimpleItemStack itemStack) {
    if (entry.material instanceof FluidMaterial) {
        FluidMaterial material = (FluidMaterial) entry.material;
        if (!material.materialComponents.isEmpty() && (material.hasFlag(Material.MatFlags.DECOMPOSITION_BY_ELECTROLYZING) || material.hasFlag(Material.MatFlags.DECOMPOSITION_BY_CENTRIFUGING))) {
            // compute outputs
            ArrayList<ItemStack> outputs = new ArrayList<>();
            ArrayList<FluidStack> fluidOutputs = new ArrayList<>();
            int totalInputAmount = 0;
            for (MaterialStack component : material.materialComponents) {
                totalInputAmount += component.amount;
                if (component.material instanceof DustMaterial) {
                    outputs.add(OreDictUnifier.get(OrePrefix.dust, component.material, (int) component.amount));
                } else if (component.material instanceof FluidMaterial) {
                    FluidMaterial componentMaterial = (FluidMaterial) component.material;
                    fluidOutputs.add(componentMaterial.getFluid((int) (GTValues.L * component.amount)));
                }
            }
            // generate builder
            RecipeBuilder builder;
            if (material.hasFlag(Material.MatFlags.DECOMPOSITION_BY_ELECTROLYZING)) {
                builder = RecipeMap.ELECTROLYZER_RECIPES.recipeBuilder().duration((int) material.getProtons() * totalInputAmount * 8).EUt(Math.min(4, material.materialComponents.size()) * 30);
            } else {
                builder = RecipeMap.CENTRIFUGE_RECIPES.recipeBuilder().duration((int) material.getMass() * totalInputAmount * 2).EUt(30);
            }
            builder.outputs(outputs);
            builder.fluidOutputs(fluidOutputs);
            // finish builder
            if (entry.orePrefix == OrePrefix.dust) {
                builder.inputs(itemStack.asItemStack(totalInputAmount));
            } else {
                builder.fluidInputs(material.getFluid(GTValues.L * totalInputAmount));
            }
            // register recipe
            builder.buildAndRegister();
        }
    }
}
Also used : FluidMaterial(gregtech.api.unification.material.type.FluidMaterial) FluidStack(net.minecraftforge.fluids.FluidStack) MaterialStack(gregtech.api.unification.stack.MaterialStack) ArrayList(java.util.ArrayList) DustMaterial(gregtech.api.unification.material.type.DustMaterial) SimpleItemStack(gregtech.api.unification.stack.SimpleItemStack) ItemStack(net.minecraft.item.ItemStack) RecipeBuilder(gregtech.api.recipes.RecipeBuilder)

Example 2 with MaterialStack

use of gregtech.api.unification.stack.MaterialStack in project GregTech by GregTechCE.

the class MaterialInfoLoader method init.

public static void init() {
    OreDictUnifier.registerOre(new ItemStack(Items.IRON_DOOR, 1), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.ACACIA_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.BIRCH_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.JUNGLE_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.OAK_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.SPRUCE_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.DARK_OAK_DOOR, 1, 32767), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.QUARTZ_BLOCK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.NetherQuartz, 14515200L)));
    OreDictUnifier.registerOre(new ItemStack(Items.WHEAT, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wheat, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.HAY_BLOCK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wheat, 32659200L)));
    OreDictUnifier.registerOre(new ItemStack(Items.SNOWBALL, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Snow, 907200L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.SNOW, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Snow, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.GLOWSTONE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glowstone, 14515200L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.REDSTONE_LAMP, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glowstone, 14515200L), new MaterialStack(Materials.Redstone, OrePrefix.dust.materialAmount * 4L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ICE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Ice, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.PACKED_ICE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Ice, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Items.CLAY_BALL, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Clay, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.CLAY, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Clay, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.HARDENED_CLAY, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Clay, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STAINED_HARDENED_CLAY, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Clay, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.BRICK_BLOCK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Clay, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.BOOK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Items.WRITTEN_BOOK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Items.WRITABLE_BOOK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Items.ENCHANTED_BOOK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Items.GOLDEN_APPLE, 1, 1), new ItemMaterialInfo(new MaterialStack(Materials.Gold, OrePrefix.block.materialAmount * 8L)));
    OreDictUnifier.registerOre(new ItemStack(Items.GOLDEN_APPLE, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Gold, OrePrefix.ingot.materialAmount * 8L)));
    OreDictUnifier.registerOre(new ItemStack(Items.GOLD_NUGGET, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Gold, OrePrefix.nugget.materialAmount * 8L)));
    OreDictUnifier.registerOre(new ItemStack(Items.SPECKLED_MELON, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Gold, OrePrefix.nugget.materialAmount * 8L)));
    OreDictUnifier.registerOre(new ItemStack(Items.MINECART, 1), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 18144000L)));
    OreDictUnifier.registerOre(new ItemStack(Items.CAULDRON, 1), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 25401600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.IRON_BARS, 8, W), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.LIGHT_WEIGHTED_PRESSURE_PLATE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Gold, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ANVIL, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 108864000L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ANVIL, 1, 1), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 72576000L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ANVIL, 1, 2), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 36288000L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.HOPPER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 18144000L), new MaterialStack(Materials.Wood, 29030400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.TRIPWIRE_HOOK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Iron, OrePrefix.ring.materialAmount * 2L), new MaterialStack(Materials.Wood, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.GLASS_BOTTLE), new ItemMaterialInfo(new MaterialStack(Materials.Glass, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.POTIONITEM, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glass, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STAINED_GLASS, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glass, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.GLASS, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glass, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STAINED_GLASS_PANE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glass, 1360800L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.GLASS_PANE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Glass, 1360800L)));
    OreDictUnifier.registerOre(new ItemStack(Items.CLOCK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Gold, 14515200L), new MaterialStack(Materials.Redstone, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.COMPASS, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Iron, 14515200L), new MaterialStack(Materials.Redstone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.BEACON, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.NetherStar, M), new MaterialStack(Materials.Obsidian, 10886400L), new MaterialStack(Materials.Glass, 18144000L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ENCHANTING_TABLE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Diamond, 7257600L), new MaterialStack(Materials.Obsidian, 14515200L), new MaterialStack(Materials.Paper, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ENDER_CHEST, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.EnderEye, M), new MaterialStack(Materials.Obsidian, 29030400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.BOOKSHELF, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Paper, 32659200L), new MaterialStack(Materials.Wood, 21772800L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.LEVER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M), new MaterialStack(Materials.Wood, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.ICE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Ice, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.PACKED_ICE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Ice, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.SNOW, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Snow, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.SNOWBALL, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Snow, 907200L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.SNOW_LAYER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Snow, -1)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 8), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 2), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 10), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 3), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 11), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 5), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_SLAB, 1, 13), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 1814400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.FURNACE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 29030400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONEBRICK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 0), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 1), new ItemMaterialInfo(new MaterialStack(Materials.GraniteBlack, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 2), new ItemMaterialInfo(new MaterialStack(Materials.GraniteBlack, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 5), new ItemMaterialInfo(new MaterialStack(Materials.Diorite, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 6), new ItemMaterialInfo(new MaterialStack(Materials.Diorite, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 3), new ItemMaterialInfo(new MaterialStack(Materials.Andesite, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE, 1, 4), new ItemMaterialInfo(new MaterialStack(Materials.Andesite, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.COBBLESTONE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.MOSSY_COBBLESTONE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_BUTTON, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STONE_PRESSURE_PLATE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.LADDER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.WOODEN_BUTTON, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.WOODEN_PRESSURE_PLATE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.OAK_FENCE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 5443200L)));
    OreDictUnifier.registerOre(new ItemStack(Items.BOWL, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, M)));
    OreDictUnifier.registerOre(new ItemStack(Items.SIGN, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 7257600L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.CHEST, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 29030400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.TRAPPED_CHEST, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 32659200L), new MaterialStack(Materials.Iron, OrePrefix.ring.materialAmount * 2L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.REDSTONE_TORCH, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 1814400L), new MaterialStack(Materials.Redstone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.NOTEBLOCK, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 29030400L), new MaterialStack(Materials.Redstone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.JUKEBOX, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 29030400L), new MaterialStack(Materials.Diamond, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.CRAFTING_TABLE, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Wood, 14515200L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.PISTON, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 14515200L), new MaterialStack(Materials.Wood, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.STICKY_PISTON, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 14515200L), new MaterialStack(Materials.Wood, 10886400L)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.DISPENSER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 25401600L), new MaterialStack(Materials.Redstone, M)));
    OreDictUnifier.registerOre(new ItemStack(Blocks.DROPPER, 1, W), new ItemMaterialInfo(new MaterialStack(Materials.Stone, 25401600L), new MaterialStack(Materials.Redstone, M)));
}
Also used : ItemMaterialInfo(gregtech.api.unification.stack.ItemMaterialInfo) MaterialStack(gregtech.api.unification.stack.MaterialStack) ItemStack(net.minecraft.item.ItemStack)

Example 3 with MaterialStack

use of gregtech.api.unification.stack.MaterialStack in project GregTech by GregTechCE.

the class ModHandler method getBurningFuelRemainder.

public static ItemStack getBurningFuelRemainder(Random random, ItemStack fuelStack) {
    float remainderChance;
    ItemStack remainder;
    if (OreDictUnifier.getOreDictionaryNames(fuelStack).contains("fuelCoke")) {
        remainder = OreDictUnifier.get(OrePrefix.dust, Materials.Ash);
        remainderChance = 0.5f;
    } else {
        MaterialStack materialStack = OreDictUnifier.getMaterial(fuelStack);
        if (materialStack == null)
            return ItemStack.EMPTY;
        else if (materialStack.material == Materials.Charcoal) {
            remainder = OreDictUnifier.get(OrePrefix.dust, Materials.Ash);
            remainderChance = 0.3f;
        } else if (materialStack.material == Materials.Coal) {
            remainder = OreDictUnifier.get(OrePrefix.dust, Materials.DarkAsh);
            remainderChance = 0.35f;
        } else if (materialStack.material == Materials.Lignite) {
            remainder = OreDictUnifier.get(OrePrefix.dust, Materials.DarkAsh);
            remainderChance = 0.35f;
        } else
            return ItemStack.EMPTY;
    }
    return random.nextFloat() <= remainderChance ? remainder : ItemStack.EMPTY;
}
Also used : MaterialStack(gregtech.api.unification.stack.MaterialStack) ItemStack(net.minecraft.item.ItemStack)

Example 4 with MaterialStack

use of gregtech.api.unification.stack.MaterialStack in project GregTech by GregTechCE.

the class Material method getProtons.

public long getProtons() {
    if (element != null)
        return element.getProtons();
    if (materialComponents.size() <= 0)
        return Element.Tc.getProtons();
    long totalProtons = 0, totalAmount = 0;
    for (MaterialStack material : materialComponents) {
        totalAmount += material.amount;
        totalProtons += material.amount * material.material.getProtons();
    }
    return (getDensity() * totalProtons) / (totalAmount * M);
}
Also used : MaterialStack(gregtech.api.unification.stack.MaterialStack)

Example 5 with MaterialStack

use of gregtech.api.unification.stack.MaterialStack in project GregTech by GregTechCE.

the class MetaItem1 method registerSubItems.

@Override
public void registerSubItems() {
    CREDIT_COPPER = addItem(0, "credit.copper");
    CREDIT_CUPRONICKEL = addItem(1, "credit.cupronickel").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Cupronickel, 907200L)));
    CREDIT_SILVER = addItem(2, "credit.silver");
    CREDIT_GOLD = addItem(3, "credit.gold");
    CREDIT_PLATINUM = addItem(4, "credit.platinum");
    CREDIT_OSMIUM = addItem(5, "credit.osmium");
    CREDIT_NAQUADAH = addItem(6, "credit.naquadah");
    CREDIT_DARMSTADTIUM = addItem(7, "credit.darmstadtium");
    COIN_GOLD_ANCIENT = addItem(8, "coin.gold.ancient").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Gold, 907200L)));
    COIN_DOGE = addItem(9, "coin.doge").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Brass, 907200L)));
    COIN_CHOCOLATE = addItem(10, "coin.chocolate").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Gold, OrePrefix.foil.materialAmount))).addStats(new FoodStats(1, 0.1F, false, true, OreDictUnifier.get(OrePrefix.foil, Materials.Gold, 1), new RandomPotionEffect(MobEffects.SPEED, 200, 1, 10)));
    MINECART_WHEELS_IRON = addItem(100, "minecart.wheels.iron");
    MINECART_WHEELS_STEEL = addItem(101, "minecart.wheels.steel");
    SHAPE_EMPTY = addItem(300, "shape.empty");
    SHAPE_MOLD_PLATE = addItem(301, "shape.mold.plate");
    SHAPE_MOLD_CASING = addItem(302, "shape.mold.casing");
    SHAPE_MOLD_GEAR = addItem(303, "shape.mold.gear");
    SHAPE_MOLD_CREDIT = addItem(304, "shape.mold.credit");
    SHAPE_MOLD_BOTTLE = addItem(305, "shape.mold.bottle");
    SHAPE_MOLD_INGOT = addItem(306, "shape.mold.ingot");
    SHAPE_MOLD_BALL = addItem(307, "shape.mold.ball");
    SHAPE_MOLD_BLOCK = addItem(308, "shape.mold.block");
    SHAPE_MOLD_NUGGET = addItem(309, "shape.mold.nugget");
    SHAPE_MOLD_BUN = addItem(310, "shape.mold.bun");
    SHAPE_MOLD_BREAD = addItem(311, "shape.mold.bread");
    SHAPE_MOLD_BAGUETTE = addItem(312, "shape.mold.baguette");
    SHAPE_MOLD_CYLINDER = addItem(313, "shape.mold.cylinder");
    SHAPE_MOLD_ANVIL = addItem(314, "shape.mold.anvil");
    SHAPE_MOLD_NAME = addItem(315, "shape.mold.name");
    SHAPE_MOLD_GEAR_SMALL = addItem(317, "shape.mold.gear.small");
    SHAPE_EXTRUDER_PLATE = addItem(350, "shape.extruder.plate");
    SHAPE_EXTRUDER_ROD = addItem(351, "shape.extruder.rod");
    SHAPE_EXTRUDER_BOLT = addItem(352, "shape.extruder.bolt");
    SHAPE_EXTRUDER_RING = addItem(353, "shape.extruder.ring");
    SHAPE_EXTRUDER_CELL = addItem(354, "shape.extruder.cell");
    SHAPE_EXTRUDER_INGOT = addItem(355, "shape.extruder.ingot");
    SHAPE_EXTRUDER_WIRE = addItem(356, "shape.extruder.wire");
    SHAPE_EXTRUDER_CASING = addItem(357, "shape.extruder.casing");
    SHAPE_EXTRUDER_PIPE_TINY = addItem(358, "shape.extruder.pipe.tiny");
    SHAPE_EXTRUDER_PIPE_SMALL = addItem(359, "shape.extruder.pipe.small");
    SHAPE_EXTRUDER_PIPE_MEDIUM = addItem(360, "shape.extruder.pipe.medium");
    SHAPE_EXTRUDER_PIPE_LARGE = addItem(361, "shape.extruder.pipe.large");
    SHAPE_EXTRUDER_PIPE_HUGE = addItem(362, "shape.extruder.pipe.huge");
    SHAPE_EXTRUDER_BLOCK = addItem(363, "shape.extruder.block");
    SHAPE_EXTRUDER_SWORD = addItem(364, "shape.extruder.sword");
    SHAPE_EXTRUDER_PICKAXE = addItem(365, "shape.extruder.pickaxe");
    SHAPE_EXTRUDER_SHOVEL = addItem(366, "shape.extruder.shovel");
    SHAPE_EXTRUDER_AXE = addItem(367, "shape.extruder.axe");
    SHAPE_EXTRUDER_HOE = addItem(368, "shape.extruder.hoe");
    SHAPE_EXTRUDER_HAMMER = addItem(369, "shape.extruder.hammer");
    SHAPE_EXTRUDER_FILE = addItem(370, "shape.extruder.file");
    SHAPE_EXTRUDER_SAW = addItem(371, "shape.extruder.saw");
    SHAPE_EXTRUDER_GEAR = addItem(372, "shape.extruder.gear");
    SHAPE_EXTRUDER_BOTTLE = addItem(373, "shape.extruder.bottle");
    SHAPE_SLICER_FLAT = addItem(398, "shape.slicer.flat");
    SHAPE_SLICER_STRIPES = addItem(399, "shape.slicer.stripes");
    FUEL_CAN_PLASTIC_EMPTY = addItem(400, "fuel.can.plastic.empty").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Plastic, OrePrefix.plate.materialAmount)));
    FUEL_CAN_PLASTIC_FILLED = addItem(401, "fuel.can.plastic.filled").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Plastic, OrePrefix.plate.materialAmount)));
    SPRAY_EMPTY = addItem(402, "spray.empty").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Tin, OrePrefix.plate.materialAmount * 2L), new MaterialStack(Materials.Redstone, OrePrefix.dust.materialAmount)));
    THERMOS_CAN_EMPTY = addItem(404, "thermos_can.empty").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Aluminium, OrePrefix.plate.materialAmount + 2L * OrePrefix.ring.materialAmount)));
    LARGE_FLUID_CELL_STEEL = addItem(405, "large.fluid.cell.steel").addStats(new FluidStats(16000, Integer.MAX_VALUE, Integer.MAX_VALUE)).setMaxStackSize(16).setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Steel, OrePrefix.plate.materialAmount * 2L + 2L * OrePrefix.ring.materialAmount)));
    LARGE_FLUID_CELL_TUNGSTENSTEEL = addItem(406, "large.fluid.cell.tungstensteel").addStats(new FluidStats(64000, Integer.MAX_VALUE, Integer.MAX_VALUE)).setMaxStackSize(16).setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.TungstenSteel, OrePrefix.plate.materialAmount * 2L + 2L * OrePrefix.ring.materialAmount)));
    for (byte i = 0; i < 16; i = (byte) (i + 1)) {
        // IItemBehaviour behaviour = new Behaviour_Spray_Color(SPRAY_EMPTY.getStackForm(), SPRAY_CAN_DYES_USED[i].getStackForm(), SPRAY_CAN_DYES[i].getStackForm(), 512L, i);
        // .addStats(behaviour);
        SPRAY_CAN_DYES[i] = addItem(430 + 2 * i, "spray.can.dyes." + EnumDyeColor.byDyeDamage(i).getName());
        // .addStats(behaviour);
        SPRAY_CAN_DYES_USED[i] = addItem(431 + 2 * i, "spray.can.dyes.used." + EnumDyeColor.byDyeDamage(i).getName());
    }
    // IItemBehaviour behaviour = new Behaviour_Lighter(null, TOOL_MATCHES.getStackForm(), TOOL_MATCHES.getStackForm(), 1L);
    // .addStats(behaviour);
    TOOL_MATCHES = addItem(471, "tool.matches");
    // behaviour = new Behaviour_Lighter(null, TOOL_MATCHBOX_USED.getStackForm(), TOOL_MATCHBOX_FULL.getStackForm(), 16L);
    // .addStats(behaviour);
    TOOL_MATCHBOX_USED = addItem(472, "tool.matchbox.used");
    // .addStats(behaviour);
    TOOL_MATCHBOX_FULL = addItem(473, "tool.matchbox.full");
    TOOL_LIGHTER_INVAR_EMPTY = addItem(474, "tool.lighter.invar.empty").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Invar, OrePrefix.plate.materialAmount * 2L)));
    // behaviour = new Behaviour_Lighter(TOOL_LIGHTER_INVAR_EMPTY.getStackForm(), TOOL_LIGHTER_INVAR_USED.getStackForm(), TOOL_LIGHTER_INVAR_FULL.getStackForm(), 100L);
    // .addStats(behaviour);
    TOOL_LIGHTER_INVAR_USED = addItem(475, "tool.lighter.invar.used").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Invar, OrePrefix.plate.materialAmount * 2L)));
    // .addStats(behaviour);
    TOOL_LIGHTER_INVAR_FULL = addItem(476, "tool.lighter.invar.full").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Invar, OrePrefix.plate.materialAmount * 2L)));
    TOOL_LIGHTER_PLATINUM_EMPTY = addItem(477, "tool.lighter.platinum.empty").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Platinum, OrePrefix.plate.materialAmount * 2L)));
    // behaviour = new Behaviour_Lighter(TOOL_LIGHTER_PLATINUM_EMPTY.getStackForm(), TOOL_LIGHTER_PLATINUM_USED.getStackForm(), TOOL_LIGHTER_PLATINUM_FULL.getStackForm(), 1000L);
    // .addStats(behaviour);
    TOOL_LIGHTER_PLATINUM_USED = addItem(478, "tool.lighter.platinum.used").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Platinum, OrePrefix.plate.materialAmount * 2L)));
    // .addStats(behaviour);
    TOOL_LIGHTER_PLATINUM_FULL = addItem(479, "tool.lighter.platinum.full").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Platinum, OrePrefix.plate.materialAmount * 2L)));
    INGOT_IRIDIUM_ALLOY = addItem(480, "ingot.iridiumalloy");
    // .addStats(new Behaviour_PrintedPages());
    PAPER_PRINTED_PAGES = addItem(481, "paper.printed.pages").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    PAPER_MAGIC_EMPTY = addItem(482, "paper.magic.empty").setInvisible().setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 3628800L)));
    PAPER_MAGIC_PAGE = addItem(483, "paper.magic.page").setInvisible().setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 3628800L)));
    PAPER_MAGIC_PAGES = addItem(484, "paper.magic.pages").setInvisible().setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 10886400L)));
    PAPER_PUNCH_CARD_EMPTY = addItem(485, "paper.punch.card.empty").setInvisible().setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 7257600L)));
    PAPER_PUNCH_CARD_ENCODED = addItem(486, "paper.punch.card.encoded").setInvisible().setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Paper, 7257600L)));
    SCHEMATIC = addItem(490, "schematic").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    SCHEMATIC_CRAFTING = addItem(491, "schematic.crafting").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    SCHEMATIC_1X1 = addItem(495, "schematic.1by1").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    SCHEMATIC_2X2 = addItem(496, "schematic.2by2").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    SCHEMATIC_3X3 = addItem(497, "schematic.3by3").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    SCHEMATIC_DUST = addItem(498, "schematic.dust").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.StainlessSteel, 7257600L)));
    BATTERY_HULL_LV = addItem(500, "battery.hull.lv").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.BatteryAlloy, OrePrefix.plate.materialAmount)));
    BATTERY_HULL_MV = addItem(501, "battery.hull.hv").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.BatteryAlloy, OrePrefix.plate.materialAmount * 3L)));
    BATTERY_HULL_HV = addItem(502, "battery.hull.mv").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.BatteryAlloy, OrePrefix.plate.materialAmount * 9L)));
    BATTERY_RE_ULV_TANTALUM = addItem(499, "battery.re.ulv.tantalum").addStats(new ElectricStats(1000, 0));
    BATTERY_SU_LV_SULFURICACID = addItem(510, "battery.su.lv.sulfuricacid").addStats(new ElectricStats(18000, 1, false));
    BATTERY_SU_LV_MERCURY = addItem(511, "battery.su.lv.mercury").addStats(new ElectricStats(32000, 1, false));
    BATTERY_RE_LV_CADMIUM = addItem(517, "battery.re.lv.cadmium").addStats(new ElectricStats(75000, 1));
    BATTERY_RE_LV_LITHIUM = addItem(518, "battery.re.lv.lithium").addStats(new ElectricStats(100000, 1));
    BATTERY_RE_LV_SODIUM = addItem(519, "battery.re.lv.sodium").addStats(new ElectricStats(50000, 1));
    BATTERY_SU_MV_SULFURICACID = addItem(520, "battery.su.mv.sulfuricacid").addStats(new ElectricStats(72000, 2, false));
    BATTERY_SU_MV_MERCURY = addItem(521, "battery.su.mv.mercury").addStats(new ElectricStats(128000, 2, false));
    BATTERY_RE_MV_CADMIUM = addItem(527, "battery.re.mv.cadmium").addStats(new ElectricStats(300000, 2));
    BATTERY_RE_MV_LITHIUM = addItem(528, "battery.re.mv.lithium").addStats(new ElectricStats(400000, 2));
    BATTERY_RE_MV_SODIUM = addItem(529, "battery.re.mv.sodium").addStats(new ElectricStats(200000, 2));
    BATTERY_SU_HV_SULFURICACID = addItem(530, "battery.su.hv.sulfuricacid").addStats(new ElectricStats(288000, 3, false));
    BATTERY_SU_HV_MERCURY = addItem(531, "battery.su.hv.mercury").addStats(new ElectricStats(512000, 3, false));
    BATTERY_RE_HV_CADMIUM = addItem(537, "battery.re.hv.cadmium").addStats(new ElectricStats(1200000, 3));
    BATTERY_RE_HV_LITHIUM = addItem(538, "battery.re.hv.lithium").addStats(new ElectricStats(1600000, 3));
    BATTERY_RE_HV_SODIUM = addItem(539, "battery.re.hv.sodium").addStats(new ElectricStats(800000, 3));
    ENERGY_LAPOTRONICORB = addItem(597, "energy.lapotronicorb").addStats(new ElectricStats(100000000, 5)).setUnificationData(OrePrefix.battery, MarkerMaterials.Tier.Ultimate);
    ENERGY_LAPOTRONICORB2 = addItem(598, "energy.lapotronicorb2").addStats(new ElectricStats(1000000000, 6)).setUnificationData(OrePrefix.battery, MarkerMaterials.Tier.Ultimate);
    ZPM = addItem(599, "zpm").addStats(new ElectricStats(2000000000000L, 7, false));
    ZPM2 = addItem(605, "zpm2").addStats(new ElectricStats(Long.MAX_VALUE, 8));
    ELECTRIC_MOTOR_LV = addItem(600, "electric.motor.lv");
    ELECTRIC_MOTOR_MV = addItem(601, "electric.motor.mv");
    ELECTRIC_MOTOR_HV = addItem(602, "electric.motor.hv");
    ELECTRIC_MOTOR_EV = addItem(603, "electric.motor.ev");
    ELECTRIC_MOTOR_IV = addItem(604, "electric.motor.iv");
    ELECTRIC_MOTOR_LUV = addItem(606, "electric.motor.luv");
    ELECTRIC_MOTOR_ZPM = addItem(607, "electric.motor.zpm");
    ELECTRIC_MOTOR_UV = addItem(608, "electric.motor.uv");
    ELECTRIC_PUMP_LV = addItem(610, "electric.pump.lv");
    ELECTRIC_PUMP_MV = addItem(611, "electric.pump.mv");
    ELECTRIC_PUMP_HV = addItem(612, "electric.pump.hv");
    ELECTRIC_PUMP_EV = addItem(613, "electric.pump.ev");
    ELECTRIC_PUMP_IV = addItem(614, "electric.pump.iv");
    ELECTRIC_PUMP_LUV = addItem(620, "electric.pump.luv");
    ELECTRIC_PUMP_ZPM = addItem(621, "electric.pump.zpm");
    ELECTRIC_PUMP_UV = addItem(622, "electric.pump.uv");
    FLUID_REGULATOR_LV = addItem(615, "fluidregulator.lv");
    FLUID_REGULATOR_MV = addItem(616, "fluidregulator.mv");
    FLUID_REGULATOR_HV = addItem(617, "fluidregulator.hv");
    FLUID_REGULATOR_EV = addItem(618, "fluidregulator.ev");
    FLUID_REGULATOR_IV = addItem(619, "fluidregulator.iv");
    FLUID_FILTER = addItem(635, "fluidfilter");
    ROTOR_LV = addItem(620, "rotor.lv").setUnificationData(OrePrefix.rotor, Materials.Tin);
    ROTOR_MV = addItem(621, "rotor.mv").setUnificationData(OrePrefix.rotor, Materials.Bronze);
    ROTOR_HV = addItem(622, "rotor.hv").setUnificationData(OrePrefix.rotor, Materials.Steel);
    ROTOR_EV = addItem(623, "rotor.ev").setUnificationData(OrePrefix.rotor, Materials.StainlessSteel);
    ROTOR_IV = addItem(624, "rotor.iv").setUnificationData(OrePrefix.rotor, Materials.TungstenSteel);
    CONVEYOR_MODULE_LV = addItem(630, "conveyor.module.lv");
    CONVEYOR_MODULE_MV = addItem(631, "conveyor.module.mv");
    CONVEYOR_MODULE_HV = addItem(632, "conveyor.module.hv");
    CONVEYOR_MODULE_EV = addItem(633, "conveyor.module.ev");
    CONVEYOR_MODULE_IV = addItem(634, "conveyor.module.iv");
    ELECTRIC_PISTON_LV = addItem(640, "electric.piston.lv");
    ELECTRIC_PISTON_MV = addItem(641, "electric.piston.mv");
    ELECTRIC_PISTON_HV = addItem(642, "electric.piston.hv");
    ELECTRIC_PISTON_EV = addItem(643, "electric.piston.ev");
    ELECTRIC_PISTON_IV = addItem(644, "electric.piston.iv");
    ELECTRIC_PISTON_LUV = addItem(645, "electric.piston.luv");
    ELECTRIC_PISTON_ZPM = addItem(646, "electric.piston.zpm");
    ELECTRIC_PISTON_UV = addItem(647, "electric.piston.uv");
    ROBOT_ARM_LV = addItem(650, "robot.arm.lv");
    ROBOT_ARM_MV = addItem(651, "robot.arm.mv");
    ROBOT_ARM_HV = addItem(652, "robot.arm.hv");
    ROBOT_ARM_EV = addItem(653, "robot.arm.ev");
    ROBOT_ARM_IV = addItem(654, "robot.arm.iv");
    ROBOT_ARM_LUV = addItem(655, "robot.arm.luv");
    ROBOT_ARM_ZPM = addItem(656, "robot.arm.zpm");
    ROBOT_ARM_UV = addItem(657, "robot.arm.uv");
    FIELD_GENERATOR_LV = addItem(670, "field.generator.lv");
    FIELD_GENERATOR_MV = addItem(671, "field.generator.mv");
    FIELD_GENERATOR_HV = addItem(672, "field.generator.hv");
    FIELD_GENERATOR_EV = addItem(673, "field.generator.ev");
    FIELD_GENERATOR_IV = addItem(674, "field.generator.iv");
    FIELD_GENERATOR_LUV = addItem(675, "field.generator.luv");
    FIELD_GENERATOR_ZPM = addItem(676, "field.generator.zpm");
    FIELD_GENERATOR_UV = addItem(677, "field.generator.uv");
    EMITTER_LV = addItem(680, "emitter.lv");
    EMITTER_MV = addItem(681, "emitter.mv");
    EMITTER_HV = addItem(682, "emitter.hv");
    EMITTER_EV = addItem(683, "emitter.ev");
    EMITTER_IV = addItem(684, "emitter.iv");
    EMITTER_LUV = addItem(685, "emitter.luv");
    EMITTER_ZPM = addItem(686, "emitter.zpm");
    EMITTER_UV = addItem(687, "emitter.uv");
    SENSOR_LV = addItem(690, "sensor.lv");
    SENSOR_MV = addItem(691, "sensor.mv");
    SENSOR_HV = addItem(692, "sensor.hv");
    SENSOR_EV = addItem(693, "sensor.ev");
    SENSOR_IV = addItem(694, "sensor.iv");
    SENSOR_LUV = addItem(695, "sensor.luv");
    SENSOR_ZPM = addItem(696, "sensor.zpm");
    SENSOR_UV = addItem(697, "sensor.uv");
    // .addStats(new Behaviour_DataStick());
    TOOL_DATASTICK = addItem(708, "tool.datastick").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Data);
    // .addStats(new Behaviour_DataOrb());
    TOOL_DATAORB = addItem(707, "tool.dataorb").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Ultimate);
    CIRCUIT_PRIMITIVE = addItem(700, "circuit.primitive").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Primitive);
    CIRCUIT_BASIC = addItem(701, "circuit.basic").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Basic);
    CIRCUIT_GOOD = addItem(702, "circuit.good").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Good);
    CIRCUIT_ADVANCED = addItem(703, "circuit.advanced").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Advanced);
    CIRCUIT_DATA = addItem(704, "circuit.data").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Data);
    CIRCUIT_ELITE = addItem(705, "circuit.elite").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Elite);
    CIRCUIT_MASTER = addItem(706, "circuit.master").setUnificationData(OrePrefix.circuit, MarkerMaterials.Tier.Master);
    CIRCUIT_ULTIMATE = TOOL_DATAORB;
    CIRCUIT_BOARD_BASIC = addItem(710, "circuit.board.basic");
    CIRCUIT_BOARD_ADVANCED = addItem(711, "circuit.board.advanced");
    CIRCUIT_BOARD_ELITE = addItem(712, "circuit.board.elite");
    CIRCUIT_PARTS_CRYSTAL_CHIP_ELITE = addItem(713, "circuit.parts.crystal.chip.elite");
    CIRCUIT_PARTS_CRYSTAL_CHIP_MASTER = addItem(714, "circuit.parts.crystal.chip.master");
    CIRCUIT_PARTS_ADVANCED = addItem(715, "circuit.parts.advanced");
    CIRCUIT_PARTS_WIRING_BASIC = addItem(716, "circuit.parts.wiring.basic");
    CIRCUIT_PARTS_WIRING_ADVANCED = addItem(717, "circuit.parts.wiring.advanced");
    CIRCUIT_PARTS_WIRING_ELITE = addItem(718, "circuit.parts.wiring.elite");
    EMPTY_BOARD_BASIC = addItem(719, "empty.board.basic");
    EMPTY_BOARD_ELITE = addItem(720, "empty.board.elite");
    COMPONENT_SAWBLADE_DIAMOND = addItem(721, "component.sawblade.diamond").addOreDict(OreDictNames.craftingDiamondBlade);
    COMPONENT_GRINDER_DIAMOND = addItem(722, "component.grinder.diamond").addOreDict(OreDictNames.craftingGrinder);
    COMPONENT_GRINDER_TUNGSTEN = addItem(723, "component.grinder.tungsten").addOreDict(OreDictNames.craftingGrinder);
    QUANTUMEYE = addItem(724, "quantumeye");
    QUANTUMSTAR = addItem(725, "quantumstar");
    GRAVISTAR = addItem(726, "gravistar");
    UPGRADE_MUFFLER = addItem(727, "upgrade.muffler");
    UPGRADE_LOCK = addItem(728, "upgrade.lock");
    COMPONENT_FILTER = addItem(729, "component.filter").setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Zinc, OrePrefix.foil.materialAmount * 16L))).addOreDict(OreDictNames.craftingFilter);
    COVER_CONTROLLER = addItem(730, "cover.controller");
    COVER_ACTIVITY_DETECTOR = addItem(731, "cover.activity.detector");
    COVER_FLUID_DETECTOR = addItem(732, "cover.fluid.detector");
    COVER_ITEM_DETECTOR = addItem(733, "cover.item.detector");
    COVER_ENERGY_DETECTOR = addItem(734, "cover.energy.detector");
    COVER_PLAYER_DETECTOR = addItem(735, "cover.player.detector");
    COVER_SCREEN = addItem(740, "cover.screen");
    COVER_CRAFTING = addItem(744, "cover.crafting");
    COVER_DRAIN = addItem(745, "cover.drain");
    COVER_SHUTTER = addItem(749, "cover.shutter");
    COVER_SOLARPANEL = addItem(750, "cover.solarpanel");
    COVER_SOLARPANEL_8V = addItem(751, "cover.solarpanel.8v");
    COVER_SOLARPANEL_LV = addItem(752, "cover.solarpanel.lv");
    COVER_SOLARPANEL_MV = addItem(753, "cover.solarpanel.mv");
    COVER_SOLARPANEL_HV = addItem(754, "cover.solarpanel.hv");
    COVER_SOLARPANEL_EV = addItem(755, "cover.solarpanel.ev");
    COVER_SOLARPANEL_IV = addItem(756, "cover.solarpanel.iv");
    COVER_SOLARPANEL_LUV = addItem(757, "cover.solarpanel.luv");
    COVER_SOLARPANEL_ZPM = addItem(758, "cover.solarpanel.zpm");
    COVER_SOLARPANEL_UV = addItem(759, "cover.solarpanel.uv");
    TOOL_CHEAT = addItem(761, "tool.cheat").addStats(/*new Behaviour_Scanner(), */
    new ElectricStats(-2000000000, -1));
    TOOL_SCANNER = addItem(762, "tool.scanner").addStats(/*new Behaviour_Scanner(),*/
    new ElectricStats(400000, 2, true, false));
    // .addStats(new Behaviour_SensorKit());
    NC_SENSORKIT = addItem(763, "nc.sensorkit");
    DUCT_TAPE = addItem(764, "duct.tape").addOreDict(OreDictNames.craftingDuctTape);
    MCGUFFIUM_239 = addItem(765, "mcguffium.239");
    INTEGRATED_CIRCUIT = addItem(766, "circuit.integrated");
    FLUID_CELL = addItem(767, "cell.fluid").addStats(new FluidStats(16000, Integer.MIN_VALUE, Integer.MAX_VALUE));
}
Also used : ItemMaterialInfo(gregtech.api.unification.stack.ItemMaterialInfo) ElectricStats(gregtech.api.items.metaitem.ElectricStats) MaterialStack(gregtech.api.unification.stack.MaterialStack) RandomPotionEffect(gregtech.api.util.RandomPotionEffect) FoodStats(gregtech.api.items.metaitem.FoodStats) FluidStats(gregtech.api.items.metaitem.FluidStats)

Aggregations

MaterialStack (gregtech.api.unification.stack.MaterialStack)9 ItemMaterialInfo (gregtech.api.unification.stack.ItemMaterialInfo)4 SimpleItemStack (gregtech.api.unification.stack.SimpleItemStack)3 ItemStack (net.minecraft.item.ItemStack)3 UnificationEntry (gregtech.api.unification.stack.UnificationEntry)2 Nullable (javax.annotation.Nullable)2 ElectricStats (gregtech.api.items.metaitem.ElectricStats)1 FluidStats (gregtech.api.items.metaitem.FluidStats)1 FoodStats (gregtech.api.items.metaitem.FoodStats)1 RecipeBuilder (gregtech.api.recipes.RecipeBuilder)1 DustMaterial (gregtech.api.unification.material.type.DustMaterial)1 FluidMaterial (gregtech.api.unification.material.type.FluidMaterial)1 RandomPotionEffect (gregtech.api.util.RandomPotionEffect)1 ArrayList (java.util.ArrayList)1 FluidStack (net.minecraftforge.fluids.FluidStack)1