Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/main/java/gregtech/api/unification/Elements.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public static void register() {
add(24, 28, -1, null, "Chrome", "Cr", false);
add(25, 30, -1, null, "Manganese", "Mn", false);
add(26, 30, -1, null, "Iron", "Fe", false);
add(27, 32, -1, null, "Cobalt", "Cp", false);
add(27, 32, -1, null, "Cobalt", "Co", false);
add(28, 30, -1, null, "Nickel", "Ni", false);
add(29, 34, -1, null, "Copper", "Cu", false);
add(30, 35, -1, null, "Zinc", "Zn", false);
Expand All @@ -67,7 +67,7 @@ public static void register() {
add(46, 60, -1, null, "Palladium", "Pd", false);
add(47, 60, -1, null, "Silver", "Ag", false);
add(48, 64, -1, null, "Cadmium", "Cd", false);
add(49, 65, -1, null, "Indium", "I", false);
add(49, 65, -1, null, "Indium", "In", false);
add(50, 68, -1, null, "Tin", "Sn", false);
add(51, 70, -1, null, "Antimony", "Sb", false);
add(52, 75, -1, null, "Tellurium", "Te", false);
Expand Down Expand Up @@ -111,9 +111,11 @@ public static void register() {
add(90, 140, -1, null, "Thorium", "Th", false);
add(91, 138, -1, null, "Protactinium", "Pa", false);
add(92, 146, -1, null, "Uranium", "U", false);
add(92, 146, -1, null, "Uranium-238", "U_238", false);
add(92, 143, -1, null, "Uranium-235", "U_235", true);
add(93, 144, -1, null, "Neptunium", "Np", false);
add(94, 152, -1, null, "Plutonium", "Pu", false);
add(94, 145, -1, null, "Plutonium-239", "Pu_239", false);
add(94, 149, -1, null, "Plutonium-241", "Pu_241", true);
add(95, 150, -1, null, "Americium", "Am", false);
add(96, 153, -1, null, "Curium", "Cm", false);
Expand Down
116 changes: 58 additions & 58 deletions src/main/java/gregtech/api/unification/material/Materials.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public static final class MatFlags {

/**
* Add to material if it is outputting less in an Induction Smelter.
* todo remove
*/
public static final long INDUCTION_SMELTING_LOW_OUTPUT = createFlag(16);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ protected long verifyMaterialBits(long generationBits) {
if ((generationBits & GENERATE_FRAME) > 0) {
generationBits |= GENERATE_ROD;
}
if ((generationBits & GENERATE_DOUBLE_PLATE) > 0) {
generationBits |= GENERATE_PLATE;
}

return super.verifyMaterialBits(generationBits);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,12 @@ public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World wo
public List<ItemStack> onSheared(@Nonnull ItemStack item, IBlockAccess world, BlockPos pos, int fortune) {
return Lists.newArrayList(new ItemStack(this, 1, world.getBlockState(pos).getValue(VARIANT).ordinal()));
}

public ItemStack getItem(LogVariant variant) {
return new ItemStack(this, 1, variant.ordinal() * 2);
}

public ItemStack getItem(LogVariant variant, int amount) {
return new ItemStack(this, amount, variant.ordinal() * 2);
}
}
4 changes: 4 additions & 0 deletions src/main/java/gregtech/common/blocks/wood/BlockGregLog.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ public ItemStack getItem(LogVariant variant) {
return new ItemStack(this, 1, variant.ordinal() * 2);
}

public ItemStack getItem(LogVariant variant, int amount) {
return new ItemStack(this, amount, variant.ordinal() * 2);
}

@Override
public IBlockState getStateFromMeta(int meta) {
return getDefaultState()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,14 @@ public void generateTree(World worldIn, BlockPos pos, IBlockState state, Random
}
}

public ItemStack getItem(LogVariant variant) {
return new ItemStack(this, 1, variant.ordinal() * 2);
}

public ItemStack getItem(LogVariant variant, int amount) {
return new ItemStack(this, amount, variant.ordinal() * 2);
}

public static class WorldGenBigTreeCustom extends WorldGenBigTree {

private final IBlockState logBlock;
Expand Down
23 changes: 12 additions & 11 deletions src/main/java/gregtech/common/items/MetaItem1.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,18 @@ public void registerSubItems() {
SHAPE_EXTRUDERS[8] = SHAPE_EXTRUDER_PIPE_SMALL = addItem(359, "shape.extruder.pipe.small");
SHAPE_EXTRUDERS[9] = SHAPE_EXTRUDER_PIPE_MEDIUM = addItem(360, "shape.extruder.pipe.medium");
SHAPE_EXTRUDERS[10] = SHAPE_EXTRUDER_PIPE_LARGE = addItem(361, "shape.extruder.pipe.large");
SHAPE_EXTRUDERS[11] = SHAPE_EXTRUDER_BLOCK = addItem(363, "shape.extruder.block");
SHAPE_EXTRUDERS[12] = SHAPE_EXTRUDER_SWORD = addItem(364, "shape.extruder.sword");
SHAPE_EXTRUDERS[13] = SHAPE_EXTRUDER_PICKAXE = addItem(365, "shape.extruder.pickaxe");
SHAPE_EXTRUDERS[14] = SHAPE_EXTRUDER_SHOVEL = addItem(366, "shape.extruder.shovel");
SHAPE_EXTRUDERS[15] = SHAPE_EXTRUDER_AXE = addItem(367, "shape.extruder.axe");
SHAPE_EXTRUDERS[16] = SHAPE_EXTRUDER_HOE = addItem(368, "shape.extruder.hoe");
SHAPE_EXTRUDERS[17] = SHAPE_EXTRUDER_HAMMER = addItem(369, "shape.extruder.hammer");
SHAPE_EXTRUDERS[18] = SHAPE_EXTRUDER_FILE = addItem(370, "shape.extruder.file");
SHAPE_EXTRUDERS[19] = SHAPE_EXTRUDER_SAW = addItem(371, "shape.extruder.saw");
SHAPE_EXTRUDERS[20] = SHAPE_EXTRUDER_GEAR = addItem(372, "shape.extruder.gear");
SHAPE_EXTRUDERS[21] = SHAPE_EXTRUDER_BOTTLE = addItem(373, "shape.extruder.bottle");
SHAPE_EXTRUDERS[11] = SHAPE_EXTRUDER_PIPE_HUGE = addItem(362, "shape.extruder.pipe.huge");
SHAPE_EXTRUDERS[12] = SHAPE_EXTRUDER_BLOCK = addItem(363, "shape.extruder.block");
SHAPE_EXTRUDERS[13] = SHAPE_EXTRUDER_SWORD = addItem(364, "shape.extruder.sword");
SHAPE_EXTRUDERS[14] = SHAPE_EXTRUDER_PICKAXE = addItem(365, "shape.extruder.pickaxe");
SHAPE_EXTRUDERS[15] = SHAPE_EXTRUDER_SHOVEL = addItem(366, "shape.extruder.shovel");
SHAPE_EXTRUDERS[16] = SHAPE_EXTRUDER_AXE = addItem(367, "shape.extruder.axe");
SHAPE_EXTRUDERS[17] = SHAPE_EXTRUDER_HOE = addItem(368, "shape.extruder.hoe");
SHAPE_EXTRUDERS[18] = SHAPE_EXTRUDER_HAMMER = addItem(369, "shape.extruder.hammer");
SHAPE_EXTRUDERS[19] = SHAPE_EXTRUDER_FILE = addItem(370, "shape.extruder.file");
SHAPE_EXTRUDERS[20] = SHAPE_EXTRUDER_SAW = addItem(371, "shape.extruder.saw");
SHAPE_EXTRUDERS[21] = SHAPE_EXTRUDER_GEAR = addItem(372, "shape.extruder.gear");
SHAPE_EXTRUDERS[22] = SHAPE_EXTRUDER_BOTTLE = addItem(373, "shape.extruder.bottle");

SPRAY_EMPTY = addItem(402, "spray.empty")
.setMaterialInfo(new ItemMaterialInfo(new MaterialStack(Materials.Tin, OrePrefix.plate.materialAmount * 2L), new MaterialStack(Materials.Redstone, OrePrefix.dust.materialAmount)));
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/gregtech/common/items/MetaItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ private MetaItems() {
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_GEAR_SMALL;
public static MetaItem<?>.MetaValueItem SHAPE_MOLD_ROTOR;

public static MetaItem<?>.MetaValueItem[] SHAPE_EXTRUDERS = new MetaValueItem[22];
public static MetaItem<?>.MetaValueItem[] SHAPE_EXTRUDERS = new MetaValueItem[23];
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PLATE;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_ROD;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_BOLT;
Expand All @@ -76,6 +76,7 @@ private MetaItems() {
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PIPE_SMALL;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PIPE_MEDIUM;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PIPE_LARGE;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PIPE_HUGE;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_BLOCK;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_SWORD;
public static MetaItem<?>.MetaValueItem SHAPE_EXTRUDER_PICKAXE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,13 +197,15 @@ public static void processIngot(OrePrefix ingotPrefix, IngotMaterial material) {
OreDictUnifier.get(OrePrefix.stick, material, 1),
"f ", " X",
'X', new UnificationEntry(ingotPrefix, material));
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(ingotPrefix, material)
.notConsumable(MetaItems.SHAPE_EXTRUDER_ROD)
.outputs(OreDictUnifier.get(OrePrefix.stick, material, 2))
.duration((int) material.getAverageMass() * 2)
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();
if (!material.hasFlag(NO_WORKING)) {
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(ingotPrefix, material)
.notConsumable(MetaItems.SHAPE_EXTRUDER_ROD)
.outputs(OreDictUnifier.get(OrePrefix.stick, material, 2))
.duration((int) material.getAverageMass() * 2)
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();
}
}

if (material.shouldGenerateFluid()) {
Expand All @@ -225,20 +227,36 @@ public static void processIngot(OrePrefix ingotPrefix, IngotMaterial material) {
.buildAndRegister();
}

if (material.hasFlag(MatFlags.GENERATE_PLATE) && !material.hasFlag(NO_SMASHING)) {
ItemStack plateStack = OreDictUnifier.get(OrePrefix.plate, material);
RecipeMaps.BENDER_RECIPES.recipeBuilder()
.circuitMeta(0)
.input(ingotPrefix, material)
.outputs(plateStack)
.EUt(24).duration((int) (material.getAverageMass()))
.buildAndRegister();
if (material.hasFlag(MatFlags.GENERATE_PLATE) && !material.hasFlag(NO_WORKING)) {

RecipeMaps.FORGE_HAMMER_RECIPES.recipeBuilder()
.input(ingotPrefix, material, 3)
.outputs(GTUtility.copyAmount(2, plateStack))
.EUt(16).duration((int) (material.getAverageMass() * 2))
.buildAndRegister();
if (!material.hasFlag(NO_SMASHING)) {
ItemStack plateStack = OreDictUnifier.get(OrePrefix.plate, material);
RecipeMaps.BENDER_RECIPES.recipeBuilder()
.circuitMeta(0)
.input(ingotPrefix, material)
.outputs(plateStack)
.EUt(24).duration((int) (material.getAverageMass()))
.buildAndRegister();

RecipeMaps.FORGE_HAMMER_RECIPES.recipeBuilder()
.input(ingotPrefix, material, 3)
.outputs(GTUtility.copyAmount(2, plateStack))
.EUt(16).duration((int) (material.getAverageMass() * 2))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("plate_%s", material.toString()),
plateStack, "h", "I", "I", 'I', new UnificationEntry(ingotPrefix, material));

if (material.hasFlag(IngotMaterial.MatFlags.GENERATE_DENSE)) {
ItemStack denseStack = OreDictUnifier.get(OrePrefix.plateDense, material);
RecipeMaps.BENDER_RECIPES.recipeBuilder()
.input(ingotPrefix, material, 9)
.outputs(denseStack)
.circuitMeta(5)
.EUt(96).duration((int) (material.getAverageMass() * 9))
.buildAndRegister();
}
}

int voltageMultiplier = getVoltageMultiplier(material);
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
Expand All @@ -248,27 +266,6 @@ public static void processIngot(OrePrefix ingotPrefix, IngotMaterial material) {
.duration((int) material.getAverageMass())
.EUt(8 * voltageMultiplier)
.buildAndRegister();

RecipeMaps.ALLOY_SMELTER_RECIPES.recipeBuilder()
.input(ingotPrefix, material, 2)
.notConsumable(MetaItems.SHAPE_MOLD_PLATE)
.outputs(OreDictUnifier.get(OrePrefix.plate, material))
.duration((int) material.getAverageMass() * 2)
.EUt(2 * voltageMultiplier)
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("plate_%s", material.toString()),
plateStack, "h", "I", "I", 'I', new UnificationEntry(ingotPrefix, material));

if (material.hasFlag(IngotMaterial.MatFlags.GENERATE_DENSE)) {
ItemStack denseStack = OreDictUnifier.get(OrePrefix.plateDense, material);
RecipeMaps.BENDER_RECIPES.recipeBuilder()
.input(ingotPrefix, material, 9)
.outputs(denseStack)
.circuitMeta(5)
.EUt(96).duration((int) (material.getAverageMass() * 9))
.buildAndRegister();
}
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import gregtech.api.recipes.ModHandler;
import gregtech.api.recipes.RecipeMaps;
import gregtech.api.unification.OreDictUnifier;
import gregtech.api.unification.material.Materials;
import gregtech.api.unification.material.type.IngotMaterial;
import gregtech.api.unification.material.type.Material;
import gregtech.api.unification.ore.OrePrefix;
Expand All @@ -18,30 +19,36 @@ public static void register() {
OrePrefix.pipeSmall.addProcessingHandler(IngotMaterial.class, PipeRecipeHandler::processPipeSmall);
OrePrefix.pipeMedium.addProcessingHandler(IngotMaterial.class, PipeRecipeHandler::processPipeNormal);
OrePrefix.pipeLarge.addProcessingHandler(IngotMaterial.class, PipeRecipeHandler::processPipeLarge);
OrePrefix.pipeHuge.addProcessingHandler(IngotMaterial.class, PipeRecipeHandler::processPipeHuge);
}

private static void processPipeTiny(OrePrefix pipePrefix, IngotMaterial material) {
ItemStack pipeStack = OreDictUnifier.get(pipePrefix, material);
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(OrePrefix.ingot, material, 3)
.input(OrePrefix.ingot, material, 1)
.notConsumable(MetaItems.SHAPE_EXTRUDER_PIPE_TINY)
.outputs(GTUtility.copyAmount(4, OreDictUnifier.get(pipePrefix, material)))
.duration((int) (material.getAverageMass() * 4))
.outputs(GTUtility.copyAmount(2, pipeStack))
.duration((int) (material.getAverageMass()))
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("tiny_%s_pipe", material.toString()),
GTUtility.copyAmount(8, pipeStack), "XXX", "h w", "XXX",
'X', new UnificationEntry(OrePrefix.plate, material));
}

private static void processPipeSmall(OrePrefix pipePrefix, IngotMaterial material) {
ItemStack pipeStack = OreDictUnifier.get(pipePrefix, material);
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(OrePrefix.ingot, material, 3)
.input(OrePrefix.ingot, material, 1)
.notConsumable(MetaItems.SHAPE_EXTRUDER_PIPE_SMALL)
.outputs(GTUtility.copyAmount(2, pipeStack))
.duration((int) (material.getAverageMass() * 2))
.outputs(pipeStack)
.duration((int) (material.getAverageMass()))
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("small_%s_pipe", material.toString()),
GTUtility.copyAmount(4, pipeStack), "XXX", "h f", "XXX",
GTUtility.copyAmount(6, pipeStack), "XwX", "X X", "XhX",
'X', new UnificationEntry(OrePrefix.plate, material));
}

Expand All @@ -51,23 +58,43 @@ private static void processPipeNormal(OrePrefix pipePrefix, IngotMaterial materi
.input(OrePrefix.ingot, material, 3)
.notConsumable(MetaItems.SHAPE_EXTRUDER_PIPE_MEDIUM)
.outputs(pipeStack)
.duration((int) material.getAverageMass())
.duration((int) material.getAverageMass() * 3)
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("medium_%s_pipe", material.toString()),
GTUtility.copyAmount(2, pipeStack), "XXX", "f h", "XXX",
GTUtility.copyAmount(2, pipeStack), "XXX", "w h", "XXX",
'X', new UnificationEntry(OrePrefix.plate, material));
}

private static void processPipeLarge(OrePrefix pipePrefix, IngotMaterial material) {
ItemStack pipeStack = OreDictUnifier.get(pipePrefix, material);
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(OrePrefix.ingot, material, 6)
.notConsumable(MetaItems.SHAPE_EXTRUDER_PIPE_LARGE)
.outputs(OreDictUnifier.get(pipePrefix, material))
.duration((int) material.getAverageMass())
.outputs(pipeStack)
.duration((int) material.getAverageMass() * 6)
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("large_%s_pipe", material.toString()),
pipeStack, "XhX", "X X", "XwX",
'X', new UnificationEntry(OrePrefix.plate, material));
}

private static void processPipeHuge(OrePrefix pipePrefix, IngotMaterial material) {
ItemStack pipeStack = OreDictUnifier.get(pipePrefix, material);
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
.input(OrePrefix.ingot, material, 12)
.notConsumable(MetaItems.SHAPE_EXTRUDER_PIPE_HUGE)
.outputs(pipeStack)
.duration((int) material.getAverageMass() * 24)
.EUt(6 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addShapedRecipe(String.format("huge_%s_pipe", material.toString()),
pipeStack, "XhX", "X X", "XwX",
'X', new UnificationEntry(OrePrefix.plateDouble, material));
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package gregtech.loaders.oreprocessing;

import gregtech.api.GTValues;
import gregtech.api.recipes.ModHandler;
import gregtech.api.recipes.RecipeMaps;
import gregtech.api.unification.OreDictUnifier;
import gregtech.api.unification.material.type.IngotMaterial;
import gregtech.api.unification.material.type.Material;
import gregtech.api.unification.ore.OrePrefix;
import gregtech.api.unification.stack.UnificationEntry;
import net.minecraft.item.ItemStack;
Expand All @@ -26,12 +28,18 @@ public static void processPolarizing(OrePrefix polarizingPrefix, IngotMaterial m
RecipeMaps.POLARIZER_RECIPES.recipeBuilder() //polarizing
.input(polarizingPrefix, material)
.outputs(magneticStack)
.duration(16).EUt(16)
.duration((int) ((int) material.getAverageMass() * polarizingPrefix.materialAmount / GTValues.M))
.EUt(8 * getVoltageMultiplier(material))
.buildAndRegister();

ModHandler.addSmeltingRecipe(new UnificationEntry(polarizingPrefix, material.magneticMaterial),
OreDictUnifier.get(polarizingPrefix, material)); //de-magnetizing
}
}

private static int getVoltageMultiplier(Material material) {
return material instanceof IngotMaterial && ((IngotMaterial) material)
.blastFurnaceTemperature >= 1200 ? 32 : 2;
}

}
Loading