diff --git a/dependencies.gradle b/dependencies.gradle index 0e1b101..7a621c7 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,22 +1,22 @@ dependencies { - runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.7.88-GTNH:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:EnderIO:2.9.22:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.26-GTNH:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:EnderIO:2.10.3:dev") runtimeOnlyNonPublishable("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:waila:1.8.14:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:waila:1.9.7:dev") shadowImplementation("com.google.protobuf:protobuf-java:4.28.2") api("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") - api('com.github.GTNewHorizons:GT5-Unofficial:5.09.51.459:dev') - api("com.github.GTNewHorizons:ModularUI:1.2.20:dev") - api('com.github.GTNewHorizons:GTNHLib:0.6.39:dev') - implementation("com.github.GTNewHorizons:StructureLib:1.4.23:dev") + api('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.85:dev') + api("com.github.GTNewHorizons:ModularUI:1.3.0:dev") + api('com.github.GTNewHorizons:GTNHLib:0.7.3:dev') + implementation("com.github.GTNewHorizons:StructureLib:1.4.24:dev") compileOnly('org.projectlombok:lombok:1.18.34') annotationProcessor('org.projectlombok:lombok:1.18.34') - implementation('com.github.GTNewHorizons:Angelica:1.0.0-beta56:dev') + implementation('com.github.GTNewHorizons:Angelica:1.0.0-beta63:dev') implementation(rfg.deobf("curse.maven:spark-361579:4271867")) } @@ -25,7 +25,7 @@ project.getConfigurations().configureEach(c -> { final DependencySubstitutions ds = c.getResolutionStrategy().getDependencySubstitution() ds.substitute(ds.module("com.github.GTNewHorizons:Baubles")) - .using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.1.15-GTNH")) + .using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH")) .withClassifier("dev") .because("Baubles-Expanded replaces Baubles") }) diff --git a/gradle.properties b/gradle.properties index 6bd6af9..8c397f9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -74,7 +74,7 @@ apiPackage = accessTransformersFile = # Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled! -usesMixins = false +usesMixins = true # Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main. # This can speed up compile times thanks to not running the mixin annotation processor on all input sources. @@ -88,12 +88,12 @@ usesMixinDebug = false mixinPlugin = # Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail! -mixinsPackage = +mixinsPackage = mixins # Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin! # This parameter is for legacy compatibility only # Example value: (coreModClass = asm.FMLPlugin) + (modGroup = com.myname.mymodid) -> com.myname.mymodid.asm.FMLPlugin -coreModClass = +coreModClass = NHCoremod # If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class # that is annotated with @Mod) you want this to be true. When in doubt: leave it on false! @@ -142,7 +142,7 @@ modrinthProjectId = # type can be one of [project, version], # and the name is the Modrinth project or version slug/id of the other mod. # Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech -# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true +# Note: UniMixins is automatically set as a required dependency if usesMixins = true. modrinthRelations = # Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens. diff --git a/scripts/extract_materials.py b/scripts/extract_materials.py index 3554587..571552a 100644 --- a/scripts/extract_materials.py +++ b/scripts/extract_materials.py @@ -8,8 +8,6 @@ gtStyle=[ ("src/main/java/gregtech/api/enums/Materials.java", r"public static Materials (\w+);"), - ("src/main/java/gregtech/api/enums/MaterialsKevlar.java", r"public static Materials (\w+) ="), - ("src/main/java/gregtech/api/enums/MaterialsUEVplus.java", r"public static Materials (\w+) =") ] bwStyle=[ @@ -38,8 +36,6 @@ "import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical;", "import goodgenerator.items.GGMaterial;", "import gregtech.api.enums.Materials;", - "import gregtech.api.enums.MaterialsKevlar;", - "import gregtech.api.enums.MaterialsUEVplus;", "import gtPlusPlus.core.material.MaterialMisc;", "import gtPlusPlus.core.material.MaterialsAlloy;", "import gtPlusPlus.core.material.MaterialsElements;", diff --git a/settings.gradle b/settings.gradle index a2297d4..b0000e0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,5 +17,5 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.38' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.42' } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java index 20705bf..38b1d1a 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java @@ -4,7 +4,7 @@ import com.recursive_pineapple.nuclear_horizons.reactors.blocks.BlockList; import com.recursive_pineapple.nuclear_horizons.reactors.fluids.FluidList; import com.recursive_pineapple.nuclear_horizons.reactors.items.ForeignItems; -import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList; import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical; import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; import com.recursive_pineapple.nuclear_horizons.reactors.tile.simulator.SimulationItems; @@ -28,7 +28,7 @@ public void preInit(FMLPreInitializationEvent event) { Config.synchronizeConfiguration(event.getSuggestedConfigurationFile()); - ItemList.registerItems(); + NHItemList.registerItems(); BlockList.registerBlocks(); FluidList.registerFluids(); @@ -52,9 +52,11 @@ public void postInit(FMLPostInitializationEvent event) { ReprocessingRecipes.registerRecipes(); FuelProcessingRecipes.registerRecipes(); + ChemicalRecipes.registerRecipes(); CoolantRecipes.registerRecipes(); FuelRodRecipes.registerRecipes(); ComponentRecipes.registerRecipes(); + MiscRecipes.registerRecipes(); } // register server commands in this event handler (Remove if not needed) diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/NHCoremod.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/NHCoremod.java new file mode 100644 index 0000000..ce93035 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/NHCoremod.java @@ -0,0 +1,48 @@ +package com.recursive_pineapple.nuclear_horizons; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.gtnewhorizon.gtnhmixins.IEarlyMixinLoader; +import com.gtnewhorizon.gtnhmixins.builders.IMixins; +import com.recursive_pineapple.nuclear_horizons.mixins.Mixins; +import cpw.mods.fml.relauncher.IFMLLoadingPlugin; + +public class NHCoremod implements IFMLLoadingPlugin, IEarlyMixinLoader { + + @Override + public String[] getASMTransformerClass() { + return new String[0]; + } + + @Override + public String getModContainerClass() { + return null; + } + + @Override + public String getSetupClass() { + return null; + } + + @Override + public void injectData(Map data) { + + } + + @Override + public String getAccessTransformerClass() { + return null; + } + + @Override + public String getMixinConfig() { + return "mixins.nuclear_horizons.early.json"; + } + + @Override + public List getMixins(Set loadedCoreMods) { + return IMixins.getEarlyMixins(Mixins.class, loadedCoreMods); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/LateMixinPlugin.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/LateMixinPlugin.java new file mode 100644 index 0000000..30ccb2d --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/LateMixinPlugin.java @@ -0,0 +1,24 @@ +package com.recursive_pineapple.nuclear_horizons.mixins; + +import java.util.List; +import java.util.Set; + +import org.jetbrains.annotations.NotNull; + +import com.gtnewhorizon.gtnhmixins.ILateMixinLoader; +import com.gtnewhorizon.gtnhmixins.LateMixin; +import com.gtnewhorizon.gtnhmixins.builders.IMixins; + +@LateMixin +public class LateMixinPlugin implements ILateMixinLoader { + + @Override + public String getMixinConfig() { + return "mixins.nuclear_horizons.late.json"; + } + + @Override + public @NotNull List getMixins(Set loadedMods) { + return IMixins.getLateMixins(Mixins.class, loadedMods); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/Mixins.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/Mixins.java new file mode 100644 index 0000000..ce9ffe9 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/Mixins.java @@ -0,0 +1,29 @@ +package com.recursive_pineapple.nuclear_horizons.mixins; + +import org.jetbrains.annotations.NotNull; + +import com.gtnewhorizon.gtnhmixins.builders.IMixins; +import com.gtnewhorizon.gtnhmixins.builders.MixinBuilder; +import com.recursive_pineapple.nuclear_horizons.utils.Mods; + +public enum Mixins implements IMixins { + +// IC2_REACTOR_IFACE_INJECTION( +// new MixinBuilder("Implements interfaces on IC2 reactors") +// .addCommonMixins("ic2.MixinReactor", "ic2.MixinReactorChamber") +// .addRequiredMod(Mods.IndustrialCraft2) +// .setPhase(Phase.LATE)) + + ; + + private final MixinBuilder builder; + + Mixins(MixinBuilder builder) { + this.builder = builder; + } + + @Override + public @NotNull MixinBuilder getBuilder() { + return builder; + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactor.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactor.java new file mode 100644 index 0000000..26388fe --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactor.java @@ -0,0 +1,112 @@ +package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2; + +import net.minecraft.item.ItemStack; + +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter; +import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid; +import ic2.core.block.invslot.InvSlotReactor; +import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric; + +@Mixin(value = TileEntityNuclearReactorElectric.class, remap = false) +public abstract class MixinReactor implements IReactorGrid { + + @Shadow + @Final + public InvSlotReactor reactorSlot; + + @Shadow + private boolean fluidcoolreactor; + + @Shadow + public abstract short getReactorSize(); + + @Shadow + public abstract boolean produceEnergy(); + + @Shadow + public abstract int getHeat(); + @Shadow + public abstract void setHeat(int heat); + @Shadow + public abstract int addHeat(int delta); + + @Shadow + public abstract void addEmitHeat(int heat); + + @Shadow + public abstract int getMaxHeat(); + + @Shadow + public abstract float addOutput(float energy); + + @Override + public int getWidth() { + return getReactorSize(); + } + + @Override + public int getHeight() { + return 6; + } + + @Override + public @Nullable IComponentAdapter getComponent(int x, int y) { + throw new UnsupportedOperationException(); + } + + @Override + public @Nullable ItemStack getItem(int x, int y) { + return reactorSlot.get(x, y); + } + + @Override + public void setItem(int x, int y, @Nullable ItemStack item) { + reactorSlot.put(x, y, item); + } + + @Override + public boolean isActive() { + return produceEnergy(); + } + + @Override + public int getHullHeat() { + return getHeat(); + } + + @Override + public int getMaxHullHeat() { + return getMaxHeat(); + } + + @Override + public void setHullHeat(int newHeat) { + setHeat(newHeat); + } + + @Override + public void addHullHeat(int delta) { + addHeat(delta); + } + + @Override + public int addAirHeat(int delta) { + addEmitHeat(delta); + return 0; + } + + @Override + public void addEU(double eu) { + addOutput((float) eu); + } + + @Override + public boolean isFluid() { + return fluidcoolreactor; + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactorChamber.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactorChamber.java new file mode 100644 index 0000000..76ad719 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/mixins/late/ic2/MixinReactorChamber.java @@ -0,0 +1,41 @@ +package com.recursive_pineapple.nuclear_horizons.mixins.late.ic2; + +import javax.annotation.Nullable; + +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.SoftOverride; + +import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid; +import com.recursive_pineapple.nuclear_horizons.reactors.tile.IReactorBlock; +import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore; +import ic2.api.Direction; +import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric; +import ic2.core.block.reactor.tileentity.TileEntityReactorChamberElectric; + +@Mixin(TileEntityReactorChamberElectric.class) +public abstract class MixinReactorChamber extends TileEntity { + +// public @Nullable IReactorGrid getReactor() { +// for(Direction value : Direction.directions) { +// TileEntity te = value.applyToTileEntity(this); +// if (te instanceof TileEntityNuclearReactorElectric) { +// return (IReactorGrid) (Object) te; +// } +// } +// +// Block blk = this.getBlockType(); +// if (blk != null) { +// blk.onNeighborBlockChange(this.worldObj, this.xCoord, this.yCoord, this.zCoord, blk); +// } +// +// return null; +// } +// +// @Override +// public void setReactor(TileReactorCore reactor) { +// throw new UnsupportedOperationException(); +// } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/fluids/FluidList.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/fluids/FluidList.java index 405ba03..6db0103 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/fluids/FluidList.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/fluids/FluidList.java @@ -8,7 +8,7 @@ import net.minecraftforge.fluids.FluidStack; import com.recursive_pineapple.nuclear_horizons.Config; -import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.registries.LHECoolantRegistry; @@ -53,7 +53,7 @@ private static void registerCell(Fluid fluid, int metadata) { ItemStack empty = new ItemStack(GameRegistry.findItem("IC2", "itemCellEmpty")); FluidContainerRegistry.registerFluidContainer( - new FluidContainerData(new FluidStack(fluid, 1000), new ItemStack(ItemList.CELLS, 1, metadata), empty)); + new FluidContainerData(new FluidStack(fluid, 1000), new ItemStack(NHItemList.CELLS, 1, metadata), empty)); } public static void registerCoolants() { diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/ContainerReactorCore.java.old b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/ContainerReactorCore.java.old deleted file mode 100644 index b75ab91..0000000 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/ContainerReactorCore.java.old +++ /dev/null @@ -1,299 +0,0 @@ -package com.recursive_pineapple.nuclear_horizons.reactors.gui; - -import java.util.Objects; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import com.recursive_pineapple.nuclear_horizons.reactors.components.ComponentRegistry; -import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerReactorCore extends Container { - - private static final int BORDER_SIZE = 7; - private static final int SLOT_SIZE = 18; - private static final int HORZ_SLOTS = 9; - private static final int REACTOR_ROWS = 6; - private static final int HOTBAR_ROW = 9; - private static final int HOTBAR_GAP = 4; - - private final InventoryPlayer player; - private final TileReactorCore reactor; - - private int sentHeat = 0; - private int sentEURate = 0; - private int sentIsFluid = 0; - private int sentCoolant = 0; - private int sentMaxCoolant = 0; - private int sentHotCoolant = 0; - private int sentMaxHotCoolant = 0; - - public ContainerReactorCore(InventoryPlayer player, TileReactorCore reactor) { - Objects.requireNonNull(player); - Objects.requireNonNull(reactor); - this.player = player; - this.reactor = reactor; - - this.reactor.addViewingPlayer(player.player); - - int colCount = reactor.getColumnCount(); - for(int row = 0; row < REACTOR_ROWS; row++) { - for(int col = 0; col < colCount; col++) { - this.addSlotToContainer(new ReactorSlot(reactor, col + row * colCount, getSlotLeft(col), getSlotTop(row))); - } - } - - for (int row = 0; row < 3; ++row) { - for (int col = 0; col < 9; ++col) { - int x = getSlotLeft(col); - int y = getSlotTop(row + REACTOR_ROWS); - - this.addSlotToContainer(new Slot(player, col + row * 9 + 9, x, y)); - } - } - - for (int col = 0; col < 9; ++col) { - int x = getSlotLeft(col); - int y = getSlotTop(3 + REACTOR_ROWS); - this.addSlotToContainer(new Slot(player, col, x, y)); - } - } - - @Override - public void onContainerClosed(EntityPlayer p_75134_1_) { - super.onContainerClosed(p_75134_1_); - - this.reactor.removeViewingPlayer(p_75134_1_); - } - - private static int getSlotLeft(int slotX) { - return BORDER_SIZE + SLOT_SIZE * (1 + slotX) + 1; - } - - private static int getSlotTop(int slotY) { - if(slotY > REACTOR_ROWS - 1) { - slotY += 1; - } - - int extra = 0; - - if(slotY > HOTBAR_ROW) { - extra += HOTBAR_GAP; - } - - return BORDER_SIZE + SLOT_SIZE * (1 + slotY) + extra + 1; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return true; - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) { - ItemStack itemstack = null; - Slot slot = (Slot)this.inventorySlots.get(slotIndex); - - if (slot != null && slot.getHasStack()) { - ItemStack stackInSlot = slot.getStack(); - itemstack = stackInSlot.copy(); - - int colCount = reactor.getColumnCount(); - - if (slotIndex < REACTOR_ROWS * colCount) { - if (!this.mergeItemStack(stackInSlot, REACTOR_ROWS * colCount, this.inventorySlots.size(), true)) { - return null; - } - } else { - if(!this.mergeItemStack(stackInSlot, 0, REACTOR_ROWS * colCount, false)) { - return null; - } - } - - if (stackInSlot.stackSize == 0) { - slot.putStack((ItemStack)null); - slot.onSlotChanged(); - } - } - - return itemstack; - } - - private static boolean canMergeInto(@Nonnull ItemStack from, @Nullable ItemStack into) { - if(into == null) { - return true; - } - - if(from.getItem() != into.getItem()) { - return false; - } - - if(from.getItemDamage() != into.getItemDamage()) { - return false; - } - - if(!ItemStack.areItemStackTagsEqual(from, into)) { - return false; - } - - return true; - } - - @Override - protected boolean mergeItemStack(ItemStack itemStack, int startSlot, int endSlot, boolean startFromEnd) { - boolean movedAnItem = false; - - if (itemStack.isStackable()) { - int currentSlot = startFromEnd ? endSlot - 1 : startSlot; - - // first pass: try to merge into an existing stack - while (itemStack.stackSize > 0 && (startFromEnd ? currentSlot >= startSlot : currentSlot < endSlot)) { - Slot slot = (Slot)this.inventorySlots.get(currentSlot); - - if (startFromEnd) { - --currentSlot; - } else { - ++currentSlot; - } - - if(!slot.isItemValid(itemStack)) { - continue; - } - - ItemStack stackInSlot = slot.getStack(); - - if (stackInSlot != null && canMergeInto(itemStack, stackInSlot)) { - int maxStackSize = Math.min(slot.getSlotStackLimit(), stackInSlot.getMaxStackSize()); - int remaining = maxStackSize - stackInSlot.stackSize; - - int moved = itemStack.stackSize > remaining ? remaining - itemStack.stackSize : itemStack.stackSize; - - if(moved > 0) { - itemStack.stackSize -= moved; - stackInSlot.stackSize += moved; - slot.onSlotChanged(); - movedAnItem = true; - } - } - } - } - - if (itemStack.stackSize > 0) { - int currentSlot = startFromEnd ? endSlot - 1 : startSlot; - - // second pass: try to merge into an empty slot - while (itemStack.stackSize > 0 && (startFromEnd ? currentSlot >= startSlot : currentSlot < endSlot)) { - Slot slot = (Slot)this.inventorySlots.get(currentSlot); - - if (startFromEnd) { - --currentSlot; - } else { - ++currentSlot; - } - - if(!slot.isItemValid(itemStack)) { - continue; - } - - ItemStack stackInSlot = slot.getStack(); - - if (stackInSlot == null) { - int moved = Math.min(itemStack.stackSize, slot.getSlotStackLimit()); - - if(moved > 0) { - var copy = itemStack.copy(); - itemStack.stackSize -= moved; - copy.stackSize = moved; - slot.putStack(copy); - slot.onSlotChanged(); - movedAnItem = true; - } - } - } - } - - return movedAnItem; - } - - private static final int HEAT_ID = 0, EU_RATE_ID = 1, IS_FLUID_ID = 2, COOLANT_ID = 3, MAX_COOLANT_ID = 4, HOT_COOLANT_ID = 5, MAX_HOT_COOLANT_ID = 6; - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - int nextHeat = this.reactor.getHullHeat(); - int nextEURate = this.reactor.getEUPerSecond(); - int nextIsFluid = this.reactor.isFluid() ? 1 : 0; - int nextCoolant = this.reactor.getStoredCoolant(); - int nextMaxCoolant = this.reactor.getMaxCoolant(); - int nextHotCoolant = this.reactor.getStoredHotCoolant(); - int nextMaxHotCoolant = this.reactor.getMaxHotCoolant(); - - for (ICrafting icrafting : this.crafters) { - if(this.sentHeat != nextHeat) { - icrafting.sendProgressBarUpdate(this, HEAT_ID, nextHeat); - } - - if(this.sentEURate != nextEURate) { - icrafting.sendProgressBarUpdate(this, EU_RATE_ID, nextEURate); - } - - if(this.sentEURate != nextEURate) { - icrafting.sendProgressBarUpdate(this, EU_RATE_ID, nextEURate); - } - } - - this.sentHeat = this.reactor.getHullHeat(); - this.sentEURate = this.reactor.getEUPerSecond(); - } - - @Override - public void updateProgressBar(int param, int value) { - super.updateProgressBar(param, value); - - switch(param) { - case 0: { - this.sentHeat = value; - break; - } - case 1: { - this.sentEURate = value; - break; - } - } - } - - public int getHeat() { - return this.sentHeat; - } - - public int getEUPerSecond() { - return this.sentEURate; - } - - private static class ReactorSlot extends Slot { - - public ReactorSlot(IInventory p_i1824_1_, int p_i1824_2_, int p_i1824_3_, int p_i1824_4_) { - super(p_i1824_1_, p_i1824_2_, p_i1824_3_, p_i1824_4_); - } - - @Override - public boolean isItemValid(ItemStack stack) { - return ComponentRegistry.isReactorItem(stack); - } - - @Override - public int getSlotStackLimit() { - return 1; - } - } - -} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiHandler.java.old b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiHandler.java.old deleted file mode 100644 index 90caf98..0000000 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiHandler.java.old +++ /dev/null @@ -1,30 +0,0 @@ -package com.recursive_pineapple.nuclear_horizons.reactors.gui; - -import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore; - -import cpw.mods.fml.common.network.IGuiHandler; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.world.World; - -public class GuiHandler implements IGuiHandler { - - // public static final int REACTOR_GUI_ID = 1; - - @Override - public Container getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - return switch(ID) { - // case REACTOR_GUI_ID -> new ContainerReactorCore(player.inventory, (TileReactorCore)world.getTileEntity(x, y, z)); - default -> throw new IllegalArgumentException("ID"); - }; - } - - @Override - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - return switch(ID) { - // case REACTOR_GUI_ID -> new GuiReactorCore(player.inventory, (TileReactorCore)world.getTileEntity(x, y, z)); - default -> throw new IllegalArgumentException("ID"); - }; - } - -} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiReactorCore.java.old b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiReactorCore.java.old deleted file mode 100644 index e221706..0000000 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/gui/GuiReactorCore.java.old +++ /dev/null @@ -1,96 +0,0 @@ -package com.recursive_pineapple.nuclear_horizons.reactors.gui; - -import org.lwjgl.opengl.GL11; - -import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; -import com.recursive_pineapple.nuclear_horizons.reactors.tile.TileReactorCore; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -@SideOnly(Side.CLIENT) -public class GuiReactorCore extends GuiContainer { - - private static final ResourceLocation GUI_LOCATION = new ResourceLocation(NuclearHorizons.MODID, "textures/gui/eu_reactor.png"); - private static final int GUI_WIDTH = 212; - private static final int GUI_HEIGHT = 234; - - private static final int DISABLED_SLOT_WIDTH = 18; - private static final int DISABLED_SLOT_HEIGHT = 18 * 9; - private static final int DISABLED_SLOT_OFFSET_X = GUI_WIDTH; - private static final int DISABLED_SLOT_OFFSET_Y = 0; - private static final int DISABLED_SLOT_START_X = 25; - private static final int DISABLED_SLOT_START_Y = 25; - - private final ContainerReactorCore container; - private final InventoryPlayer player; - private final TileReactorCore reactor; - - public GuiReactorCore(InventoryPlayer player, TileReactorCore reactor) { - super(new ContainerReactorCore(player, reactor)); - this.allowUserInput = false; - - this.container = (ContainerReactorCore)this.inventorySlots; - this.player = player; - this.reactor = reactor; - - this.xSize = GUI_WIDTH; - this.ySize = GUI_HEIGHT; - } - - protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - String reactorName = this.reactor.hasCustomInventoryName() ? this.reactor.getInventoryName() : I18n.format(this.reactor.getInventoryName(), new Object[0]); - this.fontRendererObj.drawString( - reactorName, - (8 + this.xSize - this.fontRendererObj.getStringWidth(reactorName)) /2, - 6, - 4210752 - ); - this.fontRendererObj.drawString( - this.player.hasCustomInventoryName() - ? this.player.getInventoryName() - : I18n.format(this.player.getInventoryName(), new Object[0]), - 8 + 18, - this.ySize - 96 + 2, - 4210752 - ); - - this.fontRendererObj.drawString( - "HU: " + this.container.getHeat(), - 100, - this.ySize - 96 + 2, - 4210752 - ); - - this.fontRendererObj.drawString( - "EU/t: " + (this.container.getEUPerSecond() / 20), - 150, - this.ySize - 96 + 2, - 4210752 - ); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(GUI_LOCATION); - - this.zLevel = 0f; - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - this.zLevel = 1f; - for(int col = reactor.getColumnCount(); col < 9; col++) { - drawTexturedModalRect( - guiLeft + DISABLED_SLOT_START_X + DISABLED_SLOT_WIDTH * col, - guiTop + DISABLED_SLOT_START_Y, - DISABLED_SLOT_OFFSET_X, DISABLED_SLOT_OFFSET_Y, - DISABLED_SLOT_WIDTH, - DISABLED_SLOT_HEIGHT - ); - } - } -} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ForeignItems.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ForeignItems.java index a5ca807..efe36c6 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ForeignItems.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ForeignItems.java @@ -1,5 +1,7 @@ package com.recursive_pineapple.nuclear_horizons.reactors.items; +import static gregtech.api.enums.ItemList.Neutron_Reflector; + import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.reflect.Field; @@ -12,7 +14,6 @@ import gregtech.api.enums.ItemList; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; - import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -36,75 +37,28 @@ public class ForeignItems { public static void registerForeignReactorItems() { - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_He_1.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_He_3.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_He_6.getItem()); - - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_NaK_1.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_NaK_3.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_NaK_6.getItem()); + for (ItemList container : ItemList.values()) { + if (!container.hasBeenSet()) continue; - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_Sp_1.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_Sp_2.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_Sp_3.getItem()); - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.Reactor_Coolant_Sp_6.getItem()); - - registerCoolantCell((ItemCoolantCellIC) gregtech.api.enums.ItemList.neutroniumHeatCapacitor.getItem()); - - Item iridiumReflector = gregtech.api.enums.ItemList.Neutron_Reflector.getItem(); - ComponentRegistry.registerAdapter(iridiumReflector, new ForeignNeutronReflectorItem(iridiumReflector)); + Item item = container.getItem(); - registerBreederCell((ItemBreederCell) ItemList.RodGlowstone.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodUranium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodUranium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodUranium4.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodMOX.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodMOX2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodMOX4.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodThorium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodThorium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodThorium4.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah4.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadria.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah4.getItem()); - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodTiberium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodTiberium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodTiberium4.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodNaquadah32.getItem()); // The core - - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium4.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium4.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedUranium4.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium2.getItem()); - registerFuelRod((ItemRadioactiveCellIC) ItemList.RodExcitedPlutonium4.getItem()); - } + if (item instanceof ItemCoolantCellIC coolantCell) { + ComponentRegistry.registerAdapter(coolantCell, new GTCoolantCellAdapter(coolantCell)); + continue; + } - public static void registerCoolantCell(ItemCoolantCellIC coolantCell) { - ComponentRegistry.registerAdapter(coolantCell, new GTCoolantCellAdapter(coolantCell)); - } + if (item instanceof ItemBreederCell breederCell) { + ComponentRegistry.registerAdapter(breederCell, new GTBreederCellAdapter(breederCell)); + continue; + } - public static void registerBreederCell(ItemBreederCell breederCell) { - ComponentRegistry.registerAdapter(breederCell, new GTBreederCellAdapter(breederCell)); - } + if (item instanceof ItemRadioactiveCellIC radioactiveCell) { + ComponentRegistry.registerAdapter(item, new GTRadioactiveCellAdapter(radioactiveCell)); + } + } - public static void registerFuelRod(ItemRadioactiveCellIC item) { - ComponentRegistry.registerAdapter(item, new GTRadioactiveCellAdapter(item)); + Item iridiumReflector = Neutron_Reflector.getItem(); + ComponentRegistry.registerAdapter(iridiumReflector, new ForeignNeutronReflectorItem(iridiumReflector)); } private static Object getField(@Nonnull T object, String name) { @@ -296,108 +250,4 @@ public GTRadioactiveCellAdapter setSpargeGas(Fluid fluid, int min, int max) { return this; } } - - private static class GGItemFuelRodAdapter implements IBasicFuelRod, IComponentAdapterFactory { - - private final ItemRadioactiveCellIC item; - private final int numberOfCells; - private final float Power; - private final int Heat; - private final float HeatBonus; - private final ItemStack result; - private Fluid spargeGas; - private int spargeMin, spargeMax; - - public GGItemFuelRodAdapter(ItemRadioactiveCellIC item) { - this.item = item; - numberOfCells = (int) getField(item, "aCellcount"); - Power = (float) getField(item, "aEnergy"); - Heat = (int) getField(item, "aHeat"); - HeatBonus = (float) getField(item, "aHeatBonus"); - result = (ItemStack) getField(item, "result"); - } - - @Override - public boolean canAdaptItem(@Nonnull ItemStack itemStack) { - return itemStack.getItem() == item; - } - - @Override - public @Nonnull IComponentAdapter getAdapter(@Nonnull ItemStack itemStack, @Nonnull IReactorGrid reactor, int x, - int y) { - return new FuelRodAdapter(reactor, x, y, itemStack, this) { - - @Override - protected double getHeatMultiplier() { - return 1.0; - } - - @Override - protected double getEUMultiplier() { - return 1 + HeatBonus * ((float) reactor.getHullHeat() / (float) reactor.getMaxHullHeat()); - } - }; - } - - @Override - public double getEnergyMult(@Nonnull ItemStack itemStack) { - return Power; - } - - @Override - public double getHeatMult(@Nonnull ItemStack itemStack) { - return Heat; - } - - @Override - public int getRodCount(@Nonnull ItemStack itemStack) { - return numberOfCells; - } - - @Override - public boolean isMox(@Nonnull ItemStack itemStack) { - return true; - } - - @Override - public double getMoxEUCoefficient(@Nonnull ItemStack itemStack) { - return HeatBonus; - } - - @Override - public double getMoxHeatCoefficient(@Nonnull ItemStack itemStack) { - return 1.0; - } - - @Override - public int getRemainingHealth(@Nonnull ItemStack itemStack) { - return item.getMaxDamage(itemStack) - item.getDamageOfStack(itemStack); - } - - @Override - public void applyDamage(@Nonnull ItemStack itemStack, int damage) { - item.setDamageForStack(itemStack, item.getDamageOfStack(itemStack) + damage); - } - - @Override - public @Nullable ItemStack getProduct(@Nonnull ItemStack itemStack) { - return result; - } - - @Override - public @org.jetbrains.annotations.Nullable FluidStack getSpargeGas(@NotNull ItemStack itemStack) { - if (spargeGas == null) return null; - - Random rng = ThreadLocalRandom.current(); - - return new FluidStack(spargeGas, (int) (spargeMin + (spargeMax - spargeMin) * rng.nextFloat())); - } - - public GGItemFuelRodAdapter setSpargeGas(Fluid fluid, int min, int max) { - this.spargeGas = fluid; - this.spargeMin = min; - this.spargeMax = max; - return this; - } - } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/IDMetaItem.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/IDMetaItem.java new file mode 100644 index 0000000..22f6cdb --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/IDMetaItem.java @@ -0,0 +1,15 @@ +package com.recursive_pineapple.nuclear_horizons.reactors.items; + +public enum IDMetaItem { + + // Please pretty please, add your entries while conserving the order + EmptyFuelRod(0), + // + ; + + public final int ID; + + IDMetaItem(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/MetaItem.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/MetaItem.java new file mode 100644 index 0000000..c350f6e --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/MetaItem.java @@ -0,0 +1,190 @@ +package com.recursive_pineapple.nuclear_horizons.reactors.items; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Supplier; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import com.recursive_pineapple.matter_manipulator.common.items.manipulator.ItemMatterManipulator; +import com.recursive_pineapple.matter_manipulator.common.utils.MMUtils; +import com.recursive_pineapple.matter_manipulator.common.utils.Mods; +import com.recursive_pineapple.matter_manipulator.common.utils.Mods.Names; +import cpw.mods.fml.common.Optional.Method; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.ReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.client.GTTooltipHandler; + +public class MetaItem extends Item { + + public final String name; + + public final IIcon[] icons; + public final IDMetaItem[] metaItems; + + public MetaItem(String name) { + this.name = name; + + setHasSubtypes(true); + setMaxDamage(0); + + GameRegistry.registerItem(this, name); + + int max = Arrays.stream(IDMetaItem.values()).mapToInt(x -> x.ID).max().getAsInt(); + + icons = new IIcon[max + 1]; + metaItems = new IDMetaItem[max + 1]; + + for (IDMetaItem id : IDMetaItem.values()) { + metaItems[id.ID] = id; + id.container.set(this, id.ID); + } + } + + @Override + public final Item setUnlocalizedName(String aName) { + return this; + } + + @Override + public final String getUnlocalizedName() { + return name; + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return "item." + name + "." + getDamage(stack); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List desc, boolean advancedTooltips) { + super.addInformation(stack, player, desc, advancedTooltips); + + int meta = getDamage(stack); + + String descKey = "item." + name + "." + meta + ".desc"; + + if (StatCollector.canTranslate(descKey)) { + desc.add(StatCollector.translateToLocal(descKey)); + } + + MMUpgrades upgrade = MMUpgrades.UPGRADES_BY_META.get(meta); + + if (upgrade != null) { + desc.add(StatCollector.translateToLocal("mm.upgrade.hint")); + + for (ItemMatterManipulator.ManipulatorTier tier : ItemMatterManipulator.ManipulatorTier.values()) { + if (tier.allowedUpgrades.contains(upgrade)) { + desc.add("- " + tier.container.stack.getDisplayName()); + } + } + } + + if (Mods.GregTech.isModLoaded()) { + IDMetaItem metaItem = MMUtils.getIndexSafe(metaItems, meta); + + String tooltip = metaItem != null ? getItemTier(metaItem) : null; + + if (tooltip != null) desc.add(tooltip); + } + } + + @SuppressWarnings("DuplicateBranchesInSwitch") + private static String getItemTier(IDMetaItem metaItem) { + return switch (metaItem) { + case PowerCore0 -> Tier.HV.tooltip.get(); + case ComputerCore0 -> Tier.HV.tooltip.get(); + case TeleporterCore0 -> Tier.HV.tooltip.get(); + case Frame0 -> Tier.HV.tooltip.get(); + case Lens0 -> Tier.HV.tooltip.get(); + case PowerCore1 -> Tier.IV.tooltip.get(); + case ComputerCore1 -> Tier.IV.tooltip.get(); + case TeleporterCore1 -> Tier.IV.tooltip.get(); + case Frame1 -> Tier.IV.tooltip.get(); + case Lens1 -> Tier.IV.tooltip.get(); + case PowerCore2 -> Tier.LuV.tooltip.get(); + case ComputerCore2 -> Tier.LuV.tooltip.get(); + case TeleporterCore2 -> Tier.LuV.tooltip.get(); + case Frame2 -> Tier.LuV.tooltip.get(); + case Lens2 -> Tier.LuV.tooltip.get(); + case PowerCore3 -> Tier.ZPM.tooltip.get(); + case ComputerCore3 -> Tier.ZPM.tooltip.get(); + case TeleporterCore3 -> Tier.ZPM.tooltip.get(); + case Frame3 -> Tier.ZPM.tooltip.get(); + case Lens3 -> Tier.ZPM.tooltip.get(); + case AEDownlink -> Tier.IV.tooltip.get(); + case QuantumDownlink -> Tier.ZPM.tooltip.get(); + case UpgradeBlank -> Tier.EV.tooltip.get(); + case UpgradePowerP2P -> Tier.UHV.tooltip.get(); + case UpgradePrototypeMining -> Tier.EV.tooltip.get(); + case UpgradeSpeed -> Tier.EV.tooltip.get(); + case UpgradePowerEff -> Tier.EV.tooltip.get(); + default -> null; + }; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + for (IDMetaItem id : IDMetaItem.values()) { + icons[id.ID] = iconRegister.registerIcon(Mods.MatterManipulator.getResourcePath("metaitem", Integer.toString(id.ID))); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + return MMUtils.getIndexSafe(icons, meta); + } + + @Override + public void getSubItems(Item self, CreativeTabs tab, List subItems) { + for (IDMetaItem id : IDMetaItem.values()) { + subItems.add(new ItemStack(this, 1, id.ID)); + } + } + + private enum Tier { + + ULV, + LV, + MV, + HV, + EV, + IV, + LuV, + ZPM, + UV, + UHV, + UEV, + UIV, + UMV, + UXV, + MAX, + ERV; + + public final Supplier tooltip; + + Tier() { + if (Mods.GregTech.isModLoaded()) { + tooltip = getForTier(name()); + } else { + tooltip = () -> null; + } + } + + @Method(modid = Names.GREG_TECH_NH) + private static Supplier getForTier(String tier) { + var t = GTTooltipHandler.Tier.valueOf(tier); + + return ReflectionHelper.getPrivateValue(GTTooltipHandler.Tier.class, t, "tooltip"); + } + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/NHItemList.java similarity index 59% rename from src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java rename to src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/NHItemList.java index b10c78c..f905b17 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/NHItemList.java @@ -1,124 +1,18 @@ package com.recursive_pineapple.nuclear_horizons.reactors.items; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.*; -import com.recursive_pineapple.nuclear_horizons.recipes.GTMats; +import net.minecraft.item.ItemStack; -public class ItemList { +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicBreederRodItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicFuelRodProductItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatAbsorberItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatExchangerItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatVentCoolantItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatVentItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicNeutronReflectorItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicReactorPlatingItem; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.DebugHeatAbsorber; - public static final BasicFuelRodItem THORIUM_1X_ROD = new BasicFuelRodItem( - "fuelRodThorium", - "reactorThoriumSingle", - 0.4, - 1.0, - 1, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_THORIUM_1X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodThorium", - "reactorThoriumSingleDepleted"); - - public static final BasicFuelRodItem THORIUM_2X_ROD = new BasicFuelRodItem( - "fuelRodThoriumDual", - "reactorThoriumDual", - 0.4, - 1.0, - 2, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_THORIUM_2X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodThoriumDual", - "reactorThoriumDualDepleted"); - - public static final BasicFuelRodItem THORIUM_4X_ROD = new BasicFuelRodItem( - "fuelRodThoriumQuad", - "reactorThoriumQuad", - 0.4, - 1.0, - 4, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_THORIUM_4X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodThoriumQuad", - "reactorThoriumQuadDepleted"); - - public static final BasicFuelRodItem URANIUM_1X_ROD = new BasicFuelRodItem( - "fuelRodUranium", - "reactorUraniumSingle", - 2.0, - 4.0, - 1, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_URANIUM_1X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodUranium", - "reactorUraniumSingleDepleted"); - - public static final BasicFuelRodItem URANIUM_2X_ROD = new BasicFuelRodItem( - "dualFuelRodUranium", - "reactorUraniumDual", - 2.0, - 4.0, - 2, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_URANIUM_2X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodUraniumDual", - "reactorUraniumDualDepleted"); - - public static final BasicFuelRodItem URANIUM_4X_ROD = new BasicFuelRodItem( - "quadFuelRodUranium", - "reactorUraniumQuad", - 2.0, - 4.0, - 4, - false, - 20_000); - - public static final BasicFuelRodProductItem DEPLETED_URANIUM_4X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodUraniumQuad", - "reactorUraniumQuadDepleted"); - - public static final BasicFuelRodItem MOX_1X_ROD = new BasicFuelRodItem( - "fuelRodMOX", - "reactorMOXSingle", - 2.0, - 4.0, - 1, - true, - 10_000); - - public static final BasicFuelRodProductItem DEPLETED_MOX_ROD = new BasicFuelRodProductItem( - "depletedFuelRodMOX", - "reactorMOXSingleDepleted"); - public static final BasicFuelRodItem MOX_2X_ROD = new BasicFuelRodItem( - "dualFuelRodMOX", - "reactorMOXDual", - 2.0, - 4.0, - 2, - true, - 10_000); - - public static final BasicFuelRodProductItem DEPLETED_MOX_2X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodMOXDual", - "reactorMOXDualDepleted"); - public static final BasicFuelRodItem MOX_4X_ROD = new BasicFuelRodItem( - "quadFuelRodMOX", - "reactorMOXQuad", - 2.0, - 4.0, - 4, - true, - 10_000); - - public static final BasicFuelRodProductItem DEPLETED_MOX_4X_ROD = new BasicFuelRodProductItem( - "depletedFuelRodMOXQuad", - "reactorMOXQuadDepleted"); +public class NHItemList { public static final BasicHeatVentItem BASIC_HEAT_VENT = new BasicHeatVentItem( "heatVent", @@ -268,6 +162,17 @@ public class ItemList { 0.0, 2_000_000_000); + public static final BasicBreederRodItem THORIUM_BREEDER_ROD = new BasicBreederRodItem( + "thoriumBreederRod", + "reactorThoriumSingle", + 1_000, + 1, + 5_000); + + public static final BasicFuelRodProductItem THORIUM_BREEDER_ROD_FINISHED = new BasicFuelRodProductItem( + "thoriumBreederRodFinished", + "reactorThoriumSingleDepleted"); + public static final MetaCellItem CELLS = new MetaCellItem(); public static void registerItems() { @@ -305,19 +210,9 @@ public static void registerItems() { REACTOR_PLATING_HEAT_DEBUG.register(); CELLS.register(); - } - - public static void setupMaterials() { - THORIUM_1X_ROD.setSpargeGas(GTMats.NEON.getFluid(1).getFluid(), 2, 8); - THORIUM_2X_ROD.setSpargeGas(GTMats.NEON.getFluid(1).getFluid(), 4, 16); - THORIUM_4X_ROD.setSpargeGas(GTMats.NEON.getFluid(1).getFluid(), 8, 32); - - URANIUM_1X_ROD.setSpargeGas(GTMats.RADON.getFluid(1).getFluid(), 2, 8); - URANIUM_2X_ROD.setSpargeGas(GTMats.RADON.getFluid(1).getFluid(), 4, 16); - URANIUM_4X_ROD.setSpargeGas(GTMats.RADON.getFluid(1).getFluid(), 8, 32); - MOX_1X_ROD.setSpargeGas(GTMats.KRYPTON.getFluid(1).getFluid(), 2, 8); - MOX_2X_ROD.setSpargeGas(GTMats.KRYPTON.getFluid(1).getFluid(), 4, 16); - MOX_4X_ROD.setSpargeGas(GTMats.KRYPTON.getFluid(1).getFluid(), 8, 32); + THORIUM_BREEDER_ROD.register(); + THORIUM_BREEDER_ROD_FINISHED.register(); + THORIUM_BREEDER_ROD.setProduct(new ItemStack(THORIUM_BREEDER_ROD_FINISHED, 1)); } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicBreederRodItem.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicBreederRodItem.java index 692fed6..f445858 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicBreederRodItem.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicBreederRodItem.java @@ -1,6 +1,5 @@ package com.recursive_pineapple.nuclear_horizons.reactors.items.basic; -import java.util.Arrays; import java.util.List; import javax.annotation.Nonnull; @@ -21,15 +20,14 @@ import com.recursive_pineapple.nuclear_horizons.reactors.components.adapters.BreederRodAdapter; import com.recursive_pineapple.nuclear_horizons.reactors.items.HeatUtils; import com.recursive_pineapple.nuclear_horizons.reactors.items.interfaces.IBreederRod; - import cpw.mods.fml.common.registry.GameRegistry; public class BasicBreederRodItem extends Item implements IBreederRod, IComponentAdapterFactory { private final String name; - private final int heatDivisor; - private final int heatMultiplier; - private final int maxNeutrons; + public final int heatDivisor; + public final int heatMultiplier; + public final int maxNeutrons; @Nullable private ItemStack product; @@ -115,12 +113,7 @@ public void addInformation(ItemStack itemStack, EntityPlayer player, List desc, - boolean advancedItemTooltips) { - super.addInformation(itemStack, player, desc, advancedItemTooltips); - desc.add(I18n.format("nh_tooltip.more_info")); - } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialIDs.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialIDs.java index 87eedc8..c732d83 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialIDs.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialIDs.java @@ -2,7 +2,7 @@ public enum MaterialIDs { NATURAL_URANIUM(0), - NATURAL_URANIUM_TETRAFLUORIDE(1), + THORIUM_ORE_IMPURITIES(1), NATURAL_URANIUM_HEXAFLUORIDE(2), DEPLETED_URANIUM_HEXAFLUORIDE(3), ENRICHED_URANIUM_HEXAFLUORIDE(4), @@ -14,7 +14,6 @@ public enum MaterialIDs { DEPLETED_MOX_FUEL(10), DEPLETED_URANIUM_FUEL_SOLUTION(11), DEPLETED_THORIUM_FUEL_SOLUTION(12), - DEPLETED_MOX_FUEL_SOLUTION(13), TRIBUTYL_PHOSPHATE(14), PHOSPHORYL_CHLORIDE(15), DILUTED_NITRIC_ACID(16), @@ -45,7 +44,7 @@ public enum MaterialIDs { URANIUM_235_DIOXIDE(41), URANIUM_238_DIOXIDE(42), PLUTONIUM_239_DIOXIDE(43), - PLUTONIUM_241_DIOXIDE(44), + PLUTONUM_241_DIOXIDE(44), HOT_LITHIUM_TETRAFLUOROBERYLLATE(45), AMERICIUM_III_OXIDE(46), AMERICIUM_IV_OXIDE(47), @@ -56,11 +55,12 @@ public enum MaterialIDs { CALIFORNIUM_IV_OXIDE(52), LANTHANUM_II_OXIDE(53), LANTHANIDE_WASTE_MIXTURE(54), - THORIANITE_AQ_SOLUTION(55), + UNREFINED_THORIUM_SOLUTION(55), THORIUM_NITRATE(56), LOW_URANIUM_SLUDGE(57), URANIUM_POOR_MIXTURE(58), - REFINED_THORIUM(59) + REFINED_THORIUM(59), + BROMINE_SALT_WATER(60), ; private static final int OFFSET_ID = 14_000; diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsChemical.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsChemical.java index f2704b2..0416ea5 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsChemical.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsChemical.java @@ -4,11 +4,9 @@ import static com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear.DUST; import static com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear.FLUID; import static com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear.process; - -import org.apache.commons.lang3.tuple.Pair; +import static com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear.rgb; import bartworks.system.material.Werkstoff; -import com.recursive_pineapple.nuclear_horizons.recipes.GTMats; import gregtech.api.enums.TextureSet; public class MaterialsChemical { @@ -57,14 +55,11 @@ public class MaterialsChemical { Werkstoff.Types.COMPOUND, DUST, MaterialIDs.ZINC_NITRATE.id, - TextureSet.SET_DULL, - Pair.of(GTMats.ZINC.getMaterial(), 1), - Pair.of(GTMats.NITROGEN.getMaterial(), 2), - Pair.of(GTMats.OXYGEN.getMaterial(), 6)); + TextureSet.SET_DULL); public static final Werkstoff METYHL_MAGNESIUM_BROMIDE = new Werkstoff( new short[] { 225, 225, 175 }, "Methyl Magnesium Bromide", - process("CH3MgBr"), + process("CH↓3MgBr"), DEFAULT_STATS, Werkstoff.Types.COMPOUND, FLUID, @@ -210,6 +205,26 @@ public class MaterialsChemical { MaterialIDs.LANTHANIDE_WASTE_MIXTURE.id, TextureSet.SET_DULL); + public static final Werkstoff BROMINE_SALT_WATER = new Werkstoff( + rgb(0x4499BB), + "Bromine-Rich Salt Water", + process("?Br(NaCl)(H↓2O)?"), + DEFAULT_STATS, + Werkstoff.Types.MIXTURE, + FLUID, + MaterialIDs.BROMINE_SALT_WATER.id, + TextureSet.SET_DULL); + + public static final Werkstoff THORIUM_ORE_IMPURITIES = new Werkstoff( + rgb(0x212430), + "Thorium Rare-Earth Impurities", + process("??(SiO↓2)(Al↓2O↓3)(Fe↓2O↓3)??"), + DEFAULT_STATS, + Werkstoff.Types.MIXTURE, + DUST, + MaterialIDs.THORIUM_ORE_IMPURITIES.id, + TextureSet.SET_DULL); + public static void init() { } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java index d40f69b..afc048b 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java @@ -2,12 +2,14 @@ import bartworks.system.material.Werkstoff; import gregtech.api.enums.TextureSet; +import gregtech.api.util.CustomGlyphs; public class MaterialsNuclear { public static final Werkstoff.GenerationFeatures DUST = new Werkstoff.GenerationFeatures().disable().onlyDust(); public static final Werkstoff.GenerationFeatures FLUID = new Werkstoff.GenerationFeatures().disable().addCells(); public static final Werkstoff.Stats DEFAULT_STATS = new Werkstoff.Stats().setElektrolysis(false); + public static final Werkstoff.Stats SYNTH = new Werkstoff.Stats().setElektrolysis(true); public static final Werkstoff.Stats RADIO_STATS = new Werkstoff.Stats().setElektrolysis(false).setRadioactive(true); public static final Werkstoff NATURAL_URANIUM = new Werkstoff( @@ -20,30 +22,20 @@ public class MaterialsNuclear { MaterialIDs.NATURAL_URANIUM.id, TextureSet.SET_DULL); - public static final Werkstoff NATURAL_URANIUM_TETRAFLUORIDE = new Werkstoff( - new short[] { 34, 138, 103 }, - "Natural Uranium Tetrafluoride", - process("??UF↓4??"), - RADIO_STATS, - Werkstoff.Types.COMPOUND, - DUST, - MaterialIDs.NATURAL_URANIUM_TETRAFLUORIDE.id, - TextureSet.SET_DULL); - public static final Werkstoff NATURAL_URANIUM_HEXAFLUORIDE = new Werkstoff( - new short[] { 49, 138, 34 }, + rgb(0xc7e6c3), "Natural Uranium Hexafluoride", process("??UF↓6??"), RADIO_STATS, Werkstoff.Types.COMPOUND, - FLUID, + new Werkstoff.GenerationFeatures().disable().onlyDust().addCells(), MaterialIDs.NATURAL_URANIUM_HEXAFLUORIDE.id, TextureSet.SET_FLUID); public static final Werkstoff DEPLETED_URANIUM_HEXAFLUORIDE = new Werkstoff( new short[] { 57, 190, 33 }, "Depleted Uranium Hexafluoride", - process("?U↑238F↓6?"), + process("?↑238UF↓6?"), DEFAULT_STATS, Werkstoff.Types.COMPOUND, FLUID, @@ -53,7 +45,7 @@ public class MaterialsNuclear { public static final Werkstoff ENRICHED_URANIUM_HEXAFLUORIDE = new Werkstoff( new short[] { 84, 242, 55 }, "Enriched Uranium Hexafluoride", - process("?U↑235F↓6?"), + process("?↑235UF↓6?"), RADIO_STATS, Werkstoff.Types.COMPOUND, FLUID, @@ -63,7 +55,7 @@ public class MaterialsNuclear { public static final Werkstoff ENRICHED_URANIUM_FUEL = new Werkstoff( new short[] { 92, 214, 92 }, "Enriched Uranium Fuel", - process("UO↓2(U↑238O↓2)↓4"), + process("?UO↓2?"), RADIO_STATS, Werkstoff.Types.MIXTURE, DUST, @@ -73,7 +65,7 @@ public class MaterialsNuclear { public static final Werkstoff ENRICHED_THORIUM_FUEL = new Werkstoff( new short[] { 0, 77, 0 }, "Enriched Thorium Fuel", - process("UO↓2(ThO↓2)↓15"), + process("?(UO↓2)(ThO↓2)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, DUST, @@ -81,9 +73,9 @@ public class MaterialsNuclear { TextureSet.SET_METALLIC); public static final Werkstoff ENRICHED_MOX_FUEL = new Werkstoff( - new short[] { 150, 138, 0 }, - "Enriched Mixed Oxide Fuel", - process("PuO↓2(U↑238O↓2)↓4"), + rgb(0x994433), + "Enriched Mixed Metal Oxide Fuel", + process("?(PuO↓2)(UO↓2)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, DUST, @@ -93,7 +85,7 @@ public class MaterialsNuclear { public static final Werkstoff DEPLETED_URANIUM_FUEL = new Werkstoff( new short[] { 41, 163, 41 }, "Depleted Uranium Fuel", - process("??U↑238O↓2??"), + process("??↑238UO↓2??"), RADIO_STATS, Werkstoff.Types.MIXTURE, DUST, @@ -111,9 +103,9 @@ public class MaterialsNuclear { TextureSet.SET_METALLIC); public static final Werkstoff DEPLETED_MOX_FUEL = new Werkstoff( - new short[] { 206, 138, 0 }, - "Depleted Mixed Oxide Fuel", - process("??U↑238O↓2??"), + rgb(0x512626), + "Depleted Mixed Metal Oxide Fuel", + process("?(PuO↓2)(UO↓2)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, DUST, @@ -123,7 +115,7 @@ public class MaterialsNuclear { public static final Werkstoff DEPLETED_URANIUM_FUEL_SOLUTION = new Werkstoff( new short[] { 41, 163, 41 }, "Depleted Uranium Fuel Solution", - process("??(U↑238O↓2)(HNO↓3)??"), + process("??(↑238UO↓2)(HNO↓3)??"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -133,23 +125,13 @@ public class MaterialsNuclear { public static final Werkstoff DEPLETED_THORIUM_FUEL_SOLUTION = new Werkstoff( new short[] { 0, 122, 0 }, "Depleted Thorium Fuel Solution", - process("??(ThO2)(HNO3)(HF)??"), + process("??(ThO↓2)(HNO↓3)??"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, MaterialIDs.DEPLETED_THORIUM_FUEL_SOLUTION.id, TextureSet.SET_FLUID); - public static final Werkstoff DEPLETED_MOX_FUEL_SOLUTION = new Werkstoff( - new short[] { 206, 138, 0 }, - "Depleted Mixed Oxide Fuel Solution", - process("??(U↑238O↓2)(HNO↓3)??"), - RADIO_STATS, - Werkstoff.Types.MIXTURE, - FLUID, - MaterialIDs.DEPLETED_MOX_FUEL_SOLUTION.id, - TextureSet.SET_FLUID); - public static final Werkstoff PU_SOLUTION_AQ_PHASE = new Werkstoff( new short[] { 196, 52, 83 }, "Mixed Plutonium Solution (Aqueous Phase)", @@ -173,7 +155,7 @@ public class MaterialsNuclear { public static final Werkstoff U238_MIBK_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Uranium-238 Enriched Methyl Isobutyl Ketone", - process("?(U↑238O↓2(NO↓3))((CH↓3)↓2COC↓4H↓9)?"), + process("?(↑238UO↓2)((CH↓3)↓2COC↓4H↓9)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -183,7 +165,7 @@ public class MaterialsNuclear { public static final Werkstoff U238_WATER_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Uranium-238 Enriched Solution", - process("?(U↑238O↓2(NO↓3))(H↓2O)?"), + process("?(↑238UO↓2)(H↓2O)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -193,7 +175,7 @@ public class MaterialsNuclear { public static final Werkstoff U235_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Uranium-235 Enriched Solution", - process("?(U↑238O↓2(NO↓3))(PO(OC↓4H↓9)↓3)?"), + process("?(↑238UO↓2(NO↓3))(PO(OC↓4H↓9)↓3)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -213,7 +195,7 @@ public class MaterialsNuclear { public static final Werkstoff PU239_MIBK_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Plutonium-239 Enriched Methyl Isobutyl Ketone", - process("?(Pu↑239O↓2(NO↓3))((CH↓3)↓2COC↓4H↓9)?"), + process("?(↑239PuO↓2(NO↓3))((CH↓3)↓2COC↓4H↓9)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -223,7 +205,7 @@ public class MaterialsNuclear { public static final Werkstoff PU239_WATER_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Plutonium-239 Enriched Solution", - process("?(Pu↑239O↓2(NO↓3))(H↓2O)?"), + process("?(↑239PuO↓2(NO↓3))(H↓2O)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -233,7 +215,7 @@ public class MaterialsNuclear { public static final Werkstoff PU241_SOLUTION = new Werkstoff( new short[] { 143, 196, 53 }, "Plutonium-241 Enriched Solution", - process("?(Pu↑241O↓2(NO↓3))(H↓2O)?"), + process("?(↑241PuO↓2(NO↓3))(H↓2O)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -243,7 +225,7 @@ public class MaterialsNuclear { public static final Werkstoff TH_SOLUTION_AQ_PHASE = new Werkstoff( new short[] { 45, 64, 85 }, "Thorium Solution (Aqueous Phase)", - process("?Th(NO↓3)↓2(HF)?"), + process("?Th(NO↓3)↓2?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -253,7 +235,7 @@ public class MaterialsNuclear { public static final Werkstoff URANIUM233_SOLUTION_ORG_PHASE = new Werkstoff( new short[] { 143, 224, 53 }, "Uranium-233 Solution (Organic Phase)", - process("?U↑233(PO(OC↓4H↓9)↓3)?"), + process("?↑233U(PO(OC↓4H↓9)↓3)?"), RADIO_STATS, Werkstoff.Types.MIXTURE, FLUID, @@ -263,7 +245,7 @@ public class MaterialsNuclear { public static final Werkstoff PLUTONYL_239_NITRATE = new Werkstoff( new short[] { 255, 38, 38 }, "Plutonyl-239 Nitrate", - process("Pu↑239O↓2(NO↓3)2"), + process("↑239PuO↓2(NO↓3)↓2"), RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, @@ -273,7 +255,7 @@ public class MaterialsNuclear { public static final Werkstoff PLUTONYL_241_NITRATE = new Werkstoff( new short[] { 227, 1, 1 }, "Plutonyl-241 Nitrate", - process("Pu↑241O↓2(NO↓3)2"), + process("↑241PuO↓2(NO↓3)↓2"), RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, @@ -283,7 +265,7 @@ public class MaterialsNuclear { public static final Werkstoff URANYL_233_NITRATE = new Werkstoff( new short[] { 84, 242, 127 }, "Uranyl-233 Nitrate", - process("U↑233O↓2(NO↓3)2"), + process("↑233UO↓2(NO↓3)↓2"), RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, @@ -293,7 +275,7 @@ public class MaterialsNuclear { public static final Werkstoff URANYL_235_NITRATE = new Werkstoff( new short[] { 84, 242, 55 }, "Uranyl-235 Nitrate", - process("U↑235O↓2(NO↓3)2"), + process("↑235UO↓2(NO↓3)↓2"), RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, @@ -303,7 +285,7 @@ public class MaterialsNuclear { public static final Werkstoff URANYL_238_NITRATE = new Werkstoff( rgb(0x39BE21), "Uranyl-238 Nitrate", - process("U↑238O↓2(NO↓3)2"), + process("↑238UO↓2(NO↓3)↓2"), RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, @@ -313,8 +295,8 @@ public class MaterialsNuclear { public static final Werkstoff URANIUM_233_DIOXIDE = new Werkstoff( rgb(0xA9DD4C), "Uranium-233 Dioxide", - process("U↑233O↓2"), - DEFAULT_STATS, + process("↑233UO↓2"), + RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, MaterialIDs.URANIUM_233_DIOXIDE.id, @@ -323,8 +305,8 @@ public class MaterialsNuclear { public static final Werkstoff URANIUM_235_DIOXIDE = new Werkstoff( rgb(0x75DD16), "Uranium-235 Dioxide", - process("U↑235O↓2"), - DEFAULT_STATS, + process("↑235UO↓2"), + RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, MaterialIDs.URANIUM_235_DIOXIDE.id, @@ -333,53 +315,33 @@ public class MaterialsNuclear { public static final Werkstoff URANIUM_238_DIOXIDE = new Werkstoff( rgb(0x39BE21), "Uranium-238 Dioxide", - process("U↑238O↓2"), - DEFAULT_STATS, + process("↑238UO↓2"), + RADIO_STATS, Werkstoff.Types.COMPOUND, DUST, MaterialIDs.URANIUM_238_DIOXIDE.id, TextureSet.SET_DULL); - public static final Werkstoff THORIANITE_AQ_SOLUTION = new Werkstoff( + public static final Werkstoff UNREFINED_THORIUM_SOLUTION = new Werkstoff( rgb(0x393b32), - "Thorianite solution (Aqueos State)", - process("??Th(NO↓3)?U?"), + "Unrefined Thorium Solution", + process("??Th(NO↓3)??"), DEFAULT_STATS, Werkstoff.Types.COMPOUND, FLUID, - MaterialIDs.THORIANITE_AQ_SOLUTION.id, + MaterialIDs.UNREFINED_THORIUM_SOLUTION.id, TextureSet.SET_FLUID); public static final Werkstoff THORIUM_NITRATE_SOLUTION = new Werkstoff( rgb(0x182a21), - "Thorium Nitrate solution", + "Thorium Nitrate Solution", process("Th(NO↓3)"), DEFAULT_STATS, Werkstoff.Types.COMPOUND, FLUID, MaterialIDs.THORIUM_NITRATE.id, - TextureSet.SET_FLUID); - - public static final Werkstoff LOW_URANIUM_SLUDGE = new Werkstoff( - rgb(0x132602), - "Low Uranium Sludge", - process("?U?(NO↓3)?"), - DEFAULT_STATS, - Werkstoff.Types.COMPOUND, - FLUID, - MaterialIDs.LOW_URANIUM_SLUDGE.id, - TextureSet.SET_FLUID); - - public static final Werkstoff POOR_URANIUM_MIXTURE = new Werkstoff( - rgb(0x132602), - "Poor Uranium Mixture", - process("?U?"), - DEFAULT_STATS, - Werkstoff.Types.COMPOUND, - FLUID, - MaterialIDs.URANIUM_POOR_MIXTURE.id, - TextureSet.SET_FLUID); + TextureSet.SET_SHINY); public static final Werkstoff REFINED_THORIUM = new Werkstoff( @@ -390,8 +352,27 @@ public class MaterialsNuclear { Werkstoff.Types.COMPOUND, DUST, MaterialIDs.REFINED_THORIUM.id, + TextureSet.SET_SHINY); + + public static final Werkstoff PLUTONIUM_239_DIOXIDE = new Werkstoff( + rgb(0xac4643), + "Plutonium-239 Dioxide", + process("↑239PuO↓2"), + RADIO_STATS, + Werkstoff.Types.COMPOUND, + DUST, + MaterialIDs.PLUTONIUM_239_DIOXIDE.id, TextureSet.SET_DULL); + public static final Werkstoff PLUTONIUM_241_DIOXIDE = new Werkstoff( + rgb(0xd30024), + "Plutonium-241 Dioxide", + process("↑241PuO↓2"), + RADIO_STATS, + Werkstoff.Types.COMPOUND, + DUST, + MaterialIDs.PLUTONUM_241_DIOXIDE.id, + TextureSet.SET_SHINY); public static void init() { @@ -417,16 +398,16 @@ public static String process(String b) { sup = false; } else if (sub) { nu[i] = switch (chars[i]) { - case '0' -> '\u2080'; - case '1' -> '\u2081'; - case '2' -> '\u2082'; - case '3' -> '\u2083'; - case '4' -> '\u2084'; - case '5' -> '\u2085'; - case '6' -> '\u2086'; - case '7' -> '\u2087'; - case '8' -> '\u2088'; - case '9' -> '\u2089'; + case '0' -> CustomGlyphs.SUBSCRIPT0.charAt(0); + case '1' -> '₁'; + case '2' -> '₂'; + case '3' -> '₃'; + case '4' -> '₄'; + case '5' -> '₅'; + case '6' -> '₆'; + case '7' -> '₇'; + case '8' -> '₈'; + case '9' -> '₉'; default -> { sub = false; yield chars[i]; @@ -434,16 +415,16 @@ public static String process(String b) { }; } else if (sup) { nu[i] = switch (chars[i]) { - case '0' -> '\u2070'; - case '1' -> '\u2071'; - case '2' -> '\u00B2'; - case '3' -> '\u00B3'; - case '4' -> '\u2074'; - case '5' -> '\u2075'; - case '6' -> '\u2076'; - case '7' -> '\u2077'; - case '8' -> '\u2078'; - case '9' -> '\u2079'; + case '0' -> CustomGlyphs.SUPERSCRIPT0.charAt(0); + case '1' -> CustomGlyphs.SUPERSCRIPT1.charAt(0); + case '2' -> CustomGlyphs.SUPERSCRIPT2.charAt(0); + case '3' -> CustomGlyphs.SUPERSCRIPT3.charAt(0); + case '4' -> CustomGlyphs.SUPERSCRIPT4.charAt(0); + case '5' -> CustomGlyphs.SUPERSCRIPT5.charAt(0); + case '6' -> CustomGlyphs.SUPERSCRIPT6.charAt(0); + case '7' -> CustomGlyphs.SUPERSCRIPT7.charAt(0); + case '8' -> CustomGlyphs.SUPERSCRIPT8.charAt(0); + case '9' -> CustomGlyphs.SUPERSCRIPT9.charAt(0); default -> { sup = false; yield chars[i]; diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/IReactorSensor.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/IReactorSensor.java new file mode 100644 index 0000000..e85ca22 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/IReactorSensor.java @@ -0,0 +1,5 @@ +package com.recursive_pineapple.nuclear_horizons.reactors.tile; + +public interface IReactorSensor { + +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/TileReactorCore.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/TileReactorCore.java index 4a5df8c..f3940a7 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/TileReactorCore.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/TileReactorCore.java @@ -329,21 +329,26 @@ public void updateEntity() { if (this.tickCounter % REACTOR_TICK_SPEED == 0) { boolean wasActive = isActive; + this.isActive = false; + // There isn't a reasonable way to power the internals of a fluid nuke, so don't bother checking them // If they are receiving power, it's almost certainly not intentional if (!this.isFluid) { - this.isActive = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord); - - for (var dir : DirectionUtil.values()) { - Block block = worldObj.getBlock(dir.offsetX + xCoord, dir.offsetY + yCoord, dir.offsetZ + zCoord); + if (getEnableSignal(xCoord, yCoord, zCoord)) { + this.isActive = true; + } else { + for (var dir : DirectionUtil.values()) { + Block block = worldObj.getBlock(dir.offsetX + xCoord, dir.offsetY + yCoord, dir.offsetZ + zCoord); - if (block != BlockList.REACTOR_CHAMBER) continue; + if (block != BlockList.REACTOR_CHAMBER) continue; - this.isActive |= worldObj.isBlockIndirectlyGettingPowered(dir.offsetX + xCoord, dir.offsetY + yCoord, dir.offsetZ + zCoord); + if (getEnableSignal(dir.offsetX + xCoord, dir.offsetY + yCoord, dir.offsetZ + zCoord)) { + isActive = true; + break; + } + } } - } - - if (this.isFluid) { + } else { boolean anyActive = false, anyInhibiting = false; for (var block : reactorBlocks) { @@ -352,11 +357,7 @@ public void updateEntity() { anyInhibiting |= state == ReactorEnableState.Inhibiting; } - isActive |= anyActive; - - if (anyInhibiting) { - isActive = false; - } + isActive = anyActive && !anyInhibiting; } this.doHeatTick(); @@ -383,6 +384,18 @@ public void updateEntity() { } } + private boolean getEnableSignal(int x, int y, int z) { + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + Block block = worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if (block instanceof IReactorSensor) continue; + + if (worldObj.getIndirectPowerLevelTo(x, y, z, dir.ordinal()) > 0) return true; + } + + return false; + } + private void spawnSmoke(int x, int y, int z) { if (worldObj.getBlock(x, y + 1, z).isBlockNormalCube()) { return; diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/simulator/SimulationItems.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/simulator/SimulationItems.java index 7a57c05..05a95ce 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/simulator/SimulationItems.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/tile/simulator/SimulationItems.java @@ -1,13 +1,15 @@ package com.recursive_pineapple.nuclear_horizons.reactors.tile.simulator; +import static com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList.*; +import static gregtech.api.enums.ItemList.*; + import java.util.HashMap; import javax.annotation.Nullable; import net.minecraft.item.Item; -import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; - +import gregtech.api.enums.ItemList; public class SimulationItems { @@ -19,7 +21,7 @@ public static void registerSimulationItem(int id, Item item) { reactorItemIdsByItem.put(item, id); } - public static void registerSimulationItem(int id, gregtech.api.enums.ItemList item) { + public static void registerSimulationItem(int id, ItemList item) { reactorItemsById.put(id, item.getItem()); reactorItemIdsByItem.put(item.getItem(), id); } @@ -33,65 +35,65 @@ public static void registerSimulationItem(int id, gregtech.api.enums.ItemList it } public static void registerSimulationItems() { - registerSimulationItem(1, gregtech.api.enums.ItemList.RodUranium); - registerSimulationItem(2, gregtech.api.enums.ItemList.RodUranium2); - registerSimulationItem(3, gregtech.api.enums.ItemList.RodUranium4); - registerSimulationItem(7, ItemList.NEUTRON_REFLECTOR); - registerSimulationItem(8, ItemList.THICK_NEUTRON_REFLECTOR); - registerSimulationItem(9, ItemList.BASIC_HEAT_VENT); - registerSimulationItem(10, ItemList.ADVANCED_HEAT_VENT); - registerSimulationItem(11, ItemList.REACTOR_HEAT_VENT); - registerSimulationItem(12, ItemList.COMPONENT_HEAT_VENT); - registerSimulationItem(13, ItemList.OVERCLOCKED_HEAT_VENT); - registerSimulationItem(14, ItemList.COOLANT_CELL_10k); - registerSimulationItem(15, ItemList.COOLANT_CELL_30k); - registerSimulationItem(16, ItemList.COOLANT_CELL_60k); - registerSimulationItem(17, ItemList.BASIC_HEAT_EXCHANGER); - registerSimulationItem(18, ItemList.ADVANCED_HEAT_EXCHANGER); - registerSimulationItem(19, ItemList.REACTOR_HEAT_EXCHANGER); - registerSimulationItem(20, ItemList.COMPONENT_HEAT_EXCHANGER); - registerSimulationItem(21, ItemList.REACTOR_PLATING); - registerSimulationItem(22, ItemList.REACTOR_PLATING_HEAT); - registerSimulationItem(23, ItemList.REACTOR_PLATING_EXPLOSIVE); - registerSimulationItem(24, ItemList.RSH_CONDENSATOR); - registerSimulationItem(25, ItemList.LZH_CONDENSATOR); - registerSimulationItem(26, gregtech.api.enums.ItemList.RodThorium); - registerSimulationItem(27, gregtech.api.enums.ItemList.RodThorium2); - registerSimulationItem(28, gregtech.api.enums.ItemList.RodThorium4); - registerSimulationItem(29, gregtech.api.enums.ItemList.Reactor_Coolant_He_1); - registerSimulationItem(30, gregtech.api.enums.ItemList.Reactor_Coolant_He_3); - registerSimulationItem(31, gregtech.api.enums.ItemList.Reactor_Coolant_He_6); - registerSimulationItem(32, gregtech.api.enums.ItemList.Reactor_Coolant_NaK_1); - registerSimulationItem(33, gregtech.api.enums.ItemList.Reactor_Coolant_NaK_3); - registerSimulationItem(34, gregtech.api.enums.ItemList.Reactor_Coolant_NaK_6); - registerSimulationItem(35, gregtech.api.enums.ItemList.Neutron_Reflector); - registerSimulationItem(45, gregtech.api.enums.ItemList.RodNaquadah); - registerSimulationItem(46, gregtech.api.enums.ItemList.RodNaquadah2); - registerSimulationItem(47, gregtech.api.enums.ItemList.RodNaquadah4); - registerSimulationItem(48, gregtech.api.enums.ItemList.RodNaquadria); - registerSimulationItem(49, gregtech.api.enums.ItemList.RodNaquadria2); - registerSimulationItem(50, gregtech.api.enums.ItemList.RodNaquadria4); - registerSimulationItem(51, gregtech.api.enums.ItemList.RodTiberium); - registerSimulationItem(52, gregtech.api.enums.ItemList.RodTiberium2); - registerSimulationItem(53, gregtech.api.enums.ItemList.RodTiberium4); - registerSimulationItem(54, gregtech.api.enums.ItemList.RodNaquadah32); // the core - registerSimulationItem(55, gregtech.api.enums.ItemList.Reactor_Coolant_Sp_1); - registerSimulationItem(56, gregtech.api.enums.ItemList.Reactor_Coolant_Sp_2); - registerSimulationItem(57, gregtech.api.enums.ItemList.Reactor_Coolant_Sp_3); - registerSimulationItem(58, gregtech.api.enums.ItemList.Reactor_Coolant_Sp_6); - registerSimulationItem(59, gregtech.api.enums.ItemList.neutroniumHeatCapacitor); - registerSimulationItem(60, gregtech.api.enums.ItemList.RodHighDensityUranium); - registerSimulationItem(61, gregtech.api.enums.ItemList.RodHighDensityUranium2); - registerSimulationItem(62, gregtech.api.enums.ItemList.RodHighDensityUranium4); - registerSimulationItem(63, gregtech.api.enums.ItemList.RodHighDensityPlutonium); - registerSimulationItem(64, gregtech.api.enums.ItemList.RodHighDensityPlutonium2); - registerSimulationItem(65, gregtech.api.enums.ItemList.RodHighDensityPlutonium4); - registerSimulationItem(66, gregtech.api.enums.ItemList.RodExcitedUranium); - registerSimulationItem(67, gregtech.api.enums.ItemList.RodExcitedUranium2); - registerSimulationItem(68, gregtech.api.enums.ItemList.RodExcitedUranium4); - registerSimulationItem(69, gregtech.api.enums.ItemList.RodExcitedPlutonium); - registerSimulationItem(70, gregtech.api.enums.ItemList.RodExcitedPlutonium2); - registerSimulationItem(71, gregtech.api.enums.ItemList.RodExcitedPlutonium4); - registerSimulationItem(72, gregtech.api.enums.ItemList.RodGlowstone); + registerSimulationItem(1, RodUranium); + registerSimulationItem(2, RodUranium2); + registerSimulationItem(3, RodUranium4); + registerSimulationItem(7, NEUTRON_REFLECTOR); + registerSimulationItem(8, THICK_NEUTRON_REFLECTOR); + registerSimulationItem(9, BASIC_HEAT_VENT); + registerSimulationItem(10, ADVANCED_HEAT_VENT); + registerSimulationItem(11, REACTOR_HEAT_VENT); + registerSimulationItem(12, COMPONENT_HEAT_VENT); + registerSimulationItem(13, OVERCLOCKED_HEAT_VENT); + registerSimulationItem(14, COOLANT_CELL_10k); + registerSimulationItem(15, COOLANT_CELL_30k); + registerSimulationItem(16, COOLANT_CELL_60k); + registerSimulationItem(17, BASIC_HEAT_EXCHANGER); + registerSimulationItem(18, ADVANCED_HEAT_EXCHANGER); + registerSimulationItem(19, REACTOR_HEAT_EXCHANGER); + registerSimulationItem(20, COMPONENT_HEAT_EXCHANGER); + registerSimulationItem(21, REACTOR_PLATING); + registerSimulationItem(22, REACTOR_PLATING_HEAT); + registerSimulationItem(23, REACTOR_PLATING_EXPLOSIVE); + registerSimulationItem(24, RSH_CONDENSATOR); + registerSimulationItem(25, LZH_CONDENSATOR); + registerSimulationItem(26, RodThorium); + registerSimulationItem(27, RodThorium2); + registerSimulationItem(28, RodThorium4); + registerSimulationItem(29, Reactor_Coolant_He_1); + registerSimulationItem(30, Reactor_Coolant_He_3); + registerSimulationItem(31, Reactor_Coolant_He_6); + registerSimulationItem(32, Reactor_Coolant_NaK_1); + registerSimulationItem(33, Reactor_Coolant_NaK_3); + registerSimulationItem(34, Reactor_Coolant_NaK_6); + registerSimulationItem(35, Neutron_Reflector); + registerSimulationItem(45, RodNaquadah); + registerSimulationItem(46, RodNaquadah2); + registerSimulationItem(47, RodNaquadah4); + registerSimulationItem(48, RodNaquadria); + registerSimulationItem(49, RodNaquadria2); + registerSimulationItem(50, RodNaquadria4); + registerSimulationItem(51, RodTiberium); + registerSimulationItem(52, RodTiberium2); + registerSimulationItem(53, RodTiberium4); + registerSimulationItem(54, RodNaquadah32); + registerSimulationItem(55, Reactor_Coolant_Sp_1); + registerSimulationItem(56, Reactor_Coolant_Sp_2); + registerSimulationItem(57, Reactor_Coolant_Sp_3); + registerSimulationItem(58, Reactor_Coolant_Sp_6); + registerSimulationItem(59, neutroniumHeatCapacitor); + registerSimulationItem(60, RodHighDensityUranium); + registerSimulationItem(61, RodHighDensityUranium2); + registerSimulationItem(62, RodHighDensityUranium4); + registerSimulationItem(63, RodHighDensityPlutonium); + registerSimulationItem(64, RodHighDensityPlutonium2); + registerSimulationItem(65, RodHighDensityPlutonium4); + registerSimulationItem(66, RodExcitedUranium); + registerSimulationItem(67, RodExcitedUranium2); + registerSimulationItem(68, RodExcitedUranium4); + registerSimulationItem(69, RodExcitedPlutonium); + registerSimulationItem(70, RodExcitedPlutonium2); + registerSimulationItem(71, RodExcitedPlutonium); + registerSimulationItem(72, RodGlowstone); } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalRecipes.java new file mode 100644 index 0000000..e7762e9 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalRecipes.java @@ -0,0 +1,396 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ACETONE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.AMERICIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.AMERICIUM_III_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.AMERICIUM_IV_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.BARIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.BROMINE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.BROMINE_SALT_WATER; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CAESIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CALIFORNIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CALIFORNIUM_III_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CALIFORNIUM_IV_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CARBONDIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CARBONMONOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CERIUMDIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CHLORINE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.COBALT; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CURIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CURIUM_III_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.CURIUM_IV_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DILUTED_NITRIC_ACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.EUROPIUMIIIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.FLUORINE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.GALLIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.HOLMIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.LANTHANIDE_WASTE_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.LANTHANUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.LANTHANUMOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.LANTHANUM_II_OXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.LUTETIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.MAGNESIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.METHANE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.METHYL_ISOBUTYL_KETONE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.METYHL_MAGNESIUM_BROMIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NEODYMIUMOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NIOBIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NITRICACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NITROGENDIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.OXYGEN; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PHOSPHORUSTRICHLORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PHOSPHORYL_CHLORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM241; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM_239_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM_241_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PROPENE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SAMARIUMOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SODIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SODIUM_FLUORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.STRONTIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.THORIUM_FISSION_PRODUCT_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.TRANSURANIC_WASTE_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.TRIBUTYL_PHOSPHATE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM233; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM235; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM238; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_233_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_235_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_238_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_FISSION_PRODUCT_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.WATER; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZINC; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZINC_NITRATE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZINC_NITRATE_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZIRCONIUM; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeConstants.UniversalChemical; +import static gregtech.api.util.GTUtility.getIntegratedCircuit; + +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; + +public class ChemicalRecipes { + + public static void registerRecipes() { + registerSynthesisRecipes(); + registerRecyclingRecipes(); + registerDioxideRecipes(); + } + + private static void registerSynthesisRecipes() { + // Bromine Rich Salt Water + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.crushed, Materials.Salt, 1)) + .fluidInputs(WATER.getFluid(1000)) + .fluidOutputs(BROMINE_SALT_WATER.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.crushed, Materials.RockSalt, 1)) + .fluidInputs(WATER.getFluid(1000)) + .fluidOutputs(BROMINE_SALT_WATER.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + // Swap the bromine ions with chlorine ions + GTValues.RA.stdBuilder() + .itemInputs(BROMINE_SALT_WATER.getCells(1)) + .fluidInputs(CHLORINE.getGas(100)) + // Use Materials because SALTWATER is an unused gt++ material + .itemOutputs(Materials.SaltWater.getCells(1)) + .fluidOutputs(BROMINE.getFluid(100)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + // phosphoryl chloride and tributyl phosphate (TBP) synthesis + GTValues.RA.stdBuilder() + .itemInputs(OXYGEN.getCells(1)) + .fluidInputs(PHOSPHORUSTRICHLORIDE.getFluid(2000)) + .fluidOutputs(PHOSPHORYL_CHLORIDE.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // TBP normally requires butanol, which can be synthesized using either a + // metallic cobalt or organometallic rhodium catalyst + // in this pack the kevlar line devs chose to use the more complicated synthesis + // that uses rhodium and palladium organometallic catalysts + // so this reaction is in a single step to avoid producing butanol which could bypass + // their chemical gating + GTValues.RA.stdBuilder() + .itemInputs(COBALT.getDustTiny(1), getIntegratedCircuit(1)) + .fluidInputs( + PHOSPHORYL_CHLORIDE.getFluid(1000), + CARBONMONOXIDE.getGas(6000), + WATER.getFluid(3000), + PROPENE.getGas(3000)) + .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(1000), CARBONDIOXIDE.getGas(3000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(COBALT.getDust(1), getIntegratedCircuit(9)) + .fluidInputs( + PHOSPHORYL_CHLORIDE.getFluid(9000), + CARBONMONOXIDE.getGas(54000), + WATER.getFluid(27000), + PROPENE.getGas(27000)) + .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(9000), CARBONDIOXIDE.getGas(27000)) + .duration(180 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(MAGNESIUM.getDust(1)) + .fluidInputs(METHANE.getGas(1000), BROMINE.getFluid(1000)) + .fluidOutputs(METYHL_MAGNESIUM_BROMIDE.getFluid(2000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs(METYHL_MAGNESIUM_BROMIDE.getFluid(2000), ACETONE.getFluid(1000)) + .fluidOutputs(METHYL_ISOBUTYL_KETONE.getFluid(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + } + + private static void registerRecyclingRecipes() { + GTValues.RA.stdBuilder() + .fluidInputs(ZINC_NITRATE_SOLUTION.getFluid(1000)) + .itemOutputs(ZINC_NITRATE.getDust(3)) + .fluidOutputs(WATER.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ZINC_NITRATE.getDust(3)) + .itemOutputs(ZINC.getDust(1)) + .fluidOutputs(NITROGENDIOXIDE.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(blastFurnaceRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs(DILUTED_NITRIC_ACID.getFluid(2000)) + .fluidOutputs(NITRICACID.getFluid(1000), WATER.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(SODIUM_FLUORIDE.getDust(2)) + .itemOutputs(SODIUM.getDust(1)) + .fluidOutputs(FLUORINE.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(TRANSURANIC_WASTE_MIXTURE.getDust(1)) + .itemOutputs( + AMERICIUM_IV_OXIDE.getDust(1), + CURIUM_IV_OXIDE.getDust(1), + CALIFORNIUM_IV_OXIDE.getDust(1)) + .outputChances(1500, 2750, 1000) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) + .itemOutputs( + CERIUMDIOXIDE.getDust(1), + ZIRCONIUM.getDust(1), + GALLIUM.getDust(1), + LUTETIUM.getDust(1), + BARIUM.getDust(1), + LANTHANIDE_WASTE_MIXTURE.getDust(1)) + .outputChances(500, 750, 2500, 250, 750, 2500) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(THORIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) + .itemOutputs( + CAESIUM.getDust(1), + ZIRCONIUM.getDust(1), + LUTETIUM.getDust(1), + BARIUM.getDust(1), + NIOBIUM.getDust(1), + STRONTIUM.getDust(1)) + .outputChances(1250, 1000, 3000, 1500, 1750, 1250) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(LANTHANIDE_WASTE_MIXTURE.getDust(1)) + .itemOutputs( + LANTHANUMOXIDE.getDust(1), + CERIUMDIOXIDE.getDust(1), + NEODYMIUMOXIDE.getDust(1), + SAMARIUMOXIDE.getDust(1), + EUROPIUMIIIOXIDE.getDust(1), + HOLMIUM.getDust(1)) + .outputChances(6500, 4500, 8000, 5000, 4000, 3000) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_ZPM) + .addTo(centrifugeRecipes); + + // americium recycling + GTValues.RA.stdBuilder() + .itemInputs(AMERICIUM.getDust(1), AMERICIUM_IV_OXIDE.getDust(3)) + .fluidInputs(OXYGEN.getGas(1000)) + .itemOutputs(AMERICIUM_III_OXIDE.getDust(5)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(AMERICIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) + .itemOutputs(AMERICIUM.getDust(2), OXYGEN.getCells(3)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(electrolyzerRecipes); + + // curium recycling + GTValues.RA.stdBuilder() + .itemInputs(CURIUM.getDust(1), CURIUM_IV_OXIDE.getDust(3)) + .fluidInputs(OXYGEN.getGas(1000)) + .itemOutputs(CURIUM_III_OXIDE.getDust(5)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(CURIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) + .itemOutputs(CURIUM.getDust(2), OXYGEN.getCells(3)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(electrolyzerRecipes); + + // californium recycling + GTValues.RA.stdBuilder() + .itemInputs(CALIFORNIUM.getDust(1), CALIFORNIUM_IV_OXIDE.getDust(3)) + .fluidInputs(OXYGEN.getGas(1000)) + .itemOutputs(CALIFORNIUM_III_OXIDE.getDust(5)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(CALIFORNIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) + .itemOutputs(CALIFORNIUM.getDust(2), OXYGEN.getCells(3)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(electrolyzerRecipes); + + // lanthanum recycling + GTValues.RA.stdBuilder() + .itemInputs(LANTHANUM.getDust(1), LANTHANUMOXIDE.getDust(5)) + .itemOutputs(LANTHANUM_II_OXIDE.getDust(6)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(LANTHANUM_II_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) + .itemOutputs(LANTHANUM.getDust(2), OXYGEN.getCells(3)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(electrolyzerRecipes); + } + + private static void registerDioxideRecipes() { + // Dioxide synthesis + GTValues.RA.stdBuilder() + .itemInputs(URANIUM233.getDust(1), OXYGEN.getCells(2)) + .itemOutputs(URANIUM_233_DIOXIDE.getDust(3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM235.getDust(1), OXYGEN.getCells(2)) + .itemOutputs(URANIUM_235_DIOXIDE.getDust(3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM238.getDust(1), OXYGEN.getCells(2)) + .itemOutputs(URANIUM_238_DIOXIDE.getDust(3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(PLUTONIUM.getDust(1), OXYGEN.getCells(2)) + .itemOutputs(PLUTONIUM_239_DIOXIDE.getDust(3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs(PLUTONIUM241.getDust(1), OXYGEN.getCells(2)) + .itemOutputs(PLUTONIUM_241_DIOXIDE.getDust(3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Dioxide electrolysis + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_233_DIOXIDE.getDust(3)) + .itemOutputs(URANIUM233.getDust(1)) + .fluidOutputs(OXYGEN.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_235_DIOXIDE.getDust(3)) + .itemOutputs(URANIUM235.getDust(1)) + .fluidOutputs(OXYGEN.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(PLUTONIUM_239_DIOXIDE.getDust(3)) + .itemOutputs(PLUTONIUM.getDust(1)) + .fluidOutputs(OXYGEN.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(PLUTONIUM_241_DIOXIDE.getDust(3)) + .itemOutputs(PLUTONIUM241.getDust(1)) + .fluidOutputs(OXYGEN.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ComponentRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ComponentRecipes.java index c58fc93..8f33875 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ComponentRecipes.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ComponentRecipes.java @@ -7,12 +7,12 @@ import net.minecraft.item.ItemStack; import com.recursive_pineapple.nuclear_horizons.reactors.blocks.BlockList; -import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; - +import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList; import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import ic2.core.Ic2Items; @@ -32,7 +32,7 @@ private static void registerComponentRecipes() { Materials.Copper.getPlates(1), Materials.Aluminium.getPlates(2), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 1L)) - .itemOutputs(new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1)) + .itemOutputs(new ItemStack(NHItemList.BASIC_HEAT_EXCHANGER, 1)) .duration(3 * SECONDS) .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); @@ -42,9 +42,9 @@ private static void registerComponentRecipes() { GTUtility.getIntegratedCircuit(21), Materials.Silver.getPlates(2), GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Copper, 2), - new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1)) + new ItemStack(NHItemList.BASIC_HEAT_EXCHANGER, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.REACTOR_HEAT_EXCHANGER, 1)) + .itemOutputs(new ItemStack(NHItemList.REACTOR_HEAT_EXCHANGER, 1)) .duration(3 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); @@ -55,10 +55,10 @@ private static void registerComponentRecipes() { Materials.Lapis.getPlates(2), Materials.Diamond.getPlates(1), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 2L), - new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1), - new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1)) + new ItemStack(NHItemList.BASIC_HEAT_EXCHANGER, 1), + new ItemStack(NHItemList.BASIC_HEAT_EXCHANGER, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.ADVANCED_HEAT_EXCHANGER, 1)) + .itemOutputs(new ItemStack(NHItemList.ADVANCED_HEAT_EXCHANGER, 1)) .duration(3 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); @@ -67,9 +67,9 @@ private static void registerComponentRecipes() { .itemInputs( GTUtility.getIntegratedCircuit(21), Materials.Gold.getPlates(2), - new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1)) + new ItemStack(NHItemList.BASIC_HEAT_EXCHANGER, 1)) .fluidInputs(Materials.StainlessSteel.getMolten(72)) - .itemOutputs(new ItemStack(ItemList.COMPONENT_HEAT_EXCHANGER, 1)) + .itemOutputs(new ItemStack(NHItemList.COMPONENT_HEAT_EXCHANGER, 1)) .duration(3 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); @@ -79,9 +79,9 @@ private static void registerComponentRecipes() { GTUtility.getIntegratedCircuit(21), Materials.Aluminium.getPlates(2), gregtech.api.enums.ItemList.Electric_Motor_LV.get(1L), - new ItemStack(Item.getItemById(101), 2)) + GTModHandler.getModItem("dreamcraft", "item.SteelBars", 2)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.BASIC_HEAT_VENT, 1)) + .itemOutputs(new ItemStack(NHItemList.BASIC_HEAT_VENT, 1)) .duration(10 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); @@ -91,9 +91,9 @@ private static void registerComponentRecipes() { GTUtility.getIntegratedCircuit(22), Materials.Silver.getPlates(2), GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Copper, 2), - new ItemStack(ItemList.BASIC_HEAT_VENT, 1)) + new ItemStack(NHItemList.BASIC_HEAT_VENT, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.REACTOR_HEAT_VENT, 1)) + .itemOutputs(new ItemStack(NHItemList.REACTOR_HEAT_VENT, 1)) .duration(15 * SECONDS) .eut(256) .addTo(assemblerRecipes); @@ -102,10 +102,10 @@ private static void registerComponentRecipes() { .itemInputs( GTUtility.getIntegratedCircuit(21), Ic2Items.industrialDiamond, - new ItemStack(ItemList.BASIC_HEAT_VENT, 1), - new ItemStack(Item.getItemById(101), 2) - ) - .itemOutputs(new ItemStack(ItemList.ADVANCED_HEAT_VENT, 1)) + new ItemStack(NHItemList.BASIC_HEAT_VENT, 1), + GTModHandler.getModItem("dreamcraft", "item.StainlessSteelBars", 4)) + .fluidInputs() + .itemOutputs(new ItemStack(NHItemList.ADVANCED_HEAT_VENT, 1)) .duration(15 * SECONDS) .eut(256) .addTo(assemblerRecipes); @@ -114,10 +114,10 @@ private static void registerComponentRecipes() { .itemInputs( GTUtility.getIntegratedCircuit(21), GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Tin, 2), - new ItemStack(Item.getItemById(101), 2), - new ItemStack(ItemList.BASIC_HEAT_VENT, 1)) + GTModHandler.getModItem("dreamcraft", "item.StainlessSteelBars", 4), + new ItemStack(NHItemList.BASIC_HEAT_VENT, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.COMPONENT_HEAT_VENT, 1)) + .itemOutputs(new ItemStack(NHItemList.COMPONENT_HEAT_VENT, 1)) .duration(15 * SECONDS) .eut(256) .addTo(assemblerRecipes); @@ -126,9 +126,9 @@ private static void registerComponentRecipes() { .itemInputs( GTUtility.getIntegratedCircuit(22), Materials.Gold.getPlates(2), - new ItemStack(ItemList.ADVANCED_HEAT_VENT, 1)) + new ItemStack(NHItemList.ADVANCED_HEAT_VENT, 1)) .fluidInputs(Materials.StainlessSteel.getMolten(72)) - .itemOutputs(new ItemStack(ItemList.OVERCLOCKED_HEAT_VENT, 1)) + .itemOutputs(new ItemStack(NHItemList.OVERCLOCKED_HEAT_VENT, 1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); @@ -139,7 +139,7 @@ private static void registerComponentRecipes() { GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 2), new ItemStack(Ic2Items.advancedAlloy.getItem(), 2)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.REACTOR_PLATING, 1)) + .itemOutputs(new ItemStack(NHItemList.REACTOR_PLATING, 1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); @@ -150,9 +150,9 @@ private static void registerComponentRecipes() { GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Copper, 2), Materials.Copper.getPlates(1), Materials.Silver.getPlates(1), - new ItemStack(ItemList.REACTOR_PLATING, 1)) + new ItemStack(NHItemList.REACTOR_PLATING, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.REACTOR_PLATING_HEAT, 1)) + .itemOutputs(new ItemStack(NHItemList.REACTOR_PLATING_HEAT, 1)) .duration(30 * SECONDS) .eut(256) .addTo(assemblerRecipes); @@ -162,9 +162,9 @@ private static void registerComponentRecipes() { GTUtility.getIntegratedCircuit(23), GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 2), new ItemStack(Ic2Items.advancedAlloy.getItem(), 2), - new ItemStack(ItemList.REACTOR_PLATING, 1)) + new ItemStack(NHItemList.REACTOR_PLATING, 1)) .fluidInputs() - .itemOutputs(new ItemStack(ItemList.REACTOR_PLATING_EXPLOSIVE, 1)) + .itemOutputs(new ItemStack(NHItemList.REACTOR_PLATING_EXPLOSIVE, 1)) .duration(30 * SECONDS) .eut(256) .addTo(assemblerRecipes); diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelProcessingRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelProcessingRecipes.java index 5b5ad7b..3ebf667 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelProcessingRecipes.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelProcessingRecipes.java @@ -1,14 +1,44 @@ package com.recursive_pineapple.nuclear_horizons.recipes; -import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.*; -import static gregtech.api.recipe.RecipeMaps.*; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ALUMINIUMOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_URANIUM_HEXAFLUORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.EMPTY; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_MOX_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_THORIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_URANIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_URANIUM_HEXAFLUORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.FLUORINE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.HYDROFLUORICACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.MAGNETITE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NATURAL_URANIUM_HEXAFLUORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NITRICACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM_239_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM_241_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.RAREEARTH; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.REFINED_THORIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SILICONDIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.THORIANIT; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.THORIUM_NITRATE_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.THORIUM_ORE_IMPURITIES; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.UNREFINED_THORIUM_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANINITE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_233_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_235_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_238_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.WATER; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; -import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import gregtech.api.enums.GTValues; -import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; import gtPlusPlus.core.util.minecraft.ItemUtils; public class FuelProcessingRecipes { @@ -16,139 +46,173 @@ public class FuelProcessingRecipes { public static void registerRecipes() { registerEnrichmentRecipes(); registerFuelRecipes(); - - //Not sure where to put this one: registerThoriumLineRecipes(); } private static void registerEnrichmentRecipes() { - // natural uranium tetrafluoride + // natural uranium hexafluoride GTValues.RA.stdBuilder() .itemInputs(URANINITE.getDust(3)) - .fluidInputs(HYDROFLUORICACID.getFluid(16000)) + .fluidInputs(HYDROFLUORICACID.getFluid(4000), FLUORINE.getGas(2000)) .itemOutputs( - NATURAL_URANIUM_TETRAFLUORIDE.getDust(4), + NATURAL_URANIUM_HEXAFLUORIDE.getDust(7), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) .outputChances(10000, 750) - .fluidOutputs(WATER.getFluid(4000)) + .fluidOutputs(WATER.getFluid(2000)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(UniversalChemical); + .addTo(multiblockChemicalReactorRecipes); - // natural uranium hexafluoride + // sublimation GTValues.RA.stdBuilder() - .itemInputs(NATURAL_URANIUM_TETRAFLUORIDE.getDust(1), FLUORINE.getCells(2)) - .itemOutputs(NATURAL_URANIUM_HEXAFLUORIDE.getCells(1), ItemList.Cell_Empty.get(1)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(UniversalChemical); + .itemInputs(NATURAL_URANIUM_HEXAFLUORIDE.getDust(1)) + .fluidOutputs(NATURAL_URANIUM_HEXAFLUORIDE.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(fluidExtractionRecipes); // uranium enrichment GTValues.RA.stdBuilder() - .itemInputs(NATURAL_URANIUM_HEXAFLUORIDE.getCells(10000)) - .itemOutputs(ENRICHED_URANIUM_HEXAFLUORIDE.getCells(1), DEPLETED_URANIUM_HEXAFLUORIDE.getCells(9)) - .duration(5 * MINUTES) + .itemInputs(NATURAL_URANIUM_HEXAFLUORIDE.getCells(7)) + .itemOutputs(DEPLETED_URANIUM_HEXAFLUORIDE.getCells(6), ENRICHED_URANIUM_HEXAFLUORIDE.getCells(1)) + .duration(1 * MINUTES) .eut(TierEU.RECIPE_HV) .addTo(centrifugeRecipes); - // depleted uranium hexafluoride + // U235 Dioxide GTValues.RA.stdBuilder() - .fluidInputs(WATER.getFluid(36000), DEPLETED_URANIUM_HEXAFLUORIDE.getFluid(12000)) - .itemOutputs(URANINITE.getDust(6), URANIUM_238_DIOXIDE.getDust(6)) - .fluidOutputs(HYDROFLUORICACID.getFluid(72000)) + .fluidInputs(ENRICHED_URANIUM_HEXAFLUORIDE.getFluid(4000), WATER.getFluid(12000)) + .itemOutputs(URANINITE.getDust(9), URANIUM_235_DIOXIDE.getDust(3)) + .fluidOutputs(HYDROFLUORICACID.getFluid(24000)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(multiblockChemicalReactorRecipes); - // enriched uranium hexafluoride + // U238 Dioxide GTValues.RA.stdBuilder() - .fluidInputs(WATER.getFluid(36000), ENRICHED_URANIUM_HEXAFLUORIDE.getFluid(12000)) - .itemOutputs(URANINITE.getDust(9), URANIUM_235_DIOXIDE.getDust(3)) - .fluidOutputs(HYDROFLUORICACID.getFluid(72000)) + .fluidInputs(DEPLETED_URANIUM_HEXAFLUORIDE.getFluid(2000), WATER.getFluid(6000)) + .itemOutputs(URANINITE.getDust(3), URANIUM_238_DIOXIDE.getDust(3)) + .fluidOutputs(HYDROFLUORICACID.getFluid(12000)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(multiblockChemicalReactorRecipes); } private static void registerThoriumLineRecipes() { - + // Dissolve ore GTValues.RA.stdBuilder() - .fluidInputs(NITRICACID.getFluid(5000)) .itemInputs(THORIANIT.getDust(3)) - .fluidOutputs(THORIANITE_AQ_SOLUTION.getFluid(5000)) + .fluidInputs(NITRICACID.getFluid(1000)) + .fluidOutputs(UNREFINED_THORIUM_SOLUTION.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.crushed, Materials.Thorium, 1)) + .fluidInputs(NITRICACID.getFluid(1000)) + .fluidOutputs(UNREFINED_THORIUM_SOLUTION.getFluid(1000)) .duration(5 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(mixerRecipes); GTValues.RA.stdBuilder() - .fluidInputs(THORIANITE_AQ_SOLUTION.getFluid(2000)) - .fluidOutputs(THORIUM_NITRATE_SOLUTION.getFluid(1900),LOW_URANIUM_SLUDGE.getFluid(100)) + .itemInputs(GTOreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Thorium, 1)) + .fluidInputs(NITRICACID.getFluid(1000)) + .fluidOutputs(UNREFINED_THORIUM_SOLUTION.getFluid(1000)) .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + // Centrifuge out the impurities + GTValues.RA.stdBuilder() + .itemInputs(UNREFINED_THORIUM_SOLUTION.getCells(1)) + .itemOutputs(THORIUM_NITRATE_SOLUTION.getCells(1), THORIUM_ORE_IMPURITIES.getDust(1)) + .duration(10 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(centrifugeRecipes); - //15 Thoranite - 10 thorium ~ 1 uranium dust, sounds fair + // Impurity centrifuging GTValues.RA.stdBuilder() - .fluidInputs(LOW_URANIUM_SLUDGE.getFluid(1000)) - .itemOutputs( - URANIUM232.getDust(1), - URANIUM233.getDust(1), - URANIUM235.getDust(1), - URANIUM238.getDust(1) - ) - .fluidOutputs(NITRICACID.getFluid(1000)) - .outputChances(4000, 2000, 100, 1250) - .duration(20 * SECONDS) + .itemInputs(THORIUM_ORE_IMPURITIES.getDust(1)) + .itemOutputs(SILICONDIOXIDE.getDust(1), ALUMINIUMOXIDE.getDust(1), MAGNETITE.getDust(1), RAREEARTH.getDust(1)) + .outputChances(7500, 4500, 6000, 2500) + .duration(10 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(centrifugeRecipes); + // Reclaim the nitric acid and convert to dust GTValues.RA.stdBuilder() - .fluidInputs(THORIUM_NITRATE_SOLUTION.getFluid(1900)) - .itemInputs(WATER.getCells(2)) + .itemInputs(WATER.getCells(1), THORIUM_NITRATE_SOLUTION.getCells(1)) .itemOutputs(REFINED_THORIUM.getDust(1), EMPTY.getCells(2)) - .fluidOutputs(NITRICACID.getFluid(1890)) - .duration(10 * SECONDS) + .fluidOutputs(NITRICACID.getFluid(1000)) + .duration(5 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(chemicalReactorRecipes); - GTValues.RA.stdBuilder() - .fluidInputs(THORIUM_NITRATE_SOLUTION.getFluid(1900), WATER.getFluid(2000)) + .fluidInputs(WATER.getFluid(1000), THORIUM_NITRATE_SOLUTION.getFluid(1000)) .itemOutputs(REFINED_THORIUM.getDust(1)) - .fluidOutputs(NITRICACID.getFluid(1900)) - .duration(10 * SECONDS) + .fluidOutputs(NITRICACID.getFluid(1000)) + .duration(5 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(multiblockChemicalReactorRecipes); - - } private static void registerFuelRecipes() { + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_233_DIOXIDE.getDust(1), REFINED_THORIUM.getDust(15)) + .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(16)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_235_DIOXIDE.getDust(1), REFINED_THORIUM.getDust(11)) + .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(12)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(URANIUM_238_DIOXIDE.getDust(1), REFINED_THORIUM.getDust(7)) + .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(8)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(URANINITE.getDust(1), REFINED_THORIUM.getDust(3)) + .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(4)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + GTValues.RA.stdBuilder() .itemInputs(URANIUM_233_DIOXIDE.getDust(1), URANIUM_238_DIOXIDE.getDust(4)) .itemOutputs(ENRICHED_URANIUM_FUEL.getDust(5)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) + .eut(TierEU.RECIPE_HV) .addTo(mixerRecipes); GTValues.RA.stdBuilder() .itemInputs(URANIUM_235_DIOXIDE.getDust(1), URANIUM_238_DIOXIDE.getDust(4)) .itemOutputs(ENRICHED_URANIUM_FUEL.getDust(5)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) + .eut(TierEU.RECIPE_HV) .addTo(mixerRecipes); GTValues.RA.stdBuilder() - .itemInputs(URANIUM_233_DIOXIDE.getDust(1), REFINED_THORIUM.getDust(15)) - .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(16)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) + .itemInputs(PLUTONIUM_239_DIOXIDE.getDust(1), URANIUM_238_DIOXIDE.getDust(3)) + .itemOutputs(ENRICHED_MOX_FUEL.getDust(4)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) .addTo(mixerRecipes); GTValues.RA.stdBuilder() - .itemInputs(URANIUM_235_DIOXIDE.getDust(1), REFINED_THORIUM.getDust(15)) - .itemOutputs(ENRICHED_THORIUM_FUEL.getDust(16)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) + .itemInputs(PLUTONIUM_241_DIOXIDE.getDust(1), URANIUM_238_DIOXIDE.getDust(7)) + .itemOutputs(ENRICHED_MOX_FUEL.getDust(8)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) .addTo(mixerRecipes); } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelRodRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelRodRecipes.java index 0ac6937..7584513 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelRodRecipes.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/FuelRodRecipes.java @@ -1,25 +1,50 @@ package com.recursive_pineapple.nuclear_horizons.recipes; -import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.*; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_MOX_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_THORIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_URANIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_MOX_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_THORIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ENRICHED_URANIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.REFINED_THORIUM; +import static gregtech.api.enums.ItemList.DepletedRodMOX; +import static gregtech.api.enums.ItemList.DepletedRodMOX2; +import static gregtech.api.enums.ItemList.DepletedRodMOX4; +import static gregtech.api.enums.ItemList.DepletedRodThorium; +import static gregtech.api.enums.ItemList.DepletedRodThorium2; +import static gregtech.api.enums.ItemList.DepletedRodThorium4; +import static gregtech.api.enums.ItemList.DepletedRodUranium; +import static gregtech.api.enums.ItemList.DepletedRodUranium2; +import static gregtech.api.enums.ItemList.DepletedRodUranium4; +import static gregtech.api.enums.ItemList.RodMOX; +import static gregtech.api.enums.ItemList.RodMOX2; +import static gregtech.api.enums.ItemList.RodMOX4; +import static gregtech.api.enums.ItemList.RodThorium; +import static gregtech.api.enums.ItemList.RodThorium2; +import static gregtech.api.enums.ItemList.RodThorium4; +import static gregtech.api.enums.ItemList.RodUranium; +import static gregtech.api.enums.ItemList.RodUranium2; +import static gregtech.api.enums.ItemList.RodUranium4; import static gregtech.api.recipe.RecipeMaps.cannerRecipes; import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import net.minecraft.item.ItemStack; -import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; - -import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList; import goodgenerator.loader.Loaders; import gregtech.api.enums.GTValues; -import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.recipe.RecipeMaps; +import gregtech.api.util.GTUtility; +import gtPlusPlus.core.item.ModItems; public class FuelRodRecipes { public static void registerRecipes() { registerCanning(); registerRecyclingRecipes(); + registerFakeNukeRecipes(); } public static void registerCanning() { @@ -27,7 +52,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 1), ENRICHED_URANIUM_FUEL.getDust(4)) - .itemOutputs(new ItemStack(ItemList.URANIUM_1X_ROD, 1)) + .itemOutputs(RodUranium.get(1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -36,7 +61,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 2), ENRICHED_URANIUM_FUEL.getDust(8)) - .itemOutputs(new ItemStack(ItemList.URANIUM_2X_ROD, 1)) + .itemOutputs(RodUranium2.get(1)) .duration(40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -45,7 +70,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 4), ENRICHED_URANIUM_FUEL.getDust(16)) - .itemOutputs(new ItemStack(ItemList.URANIUM_4X_ROD, 1)) + .itemOutputs(RodUranium4.get(1)) .duration(80 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -54,7 +79,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 1), ENRICHED_THORIUM_FUEL.getDust(2)) - .itemOutputs(new ItemStack(ItemList.THORIUM_1X_ROD, 1)) + .itemOutputs(RodThorium.get(1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -63,7 +88,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 2), ENRICHED_THORIUM_FUEL.getDust(4)) - .itemOutputs(new ItemStack(ItemList.THORIUM_2X_ROD, 1)) + .itemOutputs(RodThorium2.get(1)) .duration(40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -72,7 +97,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 4), ENRICHED_THORIUM_FUEL.getDust(8)) - .itemOutputs(new ItemStack(ItemList.THORIUM_4X_ROD, 1)) + .itemOutputs(RodThorium4.get(1)) .duration(80 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -81,7 +106,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 1), ENRICHED_MOX_FUEL.getDust(4)) - .itemOutputs(new ItemStack(ItemList.MOX_1X_ROD, 1)) + .itemOutputs(RodMOX.get(1)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -90,7 +115,7 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 2), ENRICHED_MOX_FUEL.getDust(8)) - .itemOutputs(new ItemStack(ItemList.MOX_2X_ROD, 1)) + .itemOutputs(RodMOX2.get(1)) .duration(40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); @@ -99,15 +124,24 @@ public static void registerCanning() { .itemInputs( new ItemStack(Loaders.advancedFuelRod, 4), ENRICHED_MOX_FUEL.getDust(16)) - .itemOutputs(new ItemStack(ItemList.MOX_4X_ROD, 1)) + .itemOutputs(RodMOX4.get(1)) .duration(80 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(cannerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(Loaders.advancedFuelRod, 1), + REFINED_THORIUM.getDust(1)) + .itemOutputs(new ItemStack(NHItemList.THORIUM_BREEDER_ROD, 1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(cannerRecipes); } public static void registerRecyclingRecipes() { GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_URANIUM_1X_ROD, 1)) + .itemInputs(DepletedRodUranium.get(1)) .itemOutputs( DEPLETED_URANIUM_FUEL.getDust(4), new ItemStack(Loaders.advancedFuelRod, 1)) @@ -116,7 +150,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_URANIUM_2X_ROD, 1)) + .itemInputs(DepletedRodUranium2.get(1)) .itemOutputs( DEPLETED_URANIUM_FUEL.getDust(8), new ItemStack(Loaders.advancedFuelRod, 2)) @@ -125,7 +159,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_URANIUM_4X_ROD, 1)) + .itemInputs(DepletedRodUranium4.get(1)) .itemOutputs( DEPLETED_URANIUM_FUEL.getDust(16), new ItemStack(Loaders.advancedFuelRod, 4)) @@ -134,7 +168,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_THORIUM_1X_ROD, 1)) + .itemInputs(DepletedRodThorium.get(1)) .itemOutputs( DEPLETED_THORIUM_FUEL.getDust(4), new ItemStack(Loaders.advancedFuelRod, 1)) @@ -143,7 +177,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_THORIUM_2X_ROD, 1)) + .itemInputs(DepletedRodThorium2.get(1)) .itemOutputs( DEPLETED_THORIUM_FUEL.getDust(8), new ItemStack(Loaders.advancedFuelRod, 2)) @@ -152,7 +186,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_THORIUM_2X_ROD, 1)) + .itemInputs(DepletedRodThorium4.get(1)) .itemOutputs( DEPLETED_THORIUM_FUEL.getDust(16), new ItemStack(Loaders.advancedFuelRod, 4)) @@ -161,7 +195,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_MOX_ROD, 1)) + .itemInputs(DepletedRodMOX.get(1)) .itemOutputs( DEPLETED_MOX_FUEL.getDust(4), new ItemStack(Loaders.advancedFuelRod, 1)) @@ -170,7 +204,7 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_MOX_2X_ROD, 1)) + .itemInputs(DepletedRodMOX2.get(1)) .itemOutputs( DEPLETED_MOX_FUEL.getDust(8), new ItemStack(Loaders.advancedFuelRod, 2)) @@ -179,12 +213,38 @@ public static void registerRecyclingRecipes() { .addTo(thermalCentrifugeRecipes); GTValues.RA.stdBuilder() - .itemInputs(new ItemStack(ItemList.DEPLETED_MOX_4X_ROD, 1)) + .itemInputs(DepletedRodMOX4.get(1)) .itemOutputs( DEPLETED_MOX_FUEL.getDust(16), new ItemStack(Loaders.advancedFuelRod, 4)) .duration(80 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(thermalCentrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(NHItemList.THORIUM_BREEDER_ROD_FINISHED, 1)) + .itemOutputs( + new ItemStack(Loaders.advancedFuelRod, 1), + new ItemStack(ModItems.dustProtactinium233, 1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(thermalCentrifugeRecipes); + } + + private static void registerFakeNukeRecipes() { + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(NHItemList.THORIUM_BREEDER_ROD)) + .itemOutputs(new ItemStack(NHItemList.THORIUM_BREEDER_ROD_FINISHED)) + .setNEIDesc( + GTUtility.breakLines( + GTUtility.translate("GT5U.nei.nuclear.breeder.heat_neutral"), + GTUtility.translate( + "GT5U.nei.nuclear.breeder.reactor_hull_heat", + NHItemList.THORIUM_BREEDER_ROD.heatDivisor, + NHItemList.THORIUM_BREEDER_ROD.heatMultiplier), + GTUtility.translate("GT5U.nei.nuclear.breeder.required_pulse", NHItemList.THORIUM_BREEDER_ROD.maxNeutrons))) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/GTMats.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/GTMats.java index bdb97d7..fc631e6 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/GTMats.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/GTMats.java @@ -5,8 +5,6 @@ import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsChemical; import goodgenerator.items.GGMaterial; import gregtech.api.enums.Materials; -import gregtech.api.enums.MaterialsKevlar; -import gregtech.api.enums.MaterialsUEVplus; import gtPlusPlus.core.material.MaterialMisc; import gtPlusPlus.core.material.MaterialsAlloy; import gtPlusPlus.core.material.MaterialsElements; @@ -38,11 +36,12 @@ private GTMats() { } public static final MaterialWrapper CHROME = MaterialWrapper.of(() -> Materials.Chrome); public static final MaterialWrapper COBALT = MaterialWrapper.of(() -> Materials.Cobalt); public static final MaterialWrapper COPPER = MaterialWrapper.of(() -> Materials.Copper); - public static final MaterialWrapper DEUTERIUM = MaterialWrapper.of(() -> Materials.Deuterium); + public static final MaterialWrapper DESH = MaterialWrapper.of(() -> Materials.Desh); public static final MaterialWrapper DYSPROSIUM = MaterialWrapper.of(() -> Materials.Dysprosium); public static final MaterialWrapper EMPTY = MaterialWrapper.of(() -> Materials.Empty); public static final MaterialWrapper ERBIUM = MaterialWrapper.of(() -> Materials.Erbium); public static final MaterialWrapper EUROPIUM = MaterialWrapper.of(() -> Materials.Europium); + public static final MaterialWrapper FLEROVIUM = MaterialWrapper.of(() -> Materials.Flerovium); public static final MaterialWrapper FLUORINE = MaterialWrapper.of(() -> Materials.Fluorine); public static final MaterialWrapper GADOLINIUM = MaterialWrapper.of(() -> Materials.Gadolinium); public static final MaterialWrapper GALLIUM = MaterialWrapper.of(() -> Materials.Gallium); @@ -50,7 +49,6 @@ private GTMats() { } public static final MaterialWrapper HOLMIUM = MaterialWrapper.of(() -> Materials.Holmium); public static final MaterialWrapper HYDROGEN = MaterialWrapper.of(() -> Materials.Hydrogen); public static final MaterialWrapper HELIUM = MaterialWrapper.of(() -> Materials.Helium); - public static final MaterialWrapper HELIUM_3 = MaterialWrapper.of(() -> Materials.Helium_3); public static final MaterialWrapper INDIUM = MaterialWrapper.of(() -> Materials.Indium); public static final MaterialWrapper IRIDIUM = MaterialWrapper.of(() -> Materials.Iridium); public static final MaterialWrapper IRON = MaterialWrapper.of(() -> Materials.Iron); @@ -62,19 +60,22 @@ private GTMats() { } public static final MaterialWrapper MAGNESIUM = MaterialWrapper.of(() -> Materials.Magnesium); public static final MaterialWrapper MANGANESE = MaterialWrapper.of(() -> Materials.Manganese); public static final MaterialWrapper MERCURY = MaterialWrapper.of(() -> Materials.Mercury); + public static final MaterialWrapper METEORICIRON = MaterialWrapper.of(() -> Materials.MeteoricIron); public static final MaterialWrapper MOLYBDENUM = MaterialWrapper.of(() -> Materials.Molybdenum); + public static final MaterialWrapper NAQUADAH = MaterialWrapper.of(() -> Materials.Naquadah); public static final MaterialWrapper NEODYMIUM = MaterialWrapper.of(() -> Materials.Neodymium); public static final MaterialWrapper NEUTRONIUM = MaterialWrapper.of(() -> Materials.Neutronium); public static final MaterialWrapper NICKEL = MaterialWrapper.of(() -> Materials.Nickel); public static final MaterialWrapper NIOBIUM = MaterialWrapper.of(() -> Materials.Niobium); public static final MaterialWrapper NITROGEN = MaterialWrapper.of(() -> Materials.Nitrogen); + public static final MaterialWrapper _NULL = MaterialWrapper.of(() -> Materials._NULL); + public static final MaterialWrapper ORIHARUKON = MaterialWrapper.of(() -> Materials.Oriharukon); public static final MaterialWrapper OSMIUM = MaterialWrapper.of(() -> Materials.Osmium); public static final MaterialWrapper OXYGEN = MaterialWrapper.of(() -> Materials.Oxygen); public static final MaterialWrapper PALLADIUM = MaterialWrapper.of(() -> Materials.Palladium); public static final MaterialWrapper PHOSPHORUS = MaterialWrapper.of(() -> Materials.Phosphorus); public static final MaterialWrapper PLATINUM = MaterialWrapper.of(() -> Materials.Platinum); public static final MaterialWrapper PLUTONIUM = MaterialWrapper.of(() -> Materials.Plutonium); - public static final MaterialWrapper PLUTONIUM241 = MaterialWrapper.of(() -> Materials.Plutonium241); public static final MaterialWrapper POTASSIUM = MaterialWrapper.of(() -> Materials.Potassium); public static final MaterialWrapper PRASEODYMIUM = MaterialWrapper.of(() -> Materials.Praseodymium); public static final MaterialWrapper PROMETHIUM = MaterialWrapper.of(() -> Materials.Promethium); @@ -95,14 +96,18 @@ private GTMats() { } public static final MaterialWrapper TIN = MaterialWrapper.of(() -> Materials.Tin); public static final MaterialWrapper TITANIUM = MaterialWrapper.of(() -> Materials.Titanium); public static final MaterialWrapper TRITANIUM = MaterialWrapper.of(() -> Materials.Tritanium); - public static final MaterialWrapper TRITIUM = MaterialWrapper.of(() -> Materials.Tritium); public static final MaterialWrapper TUNGSTEN = MaterialWrapper.of(() -> Materials.Tungsten); public static final MaterialWrapper URANIUM = MaterialWrapper.of(() -> Materials.Uranium); - public static final MaterialWrapper URANIUM235 = MaterialWrapper.of(() -> Materials.Uranium235); public static final MaterialWrapper VANADIUM = MaterialWrapper.of(() -> Materials.Vanadium); public static final MaterialWrapper YTTERBIUM = MaterialWrapper.of(() -> Materials.Ytterbium); public static final MaterialWrapper YTTRIUM = MaterialWrapper.of(() -> Materials.Yttrium); public static final MaterialWrapper ZINC = MaterialWrapper.of(() -> Materials.Zinc); + public static final MaterialWrapper DEUTERIUM = MaterialWrapper.of(() -> Materials.Deuterium); + public static final MaterialWrapper HELIUM3 = MaterialWrapper.of(() -> Materials.Helium3); + public static final MaterialWrapper PLUTONIUM241 = MaterialWrapper.of(() -> Materials.Plutonium241); + public static final MaterialWrapper TRITIUM = MaterialWrapper.of(() -> Materials.Tritium); + public static final MaterialWrapper URANIUM235 = MaterialWrapper.of(() -> Materials.Uranium235); + public static final MaterialWrapper FLOCCULATIONWASTELIQUID = MaterialWrapper.of(() -> Materials.FlocculationWasteLiquid); public static final MaterialWrapper GRADE1PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade1PurifiedWater); public static final MaterialWrapper GRADE2PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade2PurifiedWater); public static final MaterialWrapper GRADE3PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade3PurifiedWater); @@ -111,41 +116,39 @@ private GTMats() { } public static final MaterialWrapper GRADE6PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade6PurifiedWater); public static final MaterialWrapper GRADE7PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade7PurifiedWater); public static final MaterialWrapper GRADE8PURIFIEDWATER = MaterialWrapper.of(() -> Materials.Grade8PurifiedWater); - public static final MaterialWrapper FLOCCULATIONWASTELIQUID = MaterialWrapper.of(() -> Materials.FlocculationWasteLiquid); - public static final MaterialWrapper FLEROVIUM = MaterialWrapper.of(() -> Materials.Flerovium); - public static final MaterialWrapper ORGANIC = MaterialWrapper.of(() -> Materials.Organic); - public static final MaterialWrapper ANYCOPPER = MaterialWrapper.of(() -> Materials.AnyCopper); public static final MaterialWrapper ANYBRONZE = MaterialWrapper.of(() -> Materials.AnyBronze); + public static final MaterialWrapper ANYCOPPER = MaterialWrapper.of(() -> Materials.AnyCopper); public static final MaterialWrapper ANYIRON = MaterialWrapper.of(() -> Materials.AnyIron); public static final MaterialWrapper ANYRUBBER = MaterialWrapper.of(() -> Materials.AnyRubber); public static final MaterialWrapper ANYSYNTHETICRUBBER = MaterialWrapper.of(() -> Materials.AnySyntheticRubber); + public static final MaterialWrapper BRICKNETHER = MaterialWrapper.of(() -> Materials.BrickNether); + public static final MaterialWrapper COBBLESTONE = MaterialWrapper.of(() -> Materials.Cobblestone); public static final MaterialWrapper CRYSTAL = MaterialWrapper.of(() -> Materials.Crystal); - public static final MaterialWrapper QUARTZ = MaterialWrapper.of(() -> Materials.Quartz); public static final MaterialWrapper METAL = MaterialWrapper.of(() -> Materials.Metal); + public static final MaterialWrapper ORGANIC = MaterialWrapper.of(() -> Materials.Organic); + public static final MaterialWrapper QUARTZ = MaterialWrapper.of(() -> Materials.Quartz); public static final MaterialWrapper UNKNOWN = MaterialWrapper.of(() -> Materials.Unknown); - public static final MaterialWrapper COBBLESTONE = MaterialWrapper.of(() -> Materials.Cobblestone); - public static final MaterialWrapper BRICKNETHER = MaterialWrapper.of(() -> Materials.BrickNether); - public static final MaterialWrapper SERPENTINE = MaterialWrapper.of(() -> Materials.Serpentine); - public static final MaterialWrapper FLUX = MaterialWrapper.of(() -> Materials.Flux); - public static final MaterialWrapper OSMIUMTETROXIDE = MaterialWrapper.of(() -> Materials.OsmiumTetroxide); - public static final MaterialWrapper RUBBERTREESAP = MaterialWrapper.of(() -> Materials.RubberTreeSap); - public static final MaterialWrapper PHASEDIRON = MaterialWrapper.of(() -> Materials.PhasedIron); - public static final MaterialWrapper PHASEDGOLD = MaterialWrapper.of(() -> Materials.PhasedGold); - public static final MaterialWrapper HEEENDIUM = MaterialWrapper.of(() -> Materials.HeeEndium); - public static final MaterialWrapper TESLATITE = MaterialWrapper.of(() -> Materials.Teslatite); - public static final MaterialWrapper FLUIX = MaterialWrapper.of(() -> Materials.Fluix); - public static final MaterialWrapper DARKTHAUMIUM = MaterialWrapper.of(() -> Materials.DarkThaumium); public static final MaterialWrapper ALFIUM = MaterialWrapper.of(() -> Materials.Alfium); - public static final MaterialWrapper MUTATION = MaterialWrapper.of(() -> Materials.Mutation); public static final MaterialWrapper AQUAMARINE = MaterialWrapper.of(() -> Materials.Aquamarine); + public static final MaterialWrapper DARKTHAUMIUM = MaterialWrapper.of(() -> Materials.DarkThaumium); + public static final MaterialWrapper DRACONIUM = MaterialWrapper.of(() -> Materials.Draconium); + public static final MaterialWrapper DRACONIUMAWAKENED = MaterialWrapper.of(() -> Materials.DraconiumAwakened); public static final MaterialWrapper ENDER = MaterialWrapper.of(() -> Materials.Ender); - public static final MaterialWrapper SODIUMPEROXIDE = MaterialWrapper.of(() -> Materials.SodiumPeroxide); + public static final MaterialWrapper ENDIUM = MaterialWrapper.of(() -> Materials.Endium); + public static final MaterialWrapper FLUIX = MaterialWrapper.of(() -> Materials.Fluix); + public static final MaterialWrapper FLUX = MaterialWrapper.of(() -> Materials.Flux); + public static final MaterialWrapper INFUSEDTESLATITE = MaterialWrapper.of(() -> Materials.InfusedTeslatite); public static final MaterialWrapper IRIDIUMSODIUMOXIDE = MaterialWrapper.of(() -> Materials.IridiumSodiumOxide); + public static final MaterialWrapper MUTATION = MaterialWrapper.of(() -> Materials.Mutation); + public static final MaterialWrapper OSMIUMTETROXIDE = MaterialWrapper.of(() -> Materials.OsmiumTetroxide); + public static final MaterialWrapper PHASEDGOLD = MaterialWrapper.of(() -> Materials.PhasedGold); + public static final MaterialWrapper PHASEDIRON = MaterialWrapper.of(() -> Materials.PhasedIron); public static final MaterialWrapper PLATINUMGROUPSLUDGE = MaterialWrapper.of(() -> Materials.PlatinumGroupSludge); - public static final MaterialWrapper DRACONIUM = MaterialWrapper.of(() -> Materials.Draconium); - public static final MaterialWrapper DRACONIUMAWAKENED = MaterialWrapper.of(() -> Materials.DraconiumAwakened); public static final MaterialWrapper PURPLEALLOY = MaterialWrapper.of(() -> Materials.PurpleAlloy); - public static final MaterialWrapper INFUSEDTESLATITE = MaterialWrapper.of(() -> Materials.InfusedTeslatite); + public static final MaterialWrapper RUBBERTREESAP = MaterialWrapper.of(() -> Materials.RubberTreeSap); + public static final MaterialWrapper SERPENTINE = MaterialWrapper.of(() -> Materials.Serpentine); + public static final MaterialWrapper SODIUMPEROXIDE = MaterialWrapper.of(() -> Materials.SodiumPeroxide); + public static final MaterialWrapper TESLATITE = MaterialWrapper.of(() -> Materials.Teslatite); public static final MaterialWrapper ADAMANTIUM = MaterialWrapper.of(() -> Materials.Adamantium); public static final MaterialWrapper ADAMITE = MaterialWrapper.of(() -> Materials.Adamite); public static final MaterialWrapper ADLUORITE = MaterialWrapper.of(() -> Materials.Adluorite); @@ -155,99 +158,72 @@ private GTMats() { } public static final MaterialWrapper AMMONIUM = MaterialWrapper.of(() -> Materials.Ammonium); public static final MaterialWrapper AMORDRINE = MaterialWrapper.of(() -> Materials.Amordrine); public static final MaterialWrapper ANDESITE = MaterialWrapper.of(() -> Materials.Andesite); - public static final MaterialWrapper ANGMALLEN = MaterialWrapper.of(() -> Materials.Angmallen); public static final MaterialWrapper ARDITE = MaterialWrapper.of(() -> Materials.Ardite); public static final MaterialWrapper AREDRITE = MaterialWrapper.of(() -> Materials.Aredrite); - public static final MaterialWrapper ATLARUS = MaterialWrapper.of(() -> Materials.Atlarus); public static final MaterialWrapper BITUMEN = MaterialWrapper.of(() -> Materials.Bitumen); public static final MaterialWrapper BLACK = MaterialWrapper.of(() -> Materials.Black); public static final MaterialWrapper BLIZZ = MaterialWrapper.of(() -> Materials.Blizz); - public static final MaterialWrapper BLUESCHIST = MaterialWrapper.of(() -> Materials.Blueschist); - public static final MaterialWrapper BLUESTONE = MaterialWrapper.of(() -> Materials.Bluestone); public static final MaterialWrapper BLOODSTONE = MaterialWrapper.of(() -> Materials.Bloodstone); + public static final MaterialWrapper BLUESTONE = MaterialWrapper.of(() -> Materials.Bluestone); public static final MaterialWrapper BLUTONIUM = MaterialWrapper.of(() -> Materials.Blutonium); - public static final MaterialWrapper CARMOT = MaterialWrapper.of(() -> Materials.Carmot); - public static final MaterialWrapper CELENEGIL = MaterialWrapper.of(() -> Materials.Celenegil); public static final MaterialWrapper CERTUSQUARTZ = MaterialWrapper.of(() -> Materials.CertusQuartz); public static final MaterialWrapper CERTUSQUARTZCHARGED = MaterialWrapper.of(() -> Materials.CertusQuartzCharged); public static final MaterialWrapper CERUCLASE = MaterialWrapper.of(() -> Materials.Ceruclase); + public static final MaterialWrapper CHIMERITE = MaterialWrapper.of(() -> Materials.Chimerite); + public static final MaterialWrapper CHRYSOCOLLA = MaterialWrapper.of(() -> Materials.Chrysocolla); public static final MaterialWrapper CITRINE = MaterialWrapper.of(() -> Materials.Citrine); public static final MaterialWrapper COBALTHEXAHYDRATE = MaterialWrapper.of(() -> Materials.CobaltHexahydrate); public static final MaterialWrapper CONSTRUCTIONFOAM = MaterialWrapper.of(() -> Materials.ConstructionFoam); - public static final MaterialWrapper CHERT = MaterialWrapper.of(() -> Materials.Chert); - public static final MaterialWrapper CHIMERITE = MaterialWrapper.of(() -> Materials.Chimerite); public static final MaterialWrapper CORAL = MaterialWrapper.of(() -> Materials.Coral); public static final MaterialWrapper CRUDEOIL = MaterialWrapper.of(() -> Materials.CrudeOil); - public static final MaterialWrapper CHRYSOCOLLA = MaterialWrapper.of(() -> Materials.Chrysocolla); public static final MaterialWrapper CRYSTALFLUX = MaterialWrapper.of(() -> Materials.CrystalFlux); public static final MaterialWrapper CYANITE = MaterialWrapper.of(() -> Materials.Cyanite); - public static final MaterialWrapper DACITE = MaterialWrapper.of(() -> Materials.Dacite); public static final MaterialWrapper DARKIRON = MaterialWrapper.of(() -> Materials.DarkIron); public static final MaterialWrapper DARKSTONE = MaterialWrapper.of(() -> Materials.DarkStone); public static final MaterialWrapper DEMONITE = MaterialWrapper.of(() -> Materials.Demonite); - public static final MaterialWrapper DESH = MaterialWrapper.of(() -> Materials.Desh); public static final MaterialWrapper DESICHALKOS = MaterialWrapper.of(() -> Materials.Desichalkos); public static final MaterialWrapper DILITHIUM = MaterialWrapper.of(() -> Materials.Dilithium); public static final MaterialWrapper DRACONIC = MaterialWrapper.of(() -> Materials.Draconic); public static final MaterialWrapper DRULLOY = MaterialWrapper.of(() -> Materials.Drulloy); public static final MaterialWrapper DURANIUM = MaterialWrapper.of(() -> Materials.Duranium); - public static final MaterialWrapper ECLOGITE = MaterialWrapper.of(() -> Materials.Eclogite); public static final MaterialWrapper ELECTRUMFLUX = MaterialWrapper.of(() -> Materials.ElectrumFlux); public static final MaterialWrapper EMERY = MaterialWrapper.of(() -> Materials.Emery); public static final MaterialWrapper ENDERIUMBASE = MaterialWrapper.of(() -> Materials.EnderiumBase); public static final MaterialWrapper ENERGIZED = MaterialWrapper.of(() -> Materials.Energized); -// public static final MaterialWrapper EPIDOTE = MaterialWrapper.of(() -> Materials.Epidote); I think this is depricated, but not sure what its replaced by - public static final MaterialWrapper EXIMITE = MaterialWrapper.of(() -> Materials.Eximite); public static final MaterialWrapper FIERYSTEEL = MaterialWrapper.of(() -> Materials.FierySteel); public static final MaterialWrapper FIRESTONE = MaterialWrapper.of(() -> Materials.Firestone); public static final MaterialWrapper FLUORITE = MaterialWrapper.of(() -> Materials.Fluorite); - public static final MaterialWrapper FOOLSRUBY = MaterialWrapper.of(() -> Materials.FoolsRuby); public static final MaterialWrapper FORCE = MaterialWrapper.of(() -> Materials.Force); public static final MaterialWrapper FORCICIUM = MaterialWrapper.of(() -> Materials.Forcicium); public static final MaterialWrapper FORCILLIUM = MaterialWrapper.of(() -> Materials.Forcillium); - public static final MaterialWrapper GABBRO = MaterialWrapper.of(() -> Materials.Gabbro); public static final MaterialWrapper GLOWSTONE = MaterialWrapper.of(() -> Materials.Glowstone); - public static final MaterialWrapper GNEISS = MaterialWrapper.of(() -> Materials.Gneiss); - public static final MaterialWrapper GRAPHITE = MaterialWrapper.of(() -> Materials.Graphite); public static final MaterialWrapper GRAPHENE = MaterialWrapper.of(() -> Materials.Graphene); - public static final MaterialWrapper GREENSCHIST = MaterialWrapper.of(() -> Materials.Greenschist); + public static final MaterialWrapper GRAPHITE = MaterialWrapper.of(() -> Materials.Graphite); public static final MaterialWrapper GREENSTONE = MaterialWrapper.of(() -> Materials.Greenstone); - public static final MaterialWrapper GREYWACKE = MaterialWrapper.of(() -> Materials.Greywacke); - public static final MaterialWrapper HADEROTH = MaterialWrapper.of(() -> Materials.Haderoth); public static final MaterialWrapper HEMATITE = MaterialWrapper.of(() -> Materials.Hematite); - public static final MaterialWrapper HEPATIZON = MaterialWrapper.of(() -> Materials.Hepatizon); public static final MaterialWrapper HSLA = MaterialWrapper.of(() -> Materials.HSLA); - public static final MaterialWrapper IGNATIUS = MaterialWrapper.of(() -> Materials.Ignatius); public static final MaterialWrapper INFERNAL = MaterialWrapper.of(() -> Materials.Infernal); - public static final MaterialWrapper INFUSCOLIUM = MaterialWrapper.of(() -> Materials.Infuscolium); - public static final MaterialWrapper INFUSEDGOLD = MaterialWrapper.of(() -> Materials.InfusedGold); public static final MaterialWrapper INFUSEDAIR = MaterialWrapper.of(() -> Materials.InfusedAir); - public static final MaterialWrapper INFUSEDFIRE = MaterialWrapper.of(() -> Materials.InfusedFire); + public static final MaterialWrapper INFUSEDDULL = MaterialWrapper.of(() -> Materials.InfusedDull); public static final MaterialWrapper INFUSEDEARTH = MaterialWrapper.of(() -> Materials.InfusedEarth); - public static final MaterialWrapper INFUSEDWATER = MaterialWrapper.of(() -> Materials.InfusedWater); public static final MaterialWrapper INFUSEDENTROPY = MaterialWrapper.of(() -> Materials.InfusedEntropy); + public static final MaterialWrapper INFUSEDFIRE = MaterialWrapper.of(() -> Materials.InfusedFire); + public static final MaterialWrapper INFUSEDGOLD = MaterialWrapper.of(() -> Materials.InfusedGold); public static final MaterialWrapper INFUSEDORDER = MaterialWrapper.of(() -> Materials.InfusedOrder); public static final MaterialWrapper INFUSEDVIS = MaterialWrapper.of(() -> Materials.InfusedVis); - public static final MaterialWrapper INFUSEDDULL = MaterialWrapper.of(() -> Materials.InfusedDull); - public static final MaterialWrapper INOLASHITE = MaterialWrapper.of(() -> Materials.Inolashite); + public static final MaterialWrapper INFUSEDWATER = MaterialWrapper.of(() -> Materials.InfusedWater); public static final MaterialWrapper INVISIUM = MaterialWrapper.of(() -> Materials.Invisium); public static final MaterialWrapper JADE = MaterialWrapper.of(() -> Materials.Jade); - public static final MaterialWrapper KALENDRITE = MaterialWrapper.of(() -> Materials.Kalendrite); - public static final MaterialWrapper KOMATIITE = MaterialWrapper.of(() -> Materials.Komatiite); public static final MaterialWrapper LAVA = MaterialWrapper.of(() -> Materials.Lava); - public static final MaterialWrapper LEMURITE = MaterialWrapper.of(() -> Materials.Lemurite); public static final MaterialWrapper LIMESTONE = MaterialWrapper.of(() -> Materials.Limestone); public static final MaterialWrapper MAGMA = MaterialWrapper.of(() -> Materials.Magma); public static final MaterialWrapper MAWSITSIT = MaterialWrapper.of(() -> Materials.Mawsitsit); public static final MaterialWrapper MERCASSIUM = MaterialWrapper.of(() -> Materials.Mercassium); - public static final MaterialWrapper METEORICIRON = MaterialWrapper.of(() -> Materials.MeteoricIron); public static final MaterialWrapper METEORICSTEEL = MaterialWrapper.of(() -> Materials.MeteoricSteel); public static final MaterialWrapper METEORITE = MaterialWrapper.of(() -> Materials.Meteorite); - public static final MaterialWrapper MEUTOITE = MaterialWrapper.of(() -> Materials.Meutoite); public static final MaterialWrapper MIGMATITE = MaterialWrapper.of(() -> Materials.Migmatite); public static final MaterialWrapper MIMICHITE = MaterialWrapper.of(() -> Materials.Mimichite); public static final MaterialWrapper MOONSTONE = MaterialWrapper.of(() -> Materials.Moonstone); - public static final MaterialWrapper NAQUADAH = MaterialWrapper.of(() -> Materials.Naquadah); public static final MaterialWrapper NAQUADAHALLOY = MaterialWrapper.of(() -> Materials.NaquadahAlloy); public static final MaterialWrapper NAQUADAHENRICHED = MaterialWrapper.of(() -> Materials.NaquadahEnriched); public static final MaterialWrapper NAQUADRIA = MaterialWrapper.of(() -> Materials.Naquadria); @@ -260,20 +236,17 @@ private GTMats() { } public static final MaterialWrapper ONYX = MaterialWrapper.of(() -> Materials.Onyx); public static final MaterialWrapper ORICHALCUM = MaterialWrapper.of(() -> Materials.Orichalcum); public static final MaterialWrapper OSMONIUM = MaterialWrapper.of(() -> Materials.Osmonium); - public static final MaterialWrapper OURECLASE = MaterialWrapper.of(() -> Materials.Oureclase); public static final MaterialWrapper PAINITE = MaterialWrapper.of(() -> Materials.Painite); public static final MaterialWrapper PEANUTWOOD = MaterialWrapper.of(() -> Materials.Peanutwood); public static final MaterialWrapper PETROLEUM = MaterialWrapper.of(() -> Materials.Petroleum); public static final MaterialWrapper PEWTER = MaterialWrapper.of(() -> Materials.Pewter); public static final MaterialWrapper PHOENIXITE = MaterialWrapper.of(() -> Materials.Phoenixite); - public static final MaterialWrapper PROMETHEUM = MaterialWrapper.of(() -> Materials.Prometheum); public static final MaterialWrapper QUARTZITE = MaterialWrapper.of(() -> Materials.Quartzite); public static final MaterialWrapper RANDOMITE = MaterialWrapper.of(() -> Materials.Randomite); - public static final MaterialWrapper RHYOLITE = MaterialWrapper.of(() -> Materials.Rhyolite); public static final MaterialWrapper RUBRACIUM = MaterialWrapper.of(() -> Materials.Rubracium); public static final MaterialWrapper SAND = MaterialWrapper.of(() -> Materials.Sand); - public static final MaterialWrapper SANGUINITE = MaterialWrapper.of(() -> Materials.Sanguinite); public static final MaterialWrapper SILTSTONE = MaterialWrapper.of(() -> Materials.Siltstone); + public static final MaterialWrapper SPINEL = MaterialWrapper.of(() -> Materials.Spinel); public static final MaterialWrapper SUNSTONE = MaterialWrapper.of(() -> Materials.Sunstone); public static final MaterialWrapper TAR = MaterialWrapper.of(() -> Materials.Tar); public static final MaterialWrapper TARTARITE = MaterialWrapper.of(() -> Materials.Tartarite); @@ -285,9 +258,29 @@ private GTMats() { } public static final MaterialWrapper VYROXERES = MaterialWrapper.of(() -> Materials.Vyroxeres); public static final MaterialWrapper YELLORIUM = MaterialWrapper.of(() -> Materials.Yellorium); public static final MaterialWrapper ZECTIUM = MaterialWrapper.of(() -> Materials.Zectium); + public static final MaterialWrapper ULV = MaterialWrapper.of(() -> Materials.ULV); + public static final MaterialWrapper LV = MaterialWrapper.of(() -> Materials.LV); + public static final MaterialWrapper MV = MaterialWrapper.of(() -> Materials.MV); + public static final MaterialWrapper HV = MaterialWrapper.of(() -> Materials.HV); + public static final MaterialWrapper EV = MaterialWrapper.of(() -> Materials.EV); + public static final MaterialWrapper IV = MaterialWrapper.of(() -> Materials.IV); + public static final MaterialWrapper LUV = MaterialWrapper.of(() -> Materials.LuV); + public static final MaterialWrapper ZPM = MaterialWrapper.of(() -> Materials.ZPM); + public static final MaterialWrapper UV = MaterialWrapper.of(() -> Materials.UV); + public static final MaterialWrapper UHV = MaterialWrapper.of(() -> Materials.UHV); + public static final MaterialWrapper UEV = MaterialWrapper.of(() -> Materials.UEV); + public static final MaterialWrapper UIV = MaterialWrapper.of(() -> Materials.UIV); + public static final MaterialWrapper UMV = MaterialWrapper.of(() -> Materials.UMV); + public static final MaterialWrapper UXV = MaterialWrapper.of(() -> Materials.UXV); + public static final MaterialWrapper MAX = MaterialWrapper.of(() -> Materials.MAX); + public static final MaterialWrapper RESISTOR = MaterialWrapper.of(() -> Materials.Resistor); + public static final MaterialWrapper DIODE = MaterialWrapper.of(() -> Materials.Diode); + public static final MaterialWrapper TRANSISTOR = MaterialWrapper.of(() -> Materials.Transistor); + public static final MaterialWrapper CAPACITOR = MaterialWrapper.of(() -> Materials.Capacitor); + public static final MaterialWrapper INDUCTOR = MaterialWrapper.of(() -> Materials.Inductor); + public static final MaterialWrapper NANO = MaterialWrapper.of(() -> Materials.Nano); + public static final MaterialWrapper PIKO = MaterialWrapper.of(() -> Materials.Piko); public static final MaterialWrapper ANTIMATTER = MaterialWrapper.of(() -> Materials.Antimatter); - public static final MaterialWrapper PROTOMATTER = MaterialWrapper.of(() -> Materials.Protomatter); - public static final MaterialWrapper ADVANCEDGLUE = MaterialWrapper.of(() -> Materials.AdvancedGlue); public static final MaterialWrapper BIOMASS = MaterialWrapper.of(() -> Materials.Biomass); public static final MaterialWrapper CHARCOALBYPRODUCTS = MaterialWrapper.of(() -> Materials.CharcoalByproducts); public static final MaterialWrapper CHEESE = MaterialWrapper.of(() -> Materials.Cheese); @@ -298,19 +291,20 @@ private GTMats() { } public static final MaterialWrapper COCOA = MaterialWrapper.of(() -> Materials.Cocoa); public static final MaterialWrapper COFFEE = MaterialWrapper.of(() -> Materials.Coffee); public static final MaterialWrapper CREOSOTE = MaterialWrapper.of(() -> Materials.Creosote); + public static final MaterialWrapper DIESEL = MaterialWrapper.of(() -> Materials.Diesel); public static final MaterialWrapper ETHANOL = MaterialWrapper.of(() -> Materials.Ethanol); - public static final MaterialWrapper FISHOIL = MaterialWrapper.of(() -> Materials.FishOil); public static final MaterialWrapper FERMENTEDBIOMASS = MaterialWrapper.of(() -> Materials.FermentedBiomass); - public static final MaterialWrapper FUEL = MaterialWrapper.of(() -> Materials.Fuel); + public static final MaterialWrapper FISHOIL = MaterialWrapper.of(() -> Materials.FishOil); + public static final MaterialWrapper FRYINGOILHOT = MaterialWrapper.of(() -> Materials.FryingOilHot); public static final MaterialWrapper GLUE = MaterialWrapper.of(() -> Materials.Glue); + public static final MaterialWrapper GLUEADVANCED = MaterialWrapper.of(() -> Materials.GlueAdvanced); public static final MaterialWrapper GUNPOWDER = MaterialWrapper.of(() -> Materials.Gunpowder); - public static final MaterialWrapper FRYINGOILHOT = MaterialWrapper.of(() -> Materials.FryingOilHot); public static final MaterialWrapper HONEY = MaterialWrapper.of(() -> Materials.Honey); public static final MaterialWrapper LEATHER = MaterialWrapper.of(() -> Materials.Leather); public static final MaterialWrapper LUBRICANT = MaterialWrapper.of(() -> Materials.Lubricant); public static final MaterialWrapper MCGUFFIUM239 = MaterialWrapper.of(() -> Materials.McGuffium239); - public static final MaterialWrapper MEATRAW = MaterialWrapper.of(() -> Materials.MeatRaw); public static final MaterialWrapper MEATCOOKED = MaterialWrapper.of(() -> Materials.MeatCooked); + public static final MaterialWrapper MEATRAW = MaterialWrapper.of(() -> Materials.MeatRaw); public static final MaterialWrapper MILK = MaterialWrapper.of(() -> Materials.Milk); public static final MaterialWrapper MUD = MaterialWrapper.of(() -> Materials.Mud); public static final MaterialWrapper OIL = MaterialWrapper.of(() -> Materials.Oil); @@ -325,59 +319,65 @@ private GTMats() { } public static final MaterialWrapper STONE = MaterialWrapper.of(() -> Materials.Stone); public static final MaterialWrapper TNT = MaterialWrapper.of(() -> Materials.TNT); public static final MaterialWrapper UNSTABLE = MaterialWrapper.of(() -> Materials.Unstable); - public static final MaterialWrapper UNSTABLEINGOT = MaterialWrapper.of(() -> Materials.Unstableingot); + public static final MaterialWrapper UNSTABLEINGOT = MaterialWrapper.of(() -> Materials.UnstableIngot); public static final MaterialWrapper VINEGAR = MaterialWrapper.of(() -> Materials.Vinegar); + public static final MaterialWrapper WEEDEX9000 = MaterialWrapper.of(() -> Materials.WeedEX9000); public static final MaterialWrapper WHEAT = MaterialWrapper.of(() -> Materials.Wheat); public static final MaterialWrapper WOODGAS = MaterialWrapper.of(() -> Materials.WoodGas); public static final MaterialWrapper WOODTAR = MaterialWrapper.of(() -> Materials.WoodTar); public static final MaterialWrapper WOODVINEGAR = MaterialWrapper.of(() -> Materials.WoodVinegar); - public static final MaterialWrapper WEEDEX9000 = MaterialWrapper.of(() -> Materials.WeedEX9000); public static final MaterialWrapper ALUMINIUMBRASS = MaterialWrapper.of(() -> Materials.AluminiumBrass); - public static final MaterialWrapper OSMIRIDIUM = MaterialWrapper.of(() -> Materials.Osmiridium); - public static final MaterialWrapper SUNNARIUM = MaterialWrapper.of(() -> Materials.Sunnarium); public static final MaterialWrapper ENDSTONE = MaterialWrapper.of(() -> Materials.Endstone); public static final MaterialWrapper NETHERRACK = MaterialWrapper.of(() -> Materials.Netherrack); + public static final MaterialWrapper OSMIRIDIUM = MaterialWrapper.of(() -> Materials.Osmiridium); public static final MaterialWrapper SOULSAND = MaterialWrapper.of(() -> Materials.SoulSand); - public static final MaterialWrapper METHANE = MaterialWrapper.of(() -> Materials.Methane); - public static final MaterialWrapper CARBONDIOXIDE = MaterialWrapper.of(() -> Materials.CarbonDioxide); - public static final MaterialWrapper NOBLEGASES = MaterialWrapper.of(() -> Materials.NobleGases); + public static final MaterialWrapper SUNNARIUM = MaterialWrapper.of(() -> Materials.Sunnarium); + public static final MaterialWrapper ACETICACID = MaterialWrapper.of(() -> Materials.AceticAcid); + public static final MaterialWrapper ACETONE = MaterialWrapper.of(() -> Materials.Acetone); public static final MaterialWrapper AIR = MaterialWrapper.of(() -> Materials.Air); - public static final MaterialWrapper LIQUIDAIR = MaterialWrapper.of(() -> Materials.LiquidAir); - public static final MaterialWrapper LIQUIDNITROGEN = MaterialWrapper.of(() -> Materials.LiquidNitrogen); - public static final MaterialWrapper LIQUIDOXYGEN = MaterialWrapper.of(() -> Materials.LiquidOxygen); - public static final MaterialWrapper SILICONDIOXIDE = MaterialWrapper.of(() -> Materials.SiliconDioxide); - public static final MaterialWrapper JASPER = MaterialWrapper.of(() -> Materials.Jasper); + public static final MaterialWrapper ALLYLCHLORIDE = MaterialWrapper.of(() -> Materials.AllylChloride); public static final MaterialWrapper ALMANDINE = MaterialWrapper.of(() -> Materials.Almandine); + public static final MaterialWrapper AMMONIA = MaterialWrapper.of(() -> Materials.Ammonia); public static final MaterialWrapper ANDRADITE = MaterialWrapper.of(() -> Materials.Andradite); public static final MaterialWrapper ANNEALEDCOPPER = MaterialWrapper.of(() -> Materials.AnnealedCopper); + public static final MaterialWrapper ANTIMONYTRIOXIDE = MaterialWrapper.of(() -> Materials.AntimonyTrioxide); + public static final MaterialWrapper ARSENICTRIOXIDE = MaterialWrapper.of(() -> Materials.ArsenicTrioxide); public static final MaterialWrapper ASBESTOS = MaterialWrapper.of(() -> Materials.Asbestos); public static final MaterialWrapper ASH = MaterialWrapper.of(() -> Materials.Ash); + public static final MaterialWrapper ASHDARK = MaterialWrapper.of(() -> Materials.AshDark); public static final MaterialWrapper BANDEDIRON = MaterialWrapper.of(() -> Materials.BandedIron); public static final MaterialWrapper BATTERYALLOY = MaterialWrapper.of(() -> Materials.BatteryAlloy); + public static final MaterialWrapper BENZENE = MaterialWrapper.of(() -> Materials.Benzene); public static final MaterialWrapper BLUETOPAZ = MaterialWrapper.of(() -> Materials.BlueTopaz); public static final MaterialWrapper BONE = MaterialWrapper.of(() -> Materials.Bone); public static final MaterialWrapper BRASS = MaterialWrapper.of(() -> Materials.Brass); + public static final MaterialWrapper BRICK = MaterialWrapper.of(() -> Materials.Brick); public static final MaterialWrapper BRONZE = MaterialWrapper.of(() -> Materials.Bronze); public static final MaterialWrapper BROWNLIMONITE = MaterialWrapper.of(() -> Materials.BrownLimonite); public static final MaterialWrapper CALCITE = MaterialWrapper.of(() -> Materials.Calcite); + public static final MaterialWrapper CARBONDIOXIDE = MaterialWrapper.of(() -> Materials.CarbonDioxide); public static final MaterialWrapper CASSITERITE = MaterialWrapper.of(() -> Materials.Cassiterite); public static final MaterialWrapper CASSITERITESAND = MaterialWrapper.of(() -> Materials.CassiteriteSand); public static final MaterialWrapper CHALCOPYRITE = MaterialWrapper.of(() -> Materials.Chalcopyrite); public static final MaterialWrapper CHARCOAL = MaterialWrapper.of(() -> Materials.Charcoal); + public static final MaterialWrapper CHLOROBENZENE = MaterialWrapper.of(() -> Materials.Chlorobenzene); public static final MaterialWrapper CHROMITE = MaterialWrapper.of(() -> Materials.Chromite); public static final MaterialWrapper CHROMIUMDIOXIDE = MaterialWrapper.of(() -> Materials.ChromiumDioxide); public static final MaterialWrapper CINNABAR = MaterialWrapper.of(() -> Materials.Cinnabar); - public static final MaterialWrapper WATER = MaterialWrapper.of(() -> Materials.Water); - public static final MaterialWrapper CLAY = MaterialWrapper.of(() -> Materials.Clay); public static final MaterialWrapper COAL = MaterialWrapper.of(() -> Materials.Coal); + public static final MaterialWrapper COBALTOXIDE = MaterialWrapper.of(() -> Materials.CobaltOxide); public static final MaterialWrapper COBALTITE = MaterialWrapper.of(() -> Materials.Cobaltite); public static final MaterialWrapper COOPERITE = MaterialWrapper.of(() -> Materials.Cooperite); + public static final MaterialWrapper CUPRICOXIDE = MaterialWrapper.of(() -> Materials.CupricOxide); public static final MaterialWrapper CUPRONICKEL = MaterialWrapper.of(() -> Materials.Cupronickel); - public static final MaterialWrapper DARKASH = MaterialWrapper.of(() -> Materials.DarkAsh); public static final MaterialWrapper DEEPIRON = MaterialWrapper.of(() -> Materials.DeepIron); public static final MaterialWrapper DIAMOND = MaterialWrapper.of(() -> Materials.Diamond); + public static final MaterialWrapper DILUTEDHYDROCHLORICACID = MaterialWrapper.of(() -> Materials.DilutedHydrochloricAcid); public static final MaterialWrapper ELECTRUM = MaterialWrapper.of(() -> Materials.Electrum); public static final MaterialWrapper EMERALD = MaterialWrapper.of(() -> Materials.Emerald); + public static final MaterialWrapper EPOXID = MaterialWrapper.of(() -> Materials.Epoxid); + public static final MaterialWrapper FERRITEMIXTURE = MaterialWrapper.of(() -> Materials.FerriteMixture); + public static final MaterialWrapper FERROSILITE = MaterialWrapper.of(() -> Materials.Ferrosilite); public static final MaterialWrapper FRESHWATER = MaterialWrapper.of(() -> Materials.FreshWater); public static final MaterialWrapper GALENA = MaterialWrapper.of(() -> Materials.Galena); public static final MaterialWrapper GARNIERITE = MaterialWrapper.of(() -> Materials.Garnierite); @@ -385,168 +385,165 @@ private GTMats() { } public static final MaterialWrapper GREENSAPPHIRE = MaterialWrapper.of(() -> Materials.GreenSapphire); public static final MaterialWrapper GROSSULAR = MaterialWrapper.of(() -> Materials.Grossular); public static final MaterialWrapper HOLYWATER = MaterialWrapper.of(() -> Materials.HolyWater); + public static final MaterialWrapper HYDRICSULFIDE = MaterialWrapper.of(() -> Materials.HydricSulfide); public static final MaterialWrapper ICE = MaterialWrapper.of(() -> Materials.Ice); public static final MaterialWrapper ILMENITE = MaterialWrapper.of(() -> Materials.Ilmenite); - public static final MaterialWrapper RUTILE = MaterialWrapper.of(() -> Materials.Rutile); - public static final MaterialWrapper BAUXITE = MaterialWrapper.of(() -> Materials.Bauxite); - public static final MaterialWrapper TITANIUMTETRACHLORIDE = MaterialWrapper.of(() -> Materials.Titaniumtetrachloride); - public static final MaterialWrapper MAGNESIUMCHLORIDE = MaterialWrapper.of(() -> Materials.Magnesiumchloride); public static final MaterialWrapper INVAR = MaterialWrapper.of(() -> Materials.Invar); public static final MaterialWrapper KANTHAL = MaterialWrapper.of(() -> Materials.Kanthal); public static final MaterialWrapper LAZURITE = MaterialWrapper.of(() -> Materials.Lazurite); + public static final MaterialWrapper LIQUIDNITROGEN = MaterialWrapper.of(() -> Materials.LiquidNitrogen); + public static final MaterialWrapper LIQUIDOXYGEN = MaterialWrapper.of(() -> Materials.LiquidOxygen); public static final MaterialWrapper MAGNALIUM = MaterialWrapper.of(() -> Materials.Magnalium); + public static final MaterialWrapper MAGNESIA = MaterialWrapper.of(() -> Materials.Magnesia); public static final MaterialWrapper MAGNESITE = MaterialWrapper.of(() -> Materials.Magnesite); + public static final MaterialWrapper MAGNESIUMCHLORIDE = MaterialWrapper.of(() -> Materials.Magnesiumchloride); public static final MaterialWrapper MAGNETITE = MaterialWrapper.of(() -> Materials.Magnetite); + public static final MaterialWrapper MASSICOT = MaterialWrapper.of(() -> Materials.Massicot); + public static final MaterialWrapper METHANE = MaterialWrapper.of(() -> Materials.Methane); public static final MaterialWrapper MOLYBDENITE = MaterialWrapper.of(() -> Materials.Molybdenite); public static final MaterialWrapper NICHROME = MaterialWrapper.of(() -> Materials.Nichrome); + public static final MaterialWrapper NICKELZINCFERRITE = MaterialWrapper.of(() -> Materials.NickelZincFerrite); public static final MaterialWrapper NIOBIUMNITRIDE = MaterialWrapper.of(() -> Materials.NiobiumNitride); public static final MaterialWrapper NIOBIUMTITANIUM = MaterialWrapper.of(() -> Materials.NiobiumTitanium); public static final MaterialWrapper NITROCARBON = MaterialWrapper.of(() -> Materials.NitroCarbon); public static final MaterialWrapper NITROGENDIOXIDE = MaterialWrapper.of(() -> Materials.NitrogenDioxide); + public static final MaterialWrapper NOBLEGASES = MaterialWrapper.of(() -> Materials.NobleGases); public static final MaterialWrapper OBSIDIAN = MaterialWrapper.of(() -> Materials.Obsidian); public static final MaterialWrapper PHOSPHATE = MaterialWrapper.of(() -> Materials.Phosphate); public static final MaterialWrapper PIGIRON = MaterialWrapper.of(() -> Materials.PigIron); - public static final MaterialWrapper PLASTIC = MaterialWrapper.of(() -> Materials.Plastic); - public static final MaterialWrapper EPOXID = MaterialWrapper.of(() -> Materials.Epoxid); - public static final MaterialWrapper POLYDIMETHYLSILOXANE = MaterialWrapper.of(() -> Materials.Polydimethylsiloxane); - public static final MaterialWrapper SILICONE = MaterialWrapper.of(() -> Materials.Silicone); public static final MaterialWrapper POLYCAPROLACTAM = MaterialWrapper.of(() -> Materials.Polycaprolactam); + public static final MaterialWrapper POLYDIMETHYLSILOXANE = MaterialWrapper.of(() -> Materials.Polydimethylsiloxane); + public static final MaterialWrapper POLYETHYLENE = MaterialWrapper.of(() -> Materials.Polyethylene); public static final MaterialWrapper POLYTETRAFLUOROETHYLENE = MaterialWrapper.of(() -> Materials.Polytetrafluoroethylene); + public static final MaterialWrapper POTASH = MaterialWrapper.of(() -> Materials.Potash); public static final MaterialWrapper POWELLITE = MaterialWrapper.of(() -> Materials.Powellite); public static final MaterialWrapper PUMICE = MaterialWrapper.of(() -> Materials.Pumice); public static final MaterialWrapper PYRITE = MaterialWrapper.of(() -> Materials.Pyrite); + public static final MaterialWrapper PYROCHLORE = MaterialWrapper.of(() -> Materials.Pyrochlore); public static final MaterialWrapper PYROLUSITE = MaterialWrapper.of(() -> Materials.Pyrolusite); public static final MaterialWrapper PYROPE = MaterialWrapper.of(() -> Materials.Pyrope); + public static final MaterialWrapper QUICKLIME = MaterialWrapper.of(() -> Materials.Quicklime); public static final MaterialWrapper ROCKSALT = MaterialWrapper.of(() -> Materials.RockSalt); public static final MaterialWrapper RUBBER = MaterialWrapper.of(() -> Materials.Rubber); - public static final MaterialWrapper RAWRUBBER = MaterialWrapper.of(() -> Materials.RawRubber); + public static final MaterialWrapper RUBBERRAW = MaterialWrapper.of(() -> Materials.RubberRaw); + public static final MaterialWrapper RUBBERSILICONE = MaterialWrapper.of(() -> Materials.RubberSilicone); public static final MaterialWrapper RUBY = MaterialWrapper.of(() -> Materials.Ruby); + public static final MaterialWrapper RUTILE = MaterialWrapper.of(() -> Materials.Rutile); public static final MaterialWrapper SALT = MaterialWrapper.of(() -> Materials.Salt); public static final MaterialWrapper SALTPETER = MaterialWrapper.of(() -> Materials.Saltpeter); public static final MaterialWrapper SAPPHIRE = MaterialWrapper.of(() -> Materials.Sapphire); public static final MaterialWrapper SCHEELITE = MaterialWrapper.of(() -> Materials.Scheelite); + public static final MaterialWrapper SILICONDIOXIDE = MaterialWrapper.of(() -> Materials.SiliconDioxide); public static final MaterialWrapper SNOW = MaterialWrapper.of(() -> Materials.Snow); + public static final MaterialWrapper SODAASH = MaterialWrapper.of(() -> Materials.SodaAsh); public static final MaterialWrapper SODALITE = MaterialWrapper.of(() -> Materials.Sodalite); public static final MaterialWrapper SODIUMPERSULFATE = MaterialWrapper.of(() -> Materials.SodiumPersulfate); public static final MaterialWrapper SODIUMSULFIDE = MaterialWrapper.of(() -> Materials.SodiumSulfide); - public static final MaterialWrapper HYDRICSULFIDE = MaterialWrapper.of(() -> Materials.HydricSulfide); + public static final MaterialWrapper TITANIUMTETRACHLORIDE = MaterialWrapper.of(() -> Materials.Titaniumtetrachloride); + public static final MaterialWrapper ZINCITE = MaterialWrapper.of(() -> Materials.Zincite); + public static final MaterialWrapper DENSESTEAM = MaterialWrapper.of(() -> Materials.DenseSteam); + public static final MaterialWrapper DENSESUPERHEATEDSTEAM = MaterialWrapper.of(() -> Materials.DenseSuperheatedSteam); + public static final MaterialWrapper DENSESUPERCRITICALSTEAM = MaterialWrapper.of(() -> Materials.DenseSupercriticalSteam); public static final MaterialWrapper OILEXTRAHEAVY = MaterialWrapper.of(() -> Materials.OilExtraHeavy); public static final MaterialWrapper OILHEAVY = MaterialWrapper.of(() -> Materials.OilHeavy); - public static final MaterialWrapper OILMEDIUM = MaterialWrapper.of(() -> Materials.OilMedium); public static final MaterialWrapper OILLIGHT = MaterialWrapper.of(() -> Materials.OilLight); - public static final MaterialWrapper NATRURALGAS = MaterialWrapper.of(() -> Materials.NatruralGas); - public static final MaterialWrapper SULFURICGAS = MaterialWrapper.of(() -> Materials.SulfuricGas); + public static final MaterialWrapper OILMEDIUM = MaterialWrapper.of(() -> Materials.OilMedium); + public static final MaterialWrapper SUPERCOOLANT = MaterialWrapper.of(() -> Materials.SuperCoolant); + public static final MaterialWrapper ENRICHEDHOLMIUM = MaterialWrapper.of(() -> Materials.EnrichedHolmium); + public static final MaterialWrapper TENGAMPURIFIED = MaterialWrapper.of(() -> Materials.TengamPurified); + public static final MaterialWrapper TENGAMATTUNED = MaterialWrapper.of(() -> Materials.TengamAttuned); + public static final MaterialWrapper TENGAMRAW = MaterialWrapper.of(() -> Materials.TengamRaw); public static final MaterialWrapper GAS = MaterialWrapper.of(() -> Materials.Gas); - public static final MaterialWrapper SULFURICNAPHTHA = MaterialWrapper.of(() -> Materials.SulfuricNaphtha); - public static final MaterialWrapper SULFURICLIGHTFUEL = MaterialWrapper.of(() -> Materials.SulfuricLightFuel); - public static final MaterialWrapper SULFURICHEAVYFUEL = MaterialWrapper.of(() -> Materials.SulfuricHeavyFuel); - public static final MaterialWrapper NAPHTHA = MaterialWrapper.of(() -> Materials.Naphtha); - public static final MaterialWrapper LIGHTFUEL = MaterialWrapper.of(() -> Materials.LightFuel); public static final MaterialWrapper HEAVYFUEL = MaterialWrapper.of(() -> Materials.HeavyFuel); + public static final MaterialWrapper LIGHTFUEL = MaterialWrapper.of(() -> Materials.LightFuel); public static final MaterialWrapper LPG = MaterialWrapper.of(() -> Materials.LPG); - public static final MaterialWrapper REINFORCEGLASS = MaterialWrapper.of(() -> Materials.ReinforceGlass); + public static final MaterialWrapper NAPHTHA = MaterialWrapper.of(() -> Materials.Naphtha); + public static final MaterialWrapper NATURALGAS = MaterialWrapper.of(() -> Materials.NaturalGas); + public static final MaterialWrapper SULFURICGAS = MaterialWrapper.of(() -> Materials.SulfuricGas); + public static final MaterialWrapper SULFURICHEAVYFUEL = MaterialWrapper.of(() -> Materials.SulfuricHeavyFuel); + public static final MaterialWrapper SULFURICLIGHTFUEL = MaterialWrapper.of(() -> Materials.SulfuricLightFuel); + public static final MaterialWrapper SULFURICNAPHTHA = MaterialWrapper.of(() -> Materials.SulfuricNaphtha); public static final MaterialWrapper BIOMEDIUMRAW = MaterialWrapper.of(() -> Materials.BioMediumRaw); public static final MaterialWrapper BIOMEDIUMSTERILIZED = MaterialWrapper.of(() -> Materials.BioMediumSterilized); - public static final MaterialWrapper CHLOROBENZENE = MaterialWrapper.of(() -> Materials.Chlorobenzene); - public static final MaterialWrapper DILUTEDHYDROCHLORICACID = MaterialWrapper.of(() -> Materials.DilutedHydrochloricAcid); - public static final MaterialWrapper PYROCHLORE = MaterialWrapper.of(() -> Materials.Pyrochlore); + public static final MaterialWrapper REINFORCEDGLASS = MaterialWrapper.of(() -> Materials.ReinforcedGlass); public static final MaterialWrapper GROWTHMEDIUMRAW = MaterialWrapper.of(() -> Materials.GrowthMediumRaw); public static final MaterialWrapper GROWTHMEDIUMSTERILIZED = MaterialWrapper.of(() -> Materials.GrowthMediumSterilized); - public static final MaterialWrapper FERRITEMIXTURE = MaterialWrapper.of(() -> Materials.FerriteMixture); - public static final MaterialWrapper NICKELZINCFERRITE = MaterialWrapper.of(() -> Materials.NickelZincFerrite); - public static final MaterialWrapper MASSICOT = MaterialWrapper.of(() -> Materials.Massicot); - public static final MaterialWrapper ARSENICTRIOXIDE = MaterialWrapper.of(() -> Materials.ArsenicTrioxide); - public static final MaterialWrapper COBALTOXIDE = MaterialWrapper.of(() -> Materials.CobaltOxide); - public static final MaterialWrapper ZINCITE = MaterialWrapper.of(() -> Materials.Zincite); - public static final MaterialWrapper ANTIMONYTRIOXIDE = MaterialWrapper.of(() -> Materials.AntimonyTrioxide); - public static final MaterialWrapper CUPRICOXIDE = MaterialWrapper.of(() -> Materials.CupricOxide); - public static final MaterialWrapper FERROSILITE = MaterialWrapper.of(() -> Materials.Ferrosilite); - public static final MaterialWrapper MAGNESIA = MaterialWrapper.of(() -> Materials.Magnesia); - public static final MaterialWrapper QUICKLIME = MaterialWrapper.of(() -> Materials.Quicklime); - public static final MaterialWrapper POTASH = MaterialWrapper.of(() -> Materials.Potash); - public static final MaterialWrapper SODAASH = MaterialWrapper.of(() -> Materials.SodaAsh); public static final MaterialWrapper BIODIESEL = MaterialWrapper.of(() -> Materials.BioDiesel); - public static final MaterialWrapper NITRATIONMIXTURE = MaterialWrapper.of(() -> Materials.NitrationMixture); - public static final MaterialWrapper GLYCEROL = MaterialWrapper.of(() -> Materials.Glycerol); - public static final MaterialWrapper SODIUMBISULFATE = MaterialWrapper.of(() -> Materials.SodiumBisulfate); - public static final MaterialWrapper POLYPHENYLENESULFIDE = MaterialWrapper.of(() -> Materials.PolyphenyleneSulfide); - public static final MaterialWrapper DICHLOROBENZENE = MaterialWrapper.of(() -> Materials.Dichlorobenzene); - public static final MaterialWrapper POLYSTYRENE = MaterialWrapper.of(() -> Materials.Polystyrene); - public static final MaterialWrapper STYRENE = MaterialWrapper.of(() -> Materials.Styrene); - public static final MaterialWrapper ISOPRENE = MaterialWrapper.of(() -> Materials.Isoprene); - public static final MaterialWrapper TETRANITROMETHANE = MaterialWrapper.of(() -> Materials.Tetranitromethane); - public static final MaterialWrapper ETHENONE = MaterialWrapper.of(() -> Materials.Ethenone); - public static final MaterialWrapper ETHANE = MaterialWrapper.of(() -> Materials.Ethane); - public static final MaterialWrapper PROPANE = MaterialWrapper.of(() -> Materials.Propane); + public static final MaterialWrapper BISPHENOLA = MaterialWrapper.of(() -> Materials.BisphenolA); + public static final MaterialWrapper BUTADIENE = MaterialWrapper.of(() -> Materials.Butadiene); public static final MaterialWrapper BUTANE = MaterialWrapper.of(() -> Materials.Butane); public static final MaterialWrapper BUTENE = MaterialWrapper.of(() -> Materials.Butene); - public static final MaterialWrapper BUTADIENE = MaterialWrapper.of(() -> Materials.Butadiene); - public static final MaterialWrapper RAWSTYRENEBUTADIENERUBBER = MaterialWrapper.of(() -> Materials.RawStyreneButadieneRubber); - public static final MaterialWrapper STYRENEBUTADIENERUBBER = MaterialWrapper.of(() -> Materials.StyreneButadieneRubber); - public static final MaterialWrapper TOLUENE = MaterialWrapper.of(() -> Materials.Toluene); - public static final MaterialWrapper EPICHLOROHYDRIN = MaterialWrapper.of(() -> Materials.Epichlorohydrin); - public static final MaterialWrapper POLYVINYLCHLORIDE = MaterialWrapper.of(() -> Materials.PolyvinylChloride); - public static final MaterialWrapper VINYLCHLORIDE = MaterialWrapper.of(() -> Materials.VinylChloride); - public static final MaterialWrapper SULFURDIOXIDE = MaterialWrapper.of(() -> Materials.SulfurDioxide); - public static final MaterialWrapper SULFURTRIOXIDE = MaterialWrapper.of(() -> Materials.SulfurTrioxide); - public static final MaterialWrapper NITRICACID = MaterialWrapper.of(() -> Materials.NitricAcid); - public static final MaterialWrapper DIMETHYLHYDRAZINE = MaterialWrapper.of(() -> Materials.Dimethylhydrazine); + public static final MaterialWrapper CALCIUMACETATESOLUTION = MaterialWrapper.of(() -> Materials.CalciumAcetateSolution); + public static final MaterialWrapper CARBONMONOXIDE = MaterialWrapper.of(() -> Materials.CarbonMonoxide); public static final MaterialWrapper CHLORAMINE = MaterialWrapper.of(() -> Materials.Chloramine); + public static final MaterialWrapper CHLOROFORM = MaterialWrapper.of(() -> Materials.Chloroform); + public static final MaterialWrapper CHLOROMETHANE = MaterialWrapper.of(() -> Materials.Chloromethane); + public static final MaterialWrapper CUMENE = MaterialWrapper.of(() -> Materials.Cumene); + public static final MaterialWrapper DICHLOROBENZENE = MaterialWrapper.of(() -> Materials.Dichlorobenzene); public static final MaterialWrapper DIMETHYLAMINE = MaterialWrapper.of(() -> Materials.Dimethylamine); - public static final MaterialWrapper DINITROGENTETROXIDE = MaterialWrapper.of(() -> Materials.DinitrogenTetroxide); - public static final MaterialWrapper NITRICOXIDE = MaterialWrapper.of(() -> Materials.NitricOxide); - public static final MaterialWrapper AMMONIA = MaterialWrapper.of(() -> Materials.Ammonia); public static final MaterialWrapper DIMETHYLDICHLOROSILANE = MaterialWrapper.of(() -> Materials.Dimethyldichlorosilane); - public static final MaterialWrapper CHLOROMETHANE = MaterialWrapper.of(() -> Materials.Chloromethane); - public static final MaterialWrapper PHOSPHOROUSPENTOXIDE = MaterialWrapper.of(() -> Materials.PhosphorousPentoxide); - public static final MaterialWrapper TETRAFLUOROETHYLENE = MaterialWrapper.of(() -> Materials.Tetrafluoroethylene); - public static final MaterialWrapper HYDROFLUORICACID = MaterialWrapper.of(() -> Materials.HydrofluoricAcid); - public static final MaterialWrapper CHLOROFORM = MaterialWrapper.of(() -> Materials.Chloroform); - public static final MaterialWrapper BISPHENOLA = MaterialWrapper.of(() -> Materials.BisphenolA); - public static final MaterialWrapper ACETICACID = MaterialWrapper.of(() -> Materials.AceticAcid); - public static final MaterialWrapper CALCIUMACETATESOLUTION = MaterialWrapper.of(() -> Materials.CalciumAcetateSolution); - public static final MaterialWrapper ACETONE = MaterialWrapper.of(() -> Materials.Acetone); - public static final MaterialWrapper METHANOL = MaterialWrapper.of(() -> Materials.Methanol); - public static final MaterialWrapper CARBONMONOXIDE = MaterialWrapper.of(() -> Materials.CarbonMonoxide); - public static final MaterialWrapper METALMIXTURE = MaterialWrapper.of(() -> Materials.MetalMixture); + public static final MaterialWrapper DIMETHYLHYDRAZINE = MaterialWrapper.of(() -> Materials.Dimethylhydrazine); + public static final MaterialWrapper DINITROGENTETROXIDE = MaterialWrapper.of(() -> Materials.DinitrogenTetroxide); + public static final MaterialWrapper EPICHLOROHYDRIN = MaterialWrapper.of(() -> Materials.Epichlorohydrin); + public static final MaterialWrapper ETHANE = MaterialWrapper.of(() -> Materials.Ethane); + public static final MaterialWrapper ETHENONE = MaterialWrapper.of(() -> Materials.Ethenone); public static final MaterialWrapper ETHYLENE = MaterialWrapper.of(() -> Materials.Ethylene); - public static final MaterialWrapper PROPENE = MaterialWrapper.of(() -> Materials.Propene); - public static final MaterialWrapper VINYLACETATE = MaterialWrapper.of(() -> Materials.VinylAcetate); - public static final MaterialWrapper POLYVINYLACETATE = MaterialWrapper.of(() -> Materials.PolyvinylAcetate); - public static final MaterialWrapper METHYLACETATE = MaterialWrapper.of(() -> Materials.MethylAcetate); - public static final MaterialWrapper ALLYLCHLORIDE = MaterialWrapper.of(() -> Materials.AllylChloride); + public static final MaterialWrapper GLYCEROL = MaterialWrapper.of(() -> Materials.Glycerol); public static final MaterialWrapper HYDROCHLORICACID = MaterialWrapper.of(() -> Materials.HydrochloricAcid); + public static final MaterialWrapper HYDROFLUORICACID = MaterialWrapper.of(() -> Materials.HydrofluoricAcid); public static final MaterialWrapper HYPOCHLOROUSACID = MaterialWrapper.of(() -> Materials.HypochlorousAcid); - public static final MaterialWrapper SODIUMOXIDE = MaterialWrapper.of(() -> Materials.SodiumOxide); - public static final MaterialWrapper SODIUMHYDROXIDE = MaterialWrapper.of(() -> Materials.SodiumHydroxide); - public static final MaterialWrapper BENZENE = MaterialWrapper.of(() -> Materials.Benzene); + public static final MaterialWrapper IRONIIICHLORIDE = MaterialWrapper.of(() -> Materials.IronIIIChloride); + public static final MaterialWrapper ISOPRENE = MaterialWrapper.of(() -> Materials.Isoprene); + public static final MaterialWrapper LIFEESSENCE = MaterialWrapper.of(() -> Materials.LifeEssence); + public static final MaterialWrapper METALMIXTURE = MaterialWrapper.of(() -> Materials.MetalMixture); + public static final MaterialWrapper METHANOL = MaterialWrapper.of(() -> Materials.Methanol); + public static final MaterialWrapper METHYLACETATE = MaterialWrapper.of(() -> Materials.MethylAcetate); + public static final MaterialWrapper NITRATIONMIXTURE = MaterialWrapper.of(() -> Materials.NitrationMixture); + public static final MaterialWrapper NITRICACID = MaterialWrapper.of(() -> Materials.NitricAcid); + public static final MaterialWrapper NITRICOXIDE = MaterialWrapper.of(() -> Materials.NitricOxide); public static final MaterialWrapper PHENOL = MaterialWrapper.of(() -> Materials.Phenol); - public static final MaterialWrapper CUMENE = MaterialWrapper.of(() -> Materials.Cumene); public static final MaterialWrapper PHOSPHORICACID = MaterialWrapper.of(() -> Materials.PhosphoricAcid); + public static final MaterialWrapper PHOSPHOROUSPENTOXIDE = MaterialWrapper.of(() -> Materials.PhosphorousPentoxide); + public static final MaterialWrapper POLYPHENYLENESULFIDE = MaterialWrapper.of(() -> Materials.PolyphenyleneSulfide); + public static final MaterialWrapper POLYSTYRENE = MaterialWrapper.of(() -> Materials.Polystyrene); + public static final MaterialWrapper POLYVINYLACETATE = MaterialWrapper.of(() -> Materials.PolyvinylAcetate); + public static final MaterialWrapper POLYVINYLCHLORIDE = MaterialWrapper.of(() -> Materials.PolyvinylChloride); + public static final MaterialWrapper PROPANE = MaterialWrapper.of(() -> Materials.Propane); + public static final MaterialWrapper PROPENE = MaterialWrapper.of(() -> Materials.Propene); public static final MaterialWrapper SALTWATER = MaterialWrapper.of(() -> Materials.SaltWater); - public static final MaterialWrapper IRONIIICHLORIDE = MaterialWrapper.of(() -> Materials.IronIIIChloride); - public static final MaterialWrapper LIFEESSENCE = MaterialWrapper.of(() -> Materials.LifeEssence); - public static final MaterialWrapper ROASTEDCOPPER = MaterialWrapper.of(() -> Materials.RoastedCopper); - public static final MaterialWrapper ROASTEDANTIMONY = MaterialWrapper.of(() -> Materials.RoastedAntimony); - public static final MaterialWrapper ROASTEDIRON = MaterialWrapper.of(() -> Materials.RoastedIron); - public static final MaterialWrapper ROASTEDNICKEL = MaterialWrapper.of(() -> Materials.RoastedNickel); - public static final MaterialWrapper ROASTEDZINC = MaterialWrapper.of(() -> Materials.RoastedZinc); - public static final MaterialWrapper ROASTEDCOBALT = MaterialWrapper.of(() -> Materials.RoastedCobalt); + public static final MaterialWrapper SODIUMBISULFATE = MaterialWrapper.of(() -> Materials.SodiumBisulfate); + public static final MaterialWrapper SODIUMHYDROXIDE = MaterialWrapper.of(() -> Materials.SodiumHydroxide); + public static final MaterialWrapper SODIUMOXIDE = MaterialWrapper.of(() -> Materials.SodiumOxide); + public static final MaterialWrapper STYRENE = MaterialWrapper.of(() -> Materials.Styrene); + public static final MaterialWrapper STYRENEBUTADIENERUBBER = MaterialWrapper.of(() -> Materials.StyreneButadieneRubber); + public static final MaterialWrapper SULFURDIOXIDE = MaterialWrapper.of(() -> Materials.SulfurDioxide); + public static final MaterialWrapper SULFURTRIOXIDE = MaterialWrapper.of(() -> Materials.SulfurTrioxide); + public static final MaterialWrapper TETRAFLUOROETHYLENE = MaterialWrapper.of(() -> Materials.Tetrafluoroethylene); + public static final MaterialWrapper TETRANITROMETHANE = MaterialWrapper.of(() -> Materials.Tetranitromethane); + public static final MaterialWrapper TOLUENE = MaterialWrapper.of(() -> Materials.Toluene); + public static final MaterialWrapper VINYLACETATE = MaterialWrapper.of(() -> Materials.VinylAcetate); + public static final MaterialWrapper VINYLCHLORIDE = MaterialWrapper.of(() -> Materials.VinylChloride); + public static final MaterialWrapper ROASTEDANTIMONY = MaterialWrapper.of(() -> Materials.RoastedAntimony); public static final MaterialWrapper ROASTEDARSENIC = MaterialWrapper.of(() -> Materials.RoastedArsenic); + public static final MaterialWrapper ROASTEDCOBALT = MaterialWrapper.of(() -> Materials.RoastedCobalt); + public static final MaterialWrapper ROASTEDCOPPER = MaterialWrapper.of(() -> Materials.RoastedCopper); + public static final MaterialWrapper ROASTEDIRON = MaterialWrapper.of(() -> Materials.RoastedIron); public static final MaterialWrapper ROASTEDLEAD = MaterialWrapper.of(() -> Materials.RoastedLead); - public static final MaterialWrapper SILICONSG = MaterialWrapper.of(() -> Materials.SiliconSG); + public static final MaterialWrapper ROASTEDNICKEL = MaterialWrapper.of(() -> Materials.RoastedNickel); + public static final MaterialWrapper ROASTEDZINC = MaterialWrapper.of(() -> Materials.RoastedZinc); + public static final MaterialWrapper ALUMINIUMFLUORIDE = MaterialWrapper.of(() -> Materials.AluminiumFluoride); public static final MaterialWrapper CALCIUMDISILICIDE = MaterialWrapper.of(() -> Materials.CalciumDisilicide); - public static final MaterialWrapper SILICONTETRAFLUORIDE = MaterialWrapper.of(() -> Materials.SiliconTetrafluoride); - public static final MaterialWrapper SILICONTETRACHLORIDE = MaterialWrapper.of(() -> Materials.SiliconTetrachloride); - public static final MaterialWrapper TRICHLOROSILANE = MaterialWrapper.of(() -> Materials.Trichlorosilane); - public static final MaterialWrapper HEXACHLORODISILANE = MaterialWrapper.of(() -> Materials.Hexachlorodisilane); + public static final MaterialWrapper CALCIUMHYDRIDE = MaterialWrapper.of(() -> Materials.Calciumhydride); public static final MaterialWrapper DICHLOROSILANE = MaterialWrapper.of(() -> Materials.Dichlorosilane); + public static final MaterialWrapper HEXACHLORODISILANE = MaterialWrapper.of(() -> Materials.Hexachlorodisilane); public static final MaterialWrapper SILANE = MaterialWrapper.of(() -> Materials.Silane); - public static final MaterialWrapper CALCIUMHYDRIDE = MaterialWrapper.of(() -> Materials.Calciumhydride); - public static final MaterialWrapper ALUMINIUMFLUORIDE = MaterialWrapper.of(() -> Materials.AluminiumFluoride); - public static final MaterialWrapper SOLDERINGALLOY = MaterialWrapper.of(() -> Materials.SolderingAlloy); + public static final MaterialWrapper SILICONSG = MaterialWrapper.of(() -> Materials.SiliconSG); + public static final MaterialWrapper SILICONTETRACHLORIDE = MaterialWrapper.of(() -> Materials.SiliconTetrachloride); + public static final MaterialWrapper SILICONTETRAFLUORIDE = MaterialWrapper.of(() -> Materials.SiliconTetrafluoride); + public static final MaterialWrapper TRICHLOROSILANE = MaterialWrapper.of(() -> Materials.Trichlorosilane); public static final MaterialWrapper GALLIUMARSENIDE = MaterialWrapper.of(() -> Materials.GalliumArsenide); public static final MaterialWrapper INDIUMGALLIUMPHOSPHIDE = MaterialWrapper.of(() -> Materials.IndiumGalliumPhosphide); + public static final MaterialWrapper SOLDERINGALLOY = MaterialWrapper.of(() -> Materials.SolderingAlloy); public static final MaterialWrapper SPESSARTINE = MaterialWrapper.of(() -> Materials.Spessartine); public static final MaterialWrapper SPHALERITE = MaterialWrapper.of(() -> Materials.Sphalerite); public static final MaterialWrapper STAINLESSSTEEL = MaterialWrapper.of(() -> Materials.StainlessSteel); @@ -567,183 +564,186 @@ private GTMats() { } public static final MaterialWrapper WULFENITE = MaterialWrapper.of(() -> Materials.Wulfenite); public static final MaterialWrapper YELLOWLIMONITE = MaterialWrapper.of(() -> Materials.YellowLimonite); public static final MaterialWrapper YTTRIUMBARIUMCUPRATE = MaterialWrapper.of(() -> Materials.YttriumBariumCuprate); - public static final MaterialWrapper WOODSEALED = MaterialWrapper.of(() -> Materials.WoodSealed); - public static final MaterialWrapper LIVEROOT = MaterialWrapper.of(() -> Materials.LiveRoot); - public static final MaterialWrapper IRONWOOD = MaterialWrapper.of(() -> Materials.IronWood); - public static final MaterialWrapper GLASS = MaterialWrapper.of(() -> Materials.Glass); - public static final MaterialWrapper BOROSILICATEGLASS = MaterialWrapper.of(() -> Materials.BorosilicateGlass); - public static final MaterialWrapper PERLITE = MaterialWrapper.of(() -> Materials.Perlite); - public static final MaterialWrapper BORAX = MaterialWrapper.of(() -> Materials.Borax); - public static final MaterialWrapper LIGNITE = MaterialWrapper.of(() -> Materials.Lignite); - public static final MaterialWrapper OLIVINE = MaterialWrapper.of(() -> Materials.Olivine); - public static final MaterialWrapper OPAL = MaterialWrapper.of(() -> Materials.Opal); + public static final MaterialWrapper ALUMINIUMHYDROXIDE = MaterialWrapper.of(() -> Materials.Aluminiumhydroxide); + public static final MaterialWrapper ALUMINIUMOXIDE = MaterialWrapper.of(() -> Materials.Aluminiumoxide); + public static final MaterialWrapper ALUMITE = MaterialWrapper.of(() -> Materials.Alumite); + public static final MaterialWrapper ALUNITE = MaterialWrapper.of(() -> Materials.Alunite); public static final MaterialWrapper AMETHYST = MaterialWrapper.of(() -> Materials.Amethyst); - public static final MaterialWrapper REDSTONE = MaterialWrapper.of(() -> Materials.Redstone); - public static final MaterialWrapper LAPIS = MaterialWrapper.of(() -> Materials.Lapis); - public static final MaterialWrapper BLAZE = MaterialWrapper.of(() -> Materials.Blaze); - public static final MaterialWrapper ENDERPEARL = MaterialWrapper.of(() -> Materials.EnderPearl); - public static final MaterialWrapper ENDEREYE = MaterialWrapper.of(() -> Materials.EnderEye); - public static final MaterialWrapper FLINT = MaterialWrapper.of(() -> Materials.Flint); - public static final MaterialWrapper DIATOMITE = MaterialWrapper.of(() -> Materials.Diatomite); - public static final MaterialWrapper VOLCANICASH = MaterialWrapper.of(() -> Materials.VolcanicAsh); - public static final MaterialWrapper NITER = MaterialWrapper.of(() -> Materials.Niter); - public static final MaterialWrapper PYROTHEUM = MaterialWrapper.of(() -> Materials.Pyrotheum); - public static final MaterialWrapper CRYOTHEUM = MaterialWrapper.of(() -> Materials.Cryotheum); - public static final MaterialWrapper HYDRATEDCOAL = MaterialWrapper.of(() -> Materials.HydratedCoal); public static final MaterialWrapper APATITE = MaterialWrapper.of(() -> Materials.Apatite); - public static final MaterialWrapper ALUMITE = MaterialWrapper.of(() -> Materials.Alumite); - public static final MaterialWrapper MANYULLYN = MaterialWrapper.of(() -> Materials.Manyullyn); - public static final MaterialWrapper STEELEAF = MaterialWrapper.of(() -> Materials.Steeleaf); - public static final MaterialWrapper KNIGHTMETAL = MaterialWrapper.of(() -> Materials.Knightmetal); - public static final MaterialWrapper STERLINGSILVER = MaterialWrapper.of(() -> Materials.SterlingSilver); - public static final MaterialWrapper ROSEGOLD = MaterialWrapper.of(() -> Materials.RoseGold); - public static final MaterialWrapper BLACKBRONZE = MaterialWrapper.of(() -> Materials.BlackBronze); + public static final MaterialWrapper BARITE = MaterialWrapper.of(() -> Materials.Barite); + public static final MaterialWrapper BASTNASITE = MaterialWrapper.of(() -> Materials.Bastnasite); + public static final MaterialWrapper BAUXITE = MaterialWrapper.of(() -> Materials.Bauxite); + public static final MaterialWrapper BENTONITE = MaterialWrapper.of(() -> Materials.Bentonite); + public static final MaterialWrapper BIOTITE = MaterialWrapper.of(() -> Materials.Biotite); public static final MaterialWrapper BISMUTHBRONZE = MaterialWrapper.of(() -> Materials.BismuthBronze); + public static final MaterialWrapper BLACKBRONZE = MaterialWrapper.of(() -> Materials.BlackBronze); public static final MaterialWrapper BLACKSTEEL = MaterialWrapper.of(() -> Materials.BlackSteel); - public static final MaterialWrapper REDSTEEL = MaterialWrapper.of(() -> Materials.RedSteel); - public static final MaterialWrapper BLUESTEEL = MaterialWrapper.of(() -> Materials.BlueSteel); - public static final MaterialWrapper DAMASCUSSTEEL = MaterialWrapper.of(() -> Materials.DamascusSteel); - public static final MaterialWrapper TUNGSTENSTEEL = MaterialWrapper.of(() -> Materials.TungstenSteel); - public static final MaterialWrapper NITROCOALFUEL = MaterialWrapper.of(() -> Materials.NitroCoalFuel); - public static final MaterialWrapper NITROFUEL = MaterialWrapper.of(() -> Materials.NitroFuel); - public static final MaterialWrapper REDALLOY = MaterialWrapper.of(() -> Materials.RedAlloy); + public static final MaterialWrapper BLAZE = MaterialWrapper.of(() -> Materials.Blaze); + public static final MaterialWrapper BORAX = MaterialWrapper.of(() -> Materials.Borax); + public static final MaterialWrapper CHRYSOTILE = MaterialWrapper.of(() -> Materials.Chrysotile); + public static final MaterialWrapper CLAY = MaterialWrapper.of(() -> Materials.Clay); public static final MaterialWrapper COBALTBRASS = MaterialWrapper.of(() -> Materials.CobaltBrass); - public static final MaterialWrapper TRICALCIUMPHOSPHATE = MaterialWrapper.of(() -> Materials.TricalciumPhosphate); - public static final MaterialWrapper BASALT = MaterialWrapper.of(() -> Materials.Basalt); + public static final MaterialWrapper CONCRETE = MaterialWrapper.of(() -> Materials.Concrete); + public static final MaterialWrapper CRYOLITE = MaterialWrapper.of(() -> Materials.Cryolite); + public static final MaterialWrapper DAMASCUSSTEEL = MaterialWrapper.of(() -> Materials.DamascusSteel); + public static final MaterialWrapper DIATOMITE = MaterialWrapper.of(() -> Materials.Diatomite); + public static final MaterialWrapper DILUTEDSULFURICACID = MaterialWrapper.of(() -> Materials.DilutedSulfuricAcid); + public static final MaterialWrapper DOLOMITE = MaterialWrapper.of(() -> Materials.Dolomite); + public static final MaterialWrapper ELECTRICALSTEEL = MaterialWrapper.of(() -> Materials.ElectricalSteel); + public static final MaterialWrapper ENDERPEARL = MaterialWrapper.of(() -> Materials.EnderPearl); + public static final MaterialWrapper EPOXIDFIBERREINFORCED = MaterialWrapper.of(() -> Materials.EpoxidFiberReinforced); + public static final MaterialWrapper FLINT = MaterialWrapper.of(() -> Materials.Flint); + public static final MaterialWrapper FULLERSEARTH = MaterialWrapper.of(() -> Materials.FullersEarth); public static final MaterialWrapper GARNETRED = MaterialWrapper.of(() -> Materials.GarnetRed); public static final MaterialWrapper GARNETYELLOW = MaterialWrapper.of(() -> Materials.GarnetYellow); - public static final MaterialWrapper MARBLE = MaterialWrapper.of(() -> Materials.Marble); - public static final MaterialWrapper SUGAR = MaterialWrapper.of(() -> Materials.Sugar); - public static final MaterialWrapper THAUMIUM = MaterialWrapper.of(() -> Materials.Thaumium); - public static final MaterialWrapper VINTEUM = MaterialWrapper.of(() -> Materials.Vinteum); - public static final MaterialWrapper VIS = MaterialWrapper.of(() -> Materials.Vis); - public static final MaterialWrapper REDROCK = MaterialWrapper.of(() -> Materials.Redrock); - public static final MaterialWrapper POTASSIUMFELDSPAR = MaterialWrapper.of(() -> Materials.PotassiumFeldspar); - public static final MaterialWrapper BIOTITE = MaterialWrapper.of(() -> Materials.Biotite); + public static final MaterialWrapper GLASS = MaterialWrapper.of(() -> Materials.Glass); + public static final MaterialWrapper GLAUCONITE = MaterialWrapper.of(() -> Materials.Glauconite); + public static final MaterialWrapper GLAUCONITESAND = MaterialWrapper.of(() -> Materials.GlauconiteSand); public static final MaterialWrapper GRANITEBLACK = MaterialWrapper.of(() -> Materials.GraniteBlack); - public static final MaterialWrapper GRANITERED = MaterialWrapper.of(() -> Materials.GraniteRed); - public static final MaterialWrapper CHRYSOTILE = MaterialWrapper.of(() -> Materials.Chrysotile); - public static final MaterialWrapper REALGAR = MaterialWrapper.of(() -> Materials.Realgar); - public static final MaterialWrapper VANADIUMMAGNETITE = MaterialWrapper.of(() -> Materials.VanadiumMagnetite); - public static final MaterialWrapper BASALTICMINERALSAND = MaterialWrapper.of(() -> Materials.BasalticMineralSand); public static final MaterialWrapper GRANITICMINERALSAND = MaterialWrapper.of(() -> Materials.GraniticMineralSand); - public static final MaterialWrapper GARNETSAND = MaterialWrapper.of(() -> Materials.GarnetSand); - public static final MaterialWrapper QUARTZSAND = MaterialWrapper.of(() -> Materials.QuartzSand); - public static final MaterialWrapper BASTNASITE = MaterialWrapper.of(() -> Materials.Bastnasite); - public static final MaterialWrapper PENTLANDITE = MaterialWrapper.of(() -> Materials.Pentlandite); - public static final MaterialWrapper SPODUMENE = MaterialWrapper.of(() -> Materials.Spodumene); - public static final MaterialWrapper POLLUCITE = MaterialWrapper.of(() -> Materials.Pollucite); - public static final MaterialWrapper TANTALITE = MaterialWrapper.of(() -> Materials.Tantalite); + public static final MaterialWrapper GYPSUM = MaterialWrapper.of(() -> Materials.Gypsum); + public static final MaterialWrapper HYDRATEDCOAL = MaterialWrapper.of(() -> Materials.HydratedCoal); + public static final MaterialWrapper IRONMAGNETIC = MaterialWrapper.of(() -> Materials.IronMagnetic); + public static final MaterialWrapper JASPER = MaterialWrapper.of(() -> Materials.Jasper); + public static final MaterialWrapper KAOLINITE = MaterialWrapper.of(() -> Materials.Kaolinite); + public static final MaterialWrapper KNIGHTMETAL = MaterialWrapper.of(() -> Materials.Knightmetal); + public static final MaterialWrapper KYANITE = MaterialWrapper.of(() -> Materials.Kyanite); + public static final MaterialWrapper LAPIS = MaterialWrapper.of(() -> Materials.Lapis); public static final MaterialWrapper LEPIDOLITE = MaterialWrapper.of(() -> Materials.Lepidolite); - public static final MaterialWrapper GLAUCONITE = MaterialWrapper.of(() -> Materials.Glauconite); - public static final MaterialWrapper GLAUCONITESAND = MaterialWrapper.of(() -> Materials.GlauconiteSand); - public static final MaterialWrapper VERMICULITE = MaterialWrapper.of(() -> Materials.Vermiculite); - public static final MaterialWrapper BENTONITE = MaterialWrapper.of(() -> Materials.Bentonite); - public static final MaterialWrapper FULLERSEARTH = MaterialWrapper.of(() -> Materials.FullersEarth); - public static final MaterialWrapper PITCHBLENDE = MaterialWrapper.of(() -> Materials.Pitchblende); - public static final MaterialWrapper MONAZITE = MaterialWrapper.of(() -> Materials.Monazite); + public static final MaterialWrapper LIGNITE = MaterialWrapper.of(() -> Materials.Lignite); + public static final MaterialWrapper LIQUIDAIR = MaterialWrapper.of(() -> Materials.LiquidAir); + public static final MaterialWrapper LIVEROOT = MaterialWrapper.of(() -> Materials.LiveRoot); public static final MaterialWrapper MALACHITE = MaterialWrapper.of(() -> Materials.Malachite); - public static final MaterialWrapper MIRABILITE = MaterialWrapper.of(() -> Materials.Mirabilite); + public static final MaterialWrapper MANYULLYN = MaterialWrapper.of(() -> Materials.Manyullyn); + public static final MaterialWrapper MARBLE = MaterialWrapper.of(() -> Materials.Marble); public static final MaterialWrapper MICA = MaterialWrapper.of(() -> Materials.Mica); - public static final MaterialWrapper TRONA = MaterialWrapper.of(() -> Materials.Trona); - public static final MaterialWrapper BARITE = MaterialWrapper.of(() -> Materials.Barite); - public static final MaterialWrapper GYPSUM = MaterialWrapper.of(() -> Materials.Gypsum); - public static final MaterialWrapper ALUNITE = MaterialWrapper.of(() -> Materials.Alunite); - public static final MaterialWrapper DOLOMITE = MaterialWrapper.of(() -> Materials.Dolomite); - public static final MaterialWrapper WOLLASTONITE = MaterialWrapper.of(() -> Materials.Wollastonite); - public static final MaterialWrapper ZEOLITE = MaterialWrapper.of(() -> Materials.Zeolite); - public static final MaterialWrapper KYANITE = MaterialWrapper.of(() -> Materials.Kyanite); - public static final MaterialWrapper KAOLINITE = MaterialWrapper.of(() -> Materials.Kaolinite); - public static final MaterialWrapper TALC = MaterialWrapper.of(() -> Materials.Talc); - public static final MaterialWrapper SOAPSTONE = MaterialWrapper.of(() -> Materials.Soapstone); - public static final MaterialWrapper CONCRETE = MaterialWrapper.of(() -> Materials.Concrete); - public static final MaterialWrapper IRONMAGNETIC = MaterialWrapper.of(() -> Materials.IronMagnetic); - public static final MaterialWrapper STEELMAGNETIC = MaterialWrapper.of(() -> Materials.SteelMagnetic); + public static final MaterialWrapper MIRABILITE = MaterialWrapper.of(() -> Materials.Mirabilite); + public static final MaterialWrapper MONAZITE = MaterialWrapper.of(() -> Materials.Monazite); public static final MaterialWrapper NEODYMIUMMAGNETIC = MaterialWrapper.of(() -> Materials.NeodymiumMagnetic); + public static final MaterialWrapper NITER = MaterialWrapper.of(() -> Materials.Niter); + public static final MaterialWrapper NITROCOALFUEL = MaterialWrapper.of(() -> Materials.NitroCoalFuel); + public static final MaterialWrapper NITROFUEL = MaterialWrapper.of(() -> Materials.NitroFuel); + public static final MaterialWrapper OLIVINE = MaterialWrapper.of(() -> Materials.Olivine); + public static final MaterialWrapper OPAL = MaterialWrapper.of(() -> Materials.Opal); + public static final MaterialWrapper PENTLANDITE = MaterialWrapper.of(() -> Materials.Pentlandite); + public static final MaterialWrapper PERLITE = MaterialWrapper.of(() -> Materials.Perlite); + public static final MaterialWrapper PITCHBLENDE = MaterialWrapper.of(() -> Materials.Pitchblende); + public static final MaterialWrapper POLLUCITE = MaterialWrapper.of(() -> Materials.Pollucite); + public static final MaterialWrapper POTASSIUMFELDSPAR = MaterialWrapper.of(() -> Materials.PotassiumFeldspar); + public static final MaterialWrapper QUARTZSAND = MaterialWrapper.of(() -> Materials.QuartzSand); + public static final MaterialWrapper RAWSTYRENEBUTADIENERUBBER = MaterialWrapper.of(() -> Materials.RawStyreneButadieneRubber); + public static final MaterialWrapper REALGAR = MaterialWrapper.of(() -> Materials.Realgar); + public static final MaterialWrapper REDMUD = MaterialWrapper.of(() -> Materials.RedMud); + public static final MaterialWrapper REDROCK = MaterialWrapper.of(() -> Materials.Redrock); + public static final MaterialWrapper REDSTONE = MaterialWrapper.of(() -> Materials.Redstone); + public static final MaterialWrapper ROSEGOLD = MaterialWrapper.of(() -> Materials.RoseGold); public static final MaterialWrapper SAMARIUMMAGNETIC = MaterialWrapper.of(() -> Materials.SamariumMagnetic); + public static final MaterialWrapper SOAPSTONE = MaterialWrapper.of(() -> Materials.Soapstone); + public static final MaterialWrapper SODIUMALUMINATE = MaterialWrapper.of(() -> Materials.SodiumAluminate); + public static final MaterialWrapper SODIUMCARBONATE = MaterialWrapper.of(() -> Materials.SodiumCarbonate); + public static final MaterialWrapper SPODUMENE = MaterialWrapper.of(() -> Materials.Spodumene); + public static final MaterialWrapper STEELMAGNETIC = MaterialWrapper.of(() -> Materials.SteelMagnetic); + public static final MaterialWrapper STEELEAF = MaterialWrapper.of(() -> Materials.Steeleaf); + public static final MaterialWrapper STERLINGSILVER = MaterialWrapper.of(() -> Materials.SterlingSilver); + public static final MaterialWrapper SUGAR = MaterialWrapper.of(() -> Materials.Sugar); + public static final MaterialWrapper TALC = MaterialWrapper.of(() -> Materials.Talc); + public static final MaterialWrapper TANTALITE = MaterialWrapper.of(() -> Materials.Tantalite); + public static final MaterialWrapper THAUMIUM = MaterialWrapper.of(() -> Materials.Thaumium); + public static final MaterialWrapper TPV = MaterialWrapper.of(() -> Materials.TPV); + public static final MaterialWrapper TRICALCIUMPHOSPHATE = MaterialWrapper.of(() -> Materials.TricalciumPhosphate); + public static final MaterialWrapper TRONA = MaterialWrapper.of(() -> Materials.Trona); public static final MaterialWrapper TUNGSTENCARBIDE = MaterialWrapper.of(() -> Materials.TungstenCarbide); + public static final MaterialWrapper TUNGSTENSTEEL = MaterialWrapper.of(() -> Materials.TungstenSteel); + public static final MaterialWrapper VANADIUMMAGNETITE = MaterialWrapper.of(() -> Materials.VanadiumMagnetite); public static final MaterialWrapper VANADIUMSTEEL = MaterialWrapper.of(() -> Materials.VanadiumSteel); + public static final MaterialWrapper VERMICULITE = MaterialWrapper.of(() -> Materials.Vermiculite); + public static final MaterialWrapper VINTEUM = MaterialWrapper.of(() -> Materials.Vinteum); + public static final MaterialWrapper VIS = MaterialWrapper.of(() -> Materials.Vis); + public static final MaterialWrapper VOLCANICASH = MaterialWrapper.of(() -> Materials.VolcanicAsh); + public static final MaterialWrapper WOLLASTONITE = MaterialWrapper.of(() -> Materials.Wollastonite); + public static final MaterialWrapper WOODSEALED = MaterialWrapper.of(() -> Materials.WoodSealed); + public static final MaterialWrapper ZEOLITE = MaterialWrapper.of(() -> Materials.Zeolite); + public static final MaterialWrapper BASALT = MaterialWrapper.of(() -> Materials.Basalt); + public static final MaterialWrapper BLUESTEEL = MaterialWrapper.of(() -> Materials.BlueSteel); + public static final MaterialWrapper BOROSILICATEGLASS = MaterialWrapper.of(() -> Materials.BorosilicateGlass); + public static final MaterialWrapper CRYOTHEUM = MaterialWrapper.of(() -> Materials.Cryotheum); + public static final MaterialWrapper DARKSTEEL = MaterialWrapper.of(() -> Materials.DarkSteel); + public static final MaterialWrapper ENDEREYE = MaterialWrapper.of(() -> Materials.EnderEye); + public static final MaterialWrapper FIRECLAY = MaterialWrapper.of(() -> Materials.Fireclay); + public static final MaterialWrapper GARNETSAND = MaterialWrapper.of(() -> Materials.GarnetSand); public static final MaterialWrapper HSSG = MaterialWrapper.of(() -> Materials.HSSG); + public static final MaterialWrapper IRONWOOD = MaterialWrapper.of(() -> Materials.IronWood); + public static final MaterialWrapper PYROTHEUM = MaterialWrapper.of(() -> Materials.Pyrotheum); + public static final MaterialWrapper GRANITERED = MaterialWrapper.of(() -> Materials.GraniteRed); + public static final MaterialWrapper REDALLOY = MaterialWrapper.of(() -> Materials.RedAlloy); + public static final MaterialWrapper REDSTEEL = MaterialWrapper.of(() -> Materials.RedSteel); + public static final MaterialWrapper REDSTONEALLOY = MaterialWrapper.of(() -> Materials.RedstoneAlloy); + public static final MaterialWrapper BASALTICMINERALSAND = MaterialWrapper.of(() -> Materials.BasalticMineralSand); + public static final MaterialWrapper CONDUCTIVEIRON = MaterialWrapper.of(() -> Materials.ConductiveIron); + public static final MaterialWrapper ENDSTEEL = MaterialWrapper.of(() -> Materials.EndSteel); public static final MaterialWrapper HSSE = MaterialWrapper.of(() -> Materials.HSSE); public static final MaterialWrapper HSSS = MaterialWrapper.of(() -> Materials.HSSS); - public static final MaterialWrapper TPV = MaterialWrapper.of(() -> Materials.TPV); - public static final MaterialWrapper DILUTEDSULFURICACID = MaterialWrapper.of(() -> Materials.DilutedSulfuricAcid); - public static final MaterialWrapper EPOXIDFIBERREINFORCED = MaterialWrapper.of(() -> Materials.EpoxidFiberReinforced); - public static final MaterialWrapper SODIUMCARBONATE = MaterialWrapper.of(() -> Materials.SodiumCarbonate); - public static final MaterialWrapper SODIUMALUMINATE = MaterialWrapper.of(() -> Materials.SodiumAluminate); - public static final MaterialWrapper ALUMINIUMOXIDE = MaterialWrapper.of(() -> Materials.Aluminiumoxide); - public static final MaterialWrapper ALUMINIUMHYDROXIDE = MaterialWrapper.of(() -> Materials.Aluminiumhydroxide); - public static final MaterialWrapper CRYOLITE = MaterialWrapper.of(() -> Materials.Cryolite); - public static final MaterialWrapper REDMUD = MaterialWrapper.of(() -> Materials.RedMud); - public static final MaterialWrapper BRICK = MaterialWrapper.of(() -> Materials.Brick); - public static final MaterialWrapper FIRECLAY = MaterialWrapper.of(() -> Materials.Fireclay); - public static final MaterialWrapper POTASSIUMNITRADE = MaterialWrapper.of(() -> Materials.PotassiumNitrade); + public static final MaterialWrapper PULSATINGIRON = MaterialWrapper.of(() -> Materials.PulsatingIron); + public static final MaterialWrapper CRYSTALLINEALLOY = MaterialWrapper.of(() -> Materials.CrystallineAlloy); + public static final MaterialWrapper ENERGETICALLOY = MaterialWrapper.of(() -> Materials.EnergeticAlloy); + public static final MaterialWrapper ENERGETICSILVER = MaterialWrapper.of(() -> Materials.EnergeticSilver); + public static final MaterialWrapper MELODICALLOY = MaterialWrapper.of(() -> Materials.MelodicAlloy); + public static final MaterialWrapper CRYSTALLINEPINKSLIME = MaterialWrapper.of(() -> Materials.CrystallinePinkSlime); + public static final MaterialWrapper STELLARALLOY = MaterialWrapper.of(() -> Materials.StellarAlloy); + public static final MaterialWrapper VIBRANTALLOY = MaterialWrapper.of(() -> Materials.VibrantAlloy); + public static final MaterialWrapper VIVIDALLOY = MaterialWrapper.of(() -> Materials.VividAlloy); public static final MaterialWrapper CHROMIUMTRIOXIDE = MaterialWrapper.of(() -> Materials.ChromiumTrioxide); - public static final MaterialWrapper NITROCHLOROBENZENE = MaterialWrapper.of(() -> Materials.Nitrochlorobenzene); - public static final MaterialWrapper DIMETHYLBENZENE = MaterialWrapper.of(() -> Materials.Dimethylbenzene); - public static final MaterialWrapper POTASSIUMDICHROMATE = MaterialWrapper.of(() -> Materials.Potassiumdichromate); - public static final MaterialWrapper PHTHALICACID = MaterialWrapper.of(() -> Materials.PhthalicAcid); - public static final MaterialWrapper DICHLOROBENZIDINE = MaterialWrapper.of(() -> Materials.Dichlorobenzidine); public static final MaterialWrapper DIAMINOBENZIDIN = MaterialWrapper.of(() -> Materials.Diaminobenzidin); + public static final MaterialWrapper DICHLOROBENZIDINE = MaterialWrapper.of(() -> Materials.Dichlorobenzidine); + public static final MaterialWrapper DIMETHYLBENZENE = MaterialWrapper.of(() -> Materials.Dimethylbenzene); public static final MaterialWrapper DIPHENYLISOPHTHALATE = MaterialWrapper.of(() -> Materials.Diphenylisophthalate); + public static final MaterialWrapper NITROCHLOROBENZENE = MaterialWrapper.of(() -> Materials.Nitrochlorobenzene); + public static final MaterialWrapper PHTHALICACID = MaterialWrapper.of(() -> Materials.PhthalicAcid); public static final MaterialWrapper POLYBENZIMIDAZOLE = MaterialWrapper.of(() -> Materials.Polybenzimidazole); + public static final MaterialWrapper POTASSIUMNITRADE = MaterialWrapper.of(() -> Materials.PotassiumNitrade); + public static final MaterialWrapper POTASSIUMDICHROMATE = MaterialWrapper.of(() -> Materials.Potassiumdichromate); + public static final MaterialWrapper ANTIKNOCK = MaterialWrapper.of(() -> Materials.AntiKnock); + public static final MaterialWrapper GASOLINEPREMIUM = MaterialWrapper.of(() -> Materials.GasolinePremium); + public static final MaterialWrapper GASOLINERAW = MaterialWrapper.of(() -> Materials.GasolineRaw); + public static final MaterialWrapper GASOLINEREGULAR = MaterialWrapper.of(() -> Materials.GasolineRegular); public static final MaterialWrapper MTBEMIXTURE = MaterialWrapper.of(() -> Materials.MTBEMixture); public static final MaterialWrapper MTBEMIXTUREALT = MaterialWrapper.of(() -> Materials.MTBEMixtureAlt); public static final MaterialWrapper NITROUSOXIDE = MaterialWrapper.of(() -> Materials.NitrousOxide); - public static final MaterialWrapper ANTIKNOCK = MaterialWrapper.of(() -> Materials.AntiKnock); public static final MaterialWrapper OCTANE = MaterialWrapper.of(() -> Materials.Octane); - public static final MaterialWrapper GASOLINERAW = MaterialWrapper.of(() -> Materials.GasolineRaw); - public static final MaterialWrapper GASOLINEREGULAR = MaterialWrapper.of(() -> Materials.GasolineRegular); - public static final MaterialWrapper GASOLINEPREMIUM = MaterialWrapper.of(() -> Materials.GasolinePremium); + public static final MaterialWrapper BLOODINFUSEDIRON = MaterialWrapper.of(() -> Materials.BloodInfusedIron); public static final MaterialWrapper ELECTROTINE = MaterialWrapper.of(() -> Materials.Electrotine); public static final MaterialWrapper GALGADORIAN = MaterialWrapper.of(() -> Materials.Galgadorian); - public static final MaterialWrapper ENHANCEDGALGADORIAN = MaterialWrapper.of(() -> Materials.EnhancedGalgadorian); - public static final MaterialWrapper BLOODINFUSEDIRON = MaterialWrapper.of(() -> Materials.BloodInfusedIron); + public static final MaterialWrapper GALGADORIANENHANCED = MaterialWrapper.of(() -> Materials.GalgadorianEnhanced); public static final MaterialWrapper SHADOW = MaterialWrapper.of(() -> Materials.Shadow); - public static final MaterialWrapper LEDOX = MaterialWrapper.of(() -> Materials.Ledox); - public static final MaterialWrapper QUANTIUM = MaterialWrapper.of(() -> Materials.Quantium); - public static final MaterialWrapper MYTRYL = MaterialWrapper.of(() -> Materials.Mytryl); public static final MaterialWrapper BLACKPLUTONIUM = MaterialWrapper.of(() -> Materials.BlackPlutonium); public static final MaterialWrapper CALLISTOICE = MaterialWrapper.of(() -> Materials.CallistoIce); public static final MaterialWrapper DURALUMIN = MaterialWrapper.of(() -> Materials.Duralumin); - public static final MaterialWrapper ORIHARUKON = MaterialWrapper.of(() -> Materials.Oriharukon); + public static final MaterialWrapper LEDOX = MaterialWrapper.of(() -> Materials.Ledox); public static final MaterialWrapper MYSTERIOUSCRYSTAL = MaterialWrapper.of(() -> Materials.MysteriousCrystal); - public static final MaterialWrapper REDSTONEALLOY = MaterialWrapper.of(() -> Materials.RedstoneAlloy); - public static final MaterialWrapper SOULARIUM = MaterialWrapper.of(() -> Materials.Soularium); - public static final MaterialWrapper CONDUCTIVEIRON = MaterialWrapper.of(() -> Materials.ConductiveIron); - public static final MaterialWrapper ELECTRICALSTEEL = MaterialWrapper.of(() -> Materials.ElectricalSteel); - public static final MaterialWrapper ENERGETICALLOY = MaterialWrapper.of(() -> Materials.EnergeticAlloy); - public static final MaterialWrapper VIBRANTALLOY = MaterialWrapper.of(() -> Materials.VibrantAlloy); - public static final MaterialWrapper PULSATINGIRON = MaterialWrapper.of(() -> Materials.PulsatingIron); - public static final MaterialWrapper DARKSTEEL = MaterialWrapper.of(() -> Materials.DarkSteel); - public static final MaterialWrapper ENDSTEEL = MaterialWrapper.of(() -> Materials.EndSteel); - public static final MaterialWrapper CRUDESTEEL = MaterialWrapper.of(() -> Materials.CrudeSteel); - public static final MaterialWrapper CRYSTALLINEALLOY = MaterialWrapper.of(() -> Materials.CrystallineAlloy); - public static final MaterialWrapper MELODICALLOY = MaterialWrapper.of(() -> Materials.MelodicAlloy); - public static final MaterialWrapper STELLARALLOY = MaterialWrapper.of(() -> Materials.StellarAlloy); - public static final MaterialWrapper CRYSTALLINEPINKSLIME = MaterialWrapper.of(() -> Materials.CrystallinePinkSlime); - public static final MaterialWrapper ENERGETICSILVER = MaterialWrapper.of(() -> Materials.EnergeticSilver); - public static final MaterialWrapper VIVIDALLOY = MaterialWrapper.of(() -> Materials.VividAlloy); + public static final MaterialWrapper MYTRYL = MaterialWrapper.of(() -> Materials.Mytryl); + public static final MaterialWrapper QUANTIUM = MaterialWrapper.of(() -> Materials.Quantium); + public static final MaterialWrapper ASTRALSILVER = MaterialWrapper.of(() -> Materials.AstralSilver); + public static final MaterialWrapper BLUEALLOY = MaterialWrapper.of(() -> Materials.BlueAlloy); + public static final MaterialWrapper CLAYCOMPOUND = MaterialWrapper.of(() -> Materials.ClayCompound); public static final MaterialWrapper ENDERIUM = MaterialWrapper.of(() -> Materials.Enderium); public static final MaterialWrapper MITHRIL = MaterialWrapper.of(() -> Materials.Mithril); - public static final MaterialWrapper BLUEALLOY = MaterialWrapper.of(() -> Materials.BlueAlloy); public static final MaterialWrapper SHADOWIRON = MaterialWrapper.of(() -> Materials.ShadowIron); public static final MaterialWrapper SHADOWSTEEL = MaterialWrapper.of(() -> Materials.ShadowSteel); - public static final MaterialWrapper ASTRALSILVER = MaterialWrapper.of(() -> Materials.AstralSilver); - public static final MaterialWrapper INFINITYCATALYST = MaterialWrapper.of(() -> Materials.InfinityCatalyst); - public static final MaterialWrapper INFINITY = MaterialWrapper.of(() -> Materials.Infinity); + public static final MaterialWrapper SOULARIUM = MaterialWrapper.of(() -> Materials.Soularium); public static final MaterialWrapper BEDROCKIUM = MaterialWrapper.of(() -> Materials.Bedrockium); - public static final MaterialWrapper TRINIUM = MaterialWrapper.of(() -> Materials.Trinium); - public static final MaterialWrapper ICHORIUM = MaterialWrapper.of(() -> Materials.Ichorium); public static final MaterialWrapper COSMICNEUTRONIUM = MaterialWrapper.of(() -> Materials.CosmicNeutronium); - public static final MaterialWrapper PENTACADMIUMMAGNESIUMHEXAOXID = MaterialWrapper.of(() -> Materials.Pentacadmiummagnesiumhexaoxid); - public static final MaterialWrapper TITANIUMONABARIUMDECACOPPEREIKOSAOXID = MaterialWrapper.of(() -> Materials.Titaniumonabariumdecacoppereikosaoxid); - public static final MaterialWrapper URANIUMTRIPLATINID = MaterialWrapper.of(() -> Materials.Uraniumtriplatinid); - public static final MaterialWrapper VANADIUMTRIINDINID = MaterialWrapper.of(() -> Materials.Vanadiumtriindinid); - public static final MaterialWrapper TETRAINDIUMDITINDIBARIUMTITANIUMHEPTACOPPERTETRAKAIDEKAOXID = MaterialWrapper.of(() -> Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid); - public static final MaterialWrapper TETRANAQUADAHDIINDIUMHEXAPLATIUMOSMINID = MaterialWrapper.of(() -> Materials.Tetranaquadahdiindiumhexaplatiumosminid); - public static final MaterialWrapper LONGASSSUPERCONDUCTORNAMEFORUVWIRE = MaterialWrapper.of(() -> Materials.Longasssuperconductornameforuvwire); - public static final MaterialWrapper LONGASSSUPERCONDUCTORNAMEFORUHVWIRE = MaterialWrapper.of(() -> Materials.Longasssuperconductornameforuhvwire); + public static final MaterialWrapper ICHORIUM = MaterialWrapper.of(() -> Materials.Ichorium); + public static final MaterialWrapper INFINITY = MaterialWrapper.of(() -> Materials.Infinity); + public static final MaterialWrapper INFINITYCATALYST = MaterialWrapper.of(() -> Materials.InfinityCatalyst); + public static final MaterialWrapper TRINIUM = MaterialWrapper.of(() -> Materials.Trinium); + public static final MaterialWrapper SUPERCONDUCTORMVBASE = MaterialWrapper.of(() -> Materials.SuperconductorMVBase); + public static final MaterialWrapper SUPERCONDUCTORHVBASE = MaterialWrapper.of(() -> Materials.SuperconductorHVBase); + public static final MaterialWrapper SUPERCONDUCTOREVBASE = MaterialWrapper.of(() -> Materials.SuperconductorEVBase); + public static final MaterialWrapper SUPERCONDUCTORIVBASE = MaterialWrapper.of(() -> Materials.SuperconductorIVBase); + public static final MaterialWrapper SUPERCONDUCTORLUVBASE = MaterialWrapper.of(() -> Materials.SuperconductorLuVBase); + public static final MaterialWrapper SUPERCONDUCTORZPMBASE = MaterialWrapper.of(() -> Materials.SuperconductorZPMBase); + public static final MaterialWrapper SUPERCONDUCTORUVBASE = MaterialWrapper.of(() -> Materials.SuperconductorUVBase); + public static final MaterialWrapper SUPERCONDUCTORUHVBASE = MaterialWrapper.of(() -> Materials.SuperconductorUHVBase); public static final MaterialWrapper SUPERCONDUCTORUEVBASE = MaterialWrapper.of(() -> Materials.SuperconductorUEVBase); public static final MaterialWrapper SUPERCONDUCTORUIVBASE = MaterialWrapper.of(() -> Materials.SuperconductorUIVBase); public static final MaterialWrapper SUPERCONDUCTORUMVBASE = MaterialWrapper.of(() -> Materials.SuperconductorUMVBase); @@ -758,27 +758,22 @@ private GTMats() { } public static final MaterialWrapper SUPERCONDUCTORUEV = MaterialWrapper.of(() -> Materials.SuperconductorUEV); public static final MaterialWrapper SUPERCONDUCTORUIV = MaterialWrapper.of(() -> Materials.SuperconductorUIV); public static final MaterialWrapper SUPERCONDUCTORUMV = MaterialWrapper.of(() -> Materials.SuperconductorUMV); - public static final MaterialWrapper SUPERCOOLANT = MaterialWrapper.of(() -> Materials.SuperCoolant); - public static final MaterialWrapper ENRICHEDHOLMIUM = MaterialWrapper.of(() -> Materials.EnrichedHolmium); - public static final MaterialWrapper TENGAMPURIFIED = MaterialWrapper.of(() -> Materials.TengamPurified); - public static final MaterialWrapper TENGAMATTUNED = MaterialWrapper.of(() -> Materials.TengamAttuned); - public static final MaterialWrapper TENGAMRAW = MaterialWrapper.of(() -> Materials.TengamRaw); public static final MaterialWrapper ACTIVATEDCARBON = MaterialWrapper.of(() -> Materials.ActivatedCarbon); public static final MaterialWrapper PREACTIVATEDCARBON = MaterialWrapper.of(() -> Materials.PreActivatedCarbon); public static final MaterialWrapper DIRTYACTIVATEDCARBON = MaterialWrapper.of(() -> Materials.DirtyActivatedCarbon); public static final MaterialWrapper POLYALUMINIUMCHLORIDE = MaterialWrapper.of(() -> Materials.PolyAluminiumChloride); public static final MaterialWrapper OZONE = MaterialWrapper.of(() -> Materials.Ozone); public static final MaterialWrapper STABLEBARYONICMATTER = MaterialWrapper.of(() -> Materials.StableBaryonicMatter); - public static final MaterialWrapper RAWRADOX = MaterialWrapper.of(() -> Materials.RawRadox); - public static final MaterialWrapper RADOXSUPERLIGHT = MaterialWrapper.of(() -> Materials.RadoxSuperLight); - public static final MaterialWrapper RADOXLIGHT = MaterialWrapper.of(() -> Materials.RadoxLight); - public static final MaterialWrapper RADOXHEAVY = MaterialWrapper.of(() -> Materials.RadoxHeavy); - public static final MaterialWrapper RADOXSUPERHEAVY = MaterialWrapper.of(() -> Materials.RadoxSuperHeavy); - public static final MaterialWrapper XENOXENE = MaterialWrapper.of(() -> Materials.Xenoxene); - public static final MaterialWrapper DILUTEDXENOXENE = MaterialWrapper.of(() -> Materials.DilutedXenoxene); public static final MaterialWrapper RADOXCRACKED = MaterialWrapper.of(() -> Materials.RadoxCracked); public static final MaterialWrapper RADOXGAS = MaterialWrapper.of(() -> Materials.RadoxGas); + public static final MaterialWrapper RADOXHEAVY = MaterialWrapper.of(() -> Materials.RadoxHeavy); + public static final MaterialWrapper RADOXLIGHT = MaterialWrapper.of(() -> Materials.RadoxLight); public static final MaterialWrapper RADOXPOLYMER = MaterialWrapper.of(() -> Materials.RadoxPolymer); + public static final MaterialWrapper RADOXRAW = MaterialWrapper.of(() -> Materials.RadoxRaw); + public static final MaterialWrapper RADOXSUPERHEAVY = MaterialWrapper.of(() -> Materials.RadoxSuperHeavy); + public static final MaterialWrapper RADOXSUPERLIGHT = MaterialWrapper.of(() -> Materials.RadoxSuperLight); + public static final MaterialWrapper XENOXENE = MaterialWrapper.of(() -> Materials.Xenoxene); + public static final MaterialWrapper XENOXENEDILUTED = MaterialWrapper.of(() -> Materials.XenoxeneDiluted); public static final MaterialWrapper NETHERAIR = MaterialWrapper.of(() -> Materials.NetherAir); public static final MaterialWrapper NETHERSEMIFLUID = MaterialWrapper.of(() -> Materials.NetherSemiFluid); public static final MaterialWrapper NEFARIOUSGAS = MaterialWrapper.of(() -> Materials.NefariousGas); @@ -788,97 +783,137 @@ private GTMats() { } public static final MaterialWrapper HELLISHMETAL = MaterialWrapper.of(() -> Materials.HellishMetal); public static final MaterialWrapper NETHERITE = MaterialWrapper.of(() -> Materials.Netherite); public static final MaterialWrapper ACTIVATEDNETHERITE = MaterialWrapper.of(() -> Materials.ActivatedNetherite); - //#endregion - - //#region src/main/java/gregtech/api/enums/MaterialsKevlar.java - public static final MaterialWrapper DIPHENYLMETHANEDIISOCYANATE = MaterialWrapper.of(() -> MaterialsKevlar.DiphenylmethaneDiisocyanate); - public static final MaterialWrapper DIAMINODIPHENYLMETHANMIXTURE = MaterialWrapper.of(() -> MaterialsKevlar.DiaminodiphenylmethanMixture); - public static final MaterialWrapper DIPHENYLMETHANEDIISOCYANATEMIXTURE = MaterialWrapper.of(() -> MaterialsKevlar.DiphenylmethaneDiisocyanateMixture); - public static final MaterialWrapper BUTYRALDEHYDE = MaterialWrapper.of(() -> MaterialsKevlar.Butyraldehyde); - public static final MaterialWrapper ISOBUTYRALDEHYDE = MaterialWrapper.of(() -> MaterialsKevlar.Isobutyraldehyde); - public static final MaterialWrapper NICKELTETRACARBONYL = MaterialWrapper.of(() -> MaterialsKevlar.NickelTetracarbonyl); - public static final MaterialWrapper KEVLARCATALYST = MaterialWrapper.of(() -> MaterialsKevlar.KevlarCatalyst); - public static final MaterialWrapper ETHYLENEOXIDE = MaterialWrapper.of(() -> MaterialsKevlar.EthyleneOxide); - public static final MaterialWrapper SILICONOIL = MaterialWrapper.of(() -> MaterialsKevlar.SiliconOil); - public static final MaterialWrapper ETHYLENEGLYCOL = MaterialWrapper.of(() -> MaterialsKevlar.Ethyleneglycol); - public static final MaterialWrapper ACETALDEHYDE = MaterialWrapper.of(() -> MaterialsKevlar.Acetaldehyde); - public static final MaterialWrapper PENTAERYTHRITOL = MaterialWrapper.of(() -> MaterialsKevlar.Pentaerythritol); - public static final MaterialWrapper POLYURETHANERESIN = MaterialWrapper.of(() -> MaterialsKevlar.PolyurethaneResin); - public static final MaterialWrapper NMETHYLIIPYRROLIDONE = MaterialWrapper.of(() -> MaterialsKevlar.NMethylIIPyrrolidone); - public static final MaterialWrapper TEREPHTHALOYLCHLORIDE = MaterialWrapper.of(() -> MaterialsKevlar.TerephthaloylChloride); - public static final MaterialWrapper ACETYLENE = MaterialWrapper.of(() -> MaterialsKevlar.Acetylene); - public static final MaterialWrapper IVNITROANILINE = MaterialWrapper.of(() -> MaterialsKevlar.IVNitroaniline); - public static final MaterialWrapper PARAPHENYLENEDIAMINE = MaterialWrapper.of(() -> MaterialsKevlar.ParaPhenylenediamine); - public static final MaterialWrapper METHYLAMINE = MaterialWrapper.of(() -> MaterialsKevlar.Methylamine); - public static final MaterialWrapper TRIMETHYLAMINE = MaterialWrapper.of(() -> MaterialsKevlar.Trimethylamine); - public static final MaterialWrapper GAMMABUTYROLACTONE = MaterialWrapper.of(() -> MaterialsKevlar.GammaButyrolactone); - public static final MaterialWrapper CALCIUMCARBIDE = MaterialWrapper.of(() -> MaterialsKevlar.CalciumCarbide); - public static final MaterialWrapper LIQUIDCRYSTALKEVLAR = MaterialWrapper.of(() -> MaterialsKevlar.LiquidCrystalKevlar); - public static final MaterialWrapper IIBUTINIIVDIOL = MaterialWrapper.of(() -> MaterialsKevlar.IIButinIIVdiol); - public static final MaterialWrapper NICKELALUMINIDE = MaterialWrapper.of(() -> MaterialsKevlar.NickelAluminide); - public static final MaterialWrapper RANEYNICKELACTIVATED = MaterialWrapper.of(() -> MaterialsKevlar.RaneyNickelActivated); - public static final MaterialWrapper BISMUTHIIIOXIDE = MaterialWrapper.of(() -> MaterialsKevlar.BismuthIIIOxide); - public static final MaterialWrapper THIONYLCHLORIDE = MaterialWrapper.of(() -> MaterialsKevlar.ThionylChloride); - public static final MaterialWrapper SULFURDICHLORIDE = MaterialWrapper.of(() -> MaterialsKevlar.SulfurDichloride); - public static final MaterialWrapper DIMETHYLTEREPHTHALATE = MaterialWrapper.of(() -> MaterialsKevlar.DimethylTerephthalate); - public static final MaterialWrapper KEVLAR = MaterialWrapper.of(() -> MaterialsKevlar.Kevlar); - public static final MaterialWrapper TEREPHTHALICACID = MaterialWrapper.of(() -> MaterialsKevlar.TerephthalicAcid); - public static final MaterialWrapper IIIDIMETHYLBENZENE = MaterialWrapper.of(() -> MaterialsKevlar.IIIDimethylbenzene); - public static final MaterialWrapper IVDIMETHYLBENZENE = MaterialWrapper.of(() -> MaterialsKevlar.IVDimethylbenzene); - public static final MaterialWrapper COBALTIINAPHTHENATE = MaterialWrapper.of(() -> MaterialsKevlar.CobaltIINaphthenate); - public static final MaterialWrapper NAPHTHENICACID = MaterialWrapper.of(() -> MaterialsKevlar.NaphthenicAcid); - public static final MaterialWrapper COBALTIIHYDROXIDE = MaterialWrapper.of(() -> MaterialsKevlar.CobaltIIHydroxide); - public static final MaterialWrapper COBALTIIACETATE = MaterialWrapper.of(() -> MaterialsKevlar.CobaltIIAcetate); - public static final MaterialWrapper COBALTIINITRATE = MaterialWrapper.of(() -> MaterialsKevlar.CobaltIINitrate); - public static final MaterialWrapper ORGANORHODIUMCATALYST = MaterialWrapper.of(() -> MaterialsKevlar.OrganorhodiumCatalyst); - public static final MaterialWrapper SODIUMBOROHYDRIDE = MaterialWrapper.of(() -> MaterialsKevlar.SodiumBorohydride); - public static final MaterialWrapper RHODIUMCHLORIDE = MaterialWrapper.of(() -> MaterialsKevlar.RhodiumChloride); - public static final MaterialWrapper TRIPHENYLPHOSPHENE = MaterialWrapper.of(() -> MaterialsKevlar.Triphenylphosphene); - public static final MaterialWrapper PHOSPHORUSTRICHLORIDE = MaterialWrapper.of(() -> MaterialsKevlar.PhosphorusTrichloride); - public static final MaterialWrapper SODIUMHYDRIDE = MaterialWrapper.of(() -> MaterialsKevlar.SodiumHydride); - public static final MaterialWrapper TRIMETHYLBORATE = MaterialWrapper.of(() -> MaterialsKevlar.TrimethylBorate); - public static final MaterialWrapper SODIUMMETHOXIDE = MaterialWrapper.of(() -> MaterialsKevlar.SodiumMethoxide); - //#endregion - - //#region src/main/java/gregtech/api/enums/MaterialsUEVplus.java - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTCRUDECATALYST = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentCrudeCatalyst); - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTPROSAICCATALYST = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentProsaicCatalyst); - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTRESPLENDENTCATALYST = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentResplendentCatalyst); - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTEXOTICCATALYST = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentExoticCatalyst); - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTSTELLARCATALYST = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentStellarCatalyst); - public static final MaterialWrapper EXCITEDDTCC = MaterialWrapper.of(() -> MaterialsUEVplus.ExcitedDTCC); - public static final MaterialWrapper EXCITEDDTPC = MaterialWrapper.of(() -> MaterialsUEVplus.ExcitedDTPC); - public static final MaterialWrapper EXCITEDDTRC = MaterialWrapper.of(() -> MaterialsUEVplus.ExcitedDTRC); - public static final MaterialWrapper EXCITEDDTEC = MaterialWrapper.of(() -> MaterialsUEVplus.ExcitedDTEC); - public static final MaterialWrapper EXCITEDDTSC = MaterialWrapper.of(() -> MaterialsUEVplus.ExcitedDTSC); - public static final MaterialWrapper DIMENSIONALLYTRANSCENDENTRESIDUE = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyTranscendentResidue); - public static final MaterialWrapper SPACETIME = MaterialWrapper.of(() -> MaterialsUEVplus.SpaceTime); - public static final MaterialWrapper TRANSCENDENTMETAL = MaterialWrapper.of(() -> MaterialsUEVplus.TranscendentMetal); - public static final MaterialWrapper MAGNETOHYDRODYNAMICALLYCONSTRAINEDSTARMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - public static final MaterialWrapper RAWSTARMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.RawStarMatter); - public static final MaterialWrapper WHITEDWARFMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.WhiteDwarfMatter); - public static final MaterialWrapper BLACKDWARFMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.BlackDwarfMatter); - public static final MaterialWrapper TIME = MaterialWrapper.of(() -> MaterialsUEVplus.Time); - public static final MaterialWrapper SPACE = MaterialWrapper.of(() -> MaterialsUEVplus.Space); - public static final MaterialWrapper UNIVERSIUM = MaterialWrapper.of(() -> MaterialsUEVplus.Universium); - public static final MaterialWrapper ETERNITY = MaterialWrapper.of(() -> MaterialsUEVplus.Eternity); - public static final MaterialWrapper PRIMORDIALMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.PrimordialMatter); - public static final MaterialWrapper MAGMATTER = MaterialWrapper.of(() -> MaterialsUEVplus.MagMatter); - public static final MaterialWrapper QUARKGLUONPLASMA = MaterialWrapper.of(() -> MaterialsUEVplus.QuarkGluonPlasma); - public static final MaterialWrapper PHONONMEDIUM = MaterialWrapper.of(() -> MaterialsUEVplus.PhononMedium); - public static final MaterialWrapper PHONONCRYSTALSOLUTION = MaterialWrapper.of(() -> MaterialsUEVplus.PhononCrystalSolution); - public static final MaterialWrapper SIXPHASEDCOPPER = MaterialWrapper.of(() -> MaterialsUEVplus.SixPhasedCopper); - public static final MaterialWrapper MELLION = MaterialWrapper.of(() -> MaterialsUEVplus.Mellion); - public static final MaterialWrapper CREON = MaterialWrapper.of(() -> MaterialsUEVplus.Creon); - public static final MaterialWrapper GRAVITONSHARD = MaterialWrapper.of(() -> MaterialsUEVplus.GravitonShard); - public static final MaterialWrapper DIMENSIONALLYSHIFTEDSUPERFLUID = MaterialWrapper.of(() -> MaterialsUEVplus.DimensionallyShiftedSuperfluid); - public static final MaterialWrapper MOLTENPROTOHALKONITEBASE = MaterialWrapper.of(() -> MaterialsUEVplus.MoltenProtoHalkoniteBase); - public static final MaterialWrapper HOTPROTOHALKONITE = MaterialWrapper.of(() -> MaterialsUEVplus.HotProtoHalkonite); - public static final MaterialWrapper PROTOHALKONITE = MaterialWrapper.of(() -> MaterialsUEVplus.ProtoHalkonite); - public static final MaterialWrapper MOLTENEXOHALKONITEBASE = MaterialWrapper.of(() -> MaterialsUEVplus.MoltenExoHalkoniteBase); - public static final MaterialWrapper HOTEXOHALKONITE = MaterialWrapper.of(() -> MaterialsUEVplus.HotExoHalkonite); - public static final MaterialWrapper EXOHALKONITE = MaterialWrapper.of(() -> MaterialsUEVplus.ExoHalkonite); - public static final MaterialWrapper STARGATECRYSTALSLURRY = MaterialWrapper.of(() -> MaterialsUEVplus.StargateCrystalSlurry); + public static final MaterialWrapper PRISMARINESOLUTION = MaterialWrapper.of(() -> Materials.PrismarineSolution); + public static final MaterialWrapper PRISMARINECONTAMINATEDHYDROGENPEROXIDE = MaterialWrapper.of(() -> Materials.PrismarineContaminatedHydrogenPeroxide); + public static final MaterialWrapper PRISMARINERICHNITROBENZENESOLUTION = MaterialWrapper.of(() -> Materials.PrismarineRichNitrobenzeneSolution); + public static final MaterialWrapper PRISMARINECONTAMINATEDNITROBENZESOLUTION = MaterialWrapper.of(() -> Materials.PrismarineContaminatedNitrobenzeSolution); + public static final MaterialWrapper PRISMATICGAS = MaterialWrapper.of(() -> Materials.PrismaticGas); + public static final MaterialWrapper PRISMATICACID = MaterialWrapper.of(() -> Materials.PrismaticAcid); + public static final MaterialWrapper PRISMATICNAQUADAH = MaterialWrapper.of(() -> Materials.PrismaticNaquadah); + public static final MaterialWrapper PRISMATICNAQUADAHCOMPOSITESLURRY = MaterialWrapper.of(() -> Materials.PrismaticNaquadahCompositeSlurry); + public static final MaterialWrapper COMPLEXITYCATALYST = MaterialWrapper.of(() -> Materials.ComplexityCatalyst); + public static final MaterialWrapper ENTROPICCATALYST = MaterialWrapper.of(() -> Materials.EntropicCatalyst); + public static final MaterialWrapper MANASTEEL = MaterialWrapper.of(() -> Materials.Manasteel); + public static final MaterialWrapper TERRASTEEL = MaterialWrapper.of(() -> Materials.Terrasteel); + public static final MaterialWrapper ELVENELEMENTIUM = MaterialWrapper.of(() -> Materials.ElvenElementium); + public static final MaterialWrapper LIVINGROCK = MaterialWrapper.of(() -> Materials.Livingrock); + public static final MaterialWrapper GAIASPIRIT = MaterialWrapper.of(() -> Materials.GaiaSpirit); + public static final MaterialWrapper LIVINGWOOD = MaterialWrapper.of(() -> Materials.Livingwood); + public static final MaterialWrapper DREAMWOOD = MaterialWrapper.of(() -> Materials.Dreamwood); + public static final MaterialWrapper MANADIAMOND = MaterialWrapper.of(() -> Materials.ManaDiamond); + public static final MaterialWrapper DRAGONSTONE = MaterialWrapper.of(() -> Materials.Dragonstone); + public static final MaterialWrapper DIPHENYLMETHANEDIISOCYANATE = MaterialWrapper.of(() -> Materials.DiphenylmethaneDiisocyanate); + public static final MaterialWrapper DIAMINODIPHENYLMETHANMIXTURE = MaterialWrapper.of(() -> Materials.DiaminodiphenylmethanMixture); + public static final MaterialWrapper DIPHENYLMETHANEDIISOCYANATEMIXTURE = MaterialWrapper.of(() -> Materials.DiphenylmethaneDiisocyanateMixture); + public static final MaterialWrapper BUTYRALDEHYDE = MaterialWrapper.of(() -> Materials.Butyraldehyde); + public static final MaterialWrapper ISOBUTYRALDEHYDE = MaterialWrapper.of(() -> Materials.Isobutyraldehyde); + public static final MaterialWrapper NICKELTETRACARBONYL = MaterialWrapper.of(() -> Materials.NickelTetracarbonyl); + public static final MaterialWrapper KEVLARCATALYST = MaterialWrapper.of(() -> Materials.KevlarCatalyst); + public static final MaterialWrapper ETHYLENEOXIDE = MaterialWrapper.of(() -> Materials.EthyleneOxide); + public static final MaterialWrapper SILICONOIL = MaterialWrapper.of(() -> Materials.SiliconOil); + public static final MaterialWrapper ETHYLENEGLYCOL = MaterialWrapper.of(() -> Materials.Ethyleneglycol); + public static final MaterialWrapper ACETALDEHYDE = MaterialWrapper.of(() -> Materials.Acetaldehyde); + public static final MaterialWrapper PENTAERYTHRITOL = MaterialWrapper.of(() -> Materials.Pentaerythritol); + public static final MaterialWrapper POLYURETHANERESIN = MaterialWrapper.of(() -> Materials.PolyurethaneResin); + public static final MaterialWrapper NMETHYLIIPYRROLIDONE = MaterialWrapper.of(() -> Materials.NMethylIIPyrrolidone); + public static final MaterialWrapper TEREPHTHALOYLCHLORIDE = MaterialWrapper.of(() -> Materials.TerephthaloylChloride); + public static final MaterialWrapper ACETYLENE = MaterialWrapper.of(() -> Materials.Acetylene); + public static final MaterialWrapper IVNITROANILINE = MaterialWrapper.of(() -> Materials.IVNitroaniline); + public static final MaterialWrapper PARAPHENYLENEDIAMINE = MaterialWrapper.of(() -> Materials.ParaPhenylenediamine); + public static final MaterialWrapper METHYLAMINE = MaterialWrapper.of(() -> Materials.Methylamine); + public static final MaterialWrapper TRIMETHYLAMINE = MaterialWrapper.of(() -> Materials.Trimethylamine); + public static final MaterialWrapper GAMMABUTYROLACTONE = MaterialWrapper.of(() -> Materials.GammaButyrolactone); + public static final MaterialWrapper CALCIUMCARBIDE = MaterialWrapper.of(() -> Materials.CalciumCarbide); + public static final MaterialWrapper LIQUIDCRYSTALKEVLAR = MaterialWrapper.of(() -> Materials.LiquidCrystalKevlar); + public static final MaterialWrapper IIBUTINIIVDIOL = MaterialWrapper.of(() -> Materials.IIButinIIVdiol); + public static final MaterialWrapper NICKELALUMINIDE = MaterialWrapper.of(() -> Materials.NickelAluminide); + public static final MaterialWrapper RANEYNICKELACTIVATED = MaterialWrapper.of(() -> Materials.RaneyNickelActivated); + public static final MaterialWrapper BISMUTHIIIOXIDE = MaterialWrapper.of(() -> Materials.BismuthIIIOxide); + public static final MaterialWrapper THIONYLCHLORIDE = MaterialWrapper.of(() -> Materials.ThionylChloride); + public static final MaterialWrapper SULFURDICHLORIDE = MaterialWrapper.of(() -> Materials.SulfurDichloride); + public static final MaterialWrapper DIMETHYLTEREPHTHALATE = MaterialWrapper.of(() -> Materials.DimethylTerephthalate); + public static final MaterialWrapper KEVLAR = MaterialWrapper.of(() -> Materials.Kevlar); + public static final MaterialWrapper TEREPHTHALICACID = MaterialWrapper.of(() -> Materials.TerephthalicAcid); + public static final MaterialWrapper IIIDIMETHYLBENZENE = MaterialWrapper.of(() -> Materials.IIIDimethylbenzene); + public static final MaterialWrapper IVDIMETHYLBENZENE = MaterialWrapper.of(() -> Materials.IVDimethylbenzene); + public static final MaterialWrapper COBALTIINAPHTHENATE = MaterialWrapper.of(() -> Materials.CobaltIINaphthenate); + public static final MaterialWrapper NAPHTHENICACID = MaterialWrapper.of(() -> Materials.NaphthenicAcid); + public static final MaterialWrapper COBALTIIHYDROXIDE = MaterialWrapper.of(() -> Materials.CobaltIIHydroxide); + public static final MaterialWrapper COBALTIIACETATE = MaterialWrapper.of(() -> Materials.CobaltIIAcetate); + public static final MaterialWrapper COBALTIINITRATE = MaterialWrapper.of(() -> Materials.CobaltIINitrate); + public static final MaterialWrapper ORGANORHODIUMCATALYST = MaterialWrapper.of(() -> Materials.OrganorhodiumCatalyst); + public static final MaterialWrapper SODIUMBOROHYDRIDE = MaterialWrapper.of(() -> Materials.SodiumBorohydride); + public static final MaterialWrapper RHODIUMCHLORIDE = MaterialWrapper.of(() -> Materials.RhodiumChloride); + public static final MaterialWrapper TRIPHENYLPHOSPHENE = MaterialWrapper.of(() -> Materials.Triphenylphosphene); + public static final MaterialWrapper PHOSPHORUSTRICHLORIDE = MaterialWrapper.of(() -> Materials.PhosphorusTrichloride); + public static final MaterialWrapper SODIUMHYDRIDE = MaterialWrapper.of(() -> Materials.SodiumHydride); + public static final MaterialWrapper TRIMETHYLBORATE = MaterialWrapper.of(() -> Materials.TrimethylBorate); + public static final MaterialWrapper SODIUMMETHOXIDE = MaterialWrapper.of(() -> Materials.SodiumMethoxide); + public static final MaterialWrapper BAUXITESLURRY = MaterialWrapper.of(() -> Materials.BauxiteSlurry); + public static final MaterialWrapper HEATEDBAUXITESLURRY = MaterialWrapper.of(() -> Materials.HeatedBauxiteSlurry); + public static final MaterialWrapper SLUICEJUICE = MaterialWrapper.of(() -> Materials.SluiceJuice); + public static final MaterialWrapper SLUICESAND = MaterialWrapper.of(() -> Materials.SluiceSand); + public static final MaterialWrapper BAUXITESLAG = MaterialWrapper.of(() -> Materials.BauxiteSlag); + public static final MaterialWrapper ILMENITESLAG = MaterialWrapper.of(() -> Materials.IlmeniteSlag); + public static final MaterialWrapper GREENSAPPHIREJUICE = MaterialWrapper.of(() -> Materials.GreenSapphireJuice); + public static final MaterialWrapper SAPPHIREJUICE = MaterialWrapper.of(() -> Materials.SapphireJuice); + public static final MaterialWrapper RUBYJUICE = MaterialWrapper.of(() -> Materials.RubyJuice); + public static final MaterialWrapper DTCC = MaterialWrapper.of(() -> Materials.DTCC); + public static final MaterialWrapper DTPC = MaterialWrapper.of(() -> Materials.DTPC); + public static final MaterialWrapper DTRC = MaterialWrapper.of(() -> Materials.DTRC); + public static final MaterialWrapper DTEC = MaterialWrapper.of(() -> Materials.DTEC); + public static final MaterialWrapper DTSC = MaterialWrapper.of(() -> Materials.DTSC); + public static final MaterialWrapper EXCITEDDTCC = MaterialWrapper.of(() -> Materials.ExcitedDTCC); + public static final MaterialWrapper EXCITEDDTPC = MaterialWrapper.of(() -> Materials.ExcitedDTPC); + public static final MaterialWrapper EXCITEDDTRC = MaterialWrapper.of(() -> Materials.ExcitedDTRC); + public static final MaterialWrapper EXCITEDDTEC = MaterialWrapper.of(() -> Materials.ExcitedDTEC); + public static final MaterialWrapper EXCITEDDTSC = MaterialWrapper.of(() -> Materials.ExcitedDTSC); + public static final MaterialWrapper DTR = MaterialWrapper.of(() -> Materials.DTR); + public static final MaterialWrapper SPACETIME = MaterialWrapper.of(() -> Materials.SpaceTime); + public static final MaterialWrapper TRANSCENDENTMETAL = MaterialWrapper.of(() -> Materials.TranscendentMetal); + public static final MaterialWrapper MHDCSM = MaterialWrapper.of(() -> Materials.MHDCSM); + public static final MaterialWrapper RAWSTARMATTER = MaterialWrapper.of(() -> Materials.RawStarMatter); + public static final MaterialWrapper WHITEDWARFMATTER = MaterialWrapper.of(() -> Materials.WhiteDwarfMatter); + public static final MaterialWrapper BLACKDWARFMATTER = MaterialWrapper.of(() -> Materials.BlackDwarfMatter); + public static final MaterialWrapper TIME = MaterialWrapper.of(() -> Materials.Time); + public static final MaterialWrapper SPACE = MaterialWrapper.of(() -> Materials.Space); + public static final MaterialWrapper UNIVERSIUM = MaterialWrapper.of(() -> Materials.Universium); + public static final MaterialWrapper ETERNITY = MaterialWrapper.of(() -> Materials.Eternity); + public static final MaterialWrapper PRIMORDIALMATTER = MaterialWrapper.of(() -> Materials.PrimordialMatter); + public static final MaterialWrapper MAGMATTER = MaterialWrapper.of(() -> Materials.MagMatter); + public static final MaterialWrapper QUARKGLUONPLASMA = MaterialWrapper.of(() -> Materials.QuarkGluonPlasma); + public static final MaterialWrapper PHONONMEDIUM = MaterialWrapper.of(() -> Materials.PhononMedium); + public static final MaterialWrapper PHONONCRYSTALSOLUTION = MaterialWrapper.of(() -> Materials.PhononCrystalSolution); + public static final MaterialWrapper SIXPHASEDCOPPER = MaterialWrapper.of(() -> Materials.SixPhasedCopper); + public static final MaterialWrapper MELLION = MaterialWrapper.of(() -> Materials.Mellion); + public static final MaterialWrapper CREON = MaterialWrapper.of(() -> Materials.Creon); + public static final MaterialWrapper GRAVITONSHARD = MaterialWrapper.of(() -> Materials.GravitonShard); + public static final MaterialWrapper DIMENSIONALLYSHIFTEDSUPERFLUID = MaterialWrapper.of(() -> Materials.DimensionallyShiftedSuperfluid); + public static final MaterialWrapper MOLTENPROTOHALKONITEBASE = MaterialWrapper.of(() -> Materials.MoltenProtoHalkoniteBase); + public static final MaterialWrapper HOTPROTOHALKONITE = MaterialWrapper.of(() -> Materials.HotProtoHalkonite); + public static final MaterialWrapper PROTOHALKONITE = MaterialWrapper.of(() -> Materials.ProtoHalkonite); + public static final MaterialWrapper MOLTENEXOHALKONITEBASE = MaterialWrapper.of(() -> Materials.MoltenExoHalkoniteBase); + public static final MaterialWrapper HOTEXOHALKONITE = MaterialWrapper.of(() -> Materials.HotExoHalkonite); + public static final MaterialWrapper EXOHALKONITE = MaterialWrapper.of(() -> Materials.ExoHalkonite); + public static final MaterialWrapper PROTOMATTER = MaterialWrapper.of(() -> Materials.Protomatter); + public static final MaterialWrapper STARGATECRYSTALSLURRY = MaterialWrapper.of(() -> Materials.StargateCrystalSlurry); + public static final MaterialWrapper LUMIPODEXTRACT = MaterialWrapper.of(() -> Materials.LumipodExtract); + public static final MaterialWrapper BIOCATALYZEDPROPULSIONFLUID = MaterialWrapper.of(() -> Materials.BiocatalyzedPropulsionFluid); + public static final MaterialWrapper SIGNALUM = MaterialWrapper.of(() -> Materials.Signalum); + public static final MaterialWrapper LUMIUM = MaterialWrapper.of(() -> Materials.Lumium); + public static final MaterialWrapper PRISMARINE = MaterialWrapper.of(() -> Materials.Prismarine); + public static final MaterialWrapper AQUAREGIA = MaterialWrapper.of(() -> Materials.AquaRegia); + public static final MaterialWrapper SOLUTIONBLUEVITRIOL = MaterialWrapper.of(() -> Materials.SolutionBlueVitriol); + public static final MaterialWrapper SOLUTIONNICKELSULFATE = MaterialWrapper.of(() -> Materials.SolutionNickelSulfate); + public static final MaterialWrapper LODESTONE = MaterialWrapper.of(() -> Materials.Lodestone); + public static final MaterialWrapper LUMINITE = MaterialWrapper.of(() -> Materials.Luminite); + public static final MaterialWrapper CHLORITE = MaterialWrapper.of(() -> Materials.Chlorite); + public static final MaterialWrapper STAUROLITE = MaterialWrapper.of(() -> Materials.Staurolite); + public static final MaterialWrapper CORDIERITE = MaterialWrapper.of(() -> Materials.Cordierite); + public static final MaterialWrapper DATOLITE = MaterialWrapper.of(() -> Materials.Datolite); + public static final MaterialWrapper METAMORPHICMINERALMIXTURE = MaterialWrapper.of(() -> Materials.MetamorphicMineralMixture); + public static final MaterialWrapper PLAGIOCLASE = MaterialWrapper.of(() -> Materials.Plagioclase); + public static final MaterialWrapper EPIDOTE = MaterialWrapper.of(() -> Materials.Epidote); //#endregion //#region src/main/java/bartworks/system/material/WerkstoffLoader.java @@ -925,7 +960,6 @@ private GTMats() { } public static final MaterialWrapper PTSALTCRUDE = MaterialWrapper.of(() -> WerkstoffLoader.PTSaltCrude); public static final MaterialWrapper PTSALTREFINED = MaterialWrapper.of(() -> WerkstoffLoader.PTSaltRefined); public static final MaterialWrapper PTMETALLICPOWDER = MaterialWrapper.of(() -> WerkstoffLoader.PTMetallicPowder); - public static final MaterialWrapper AQUAREGIA = MaterialWrapper.of(() -> WerkstoffLoader.AquaRegia); public static final MaterialWrapper PTRESIDUE = MaterialWrapper.of(() -> WerkstoffLoader.PTResidue); public static final MaterialWrapper AMMONIUMCHLORIDE = MaterialWrapper.of(() -> WerkstoffLoader.AmmoniumChloride); public static final MaterialWrapper PTRAWPOWDER = MaterialWrapper.of(() -> WerkstoffLoader.PTRawPowder); @@ -1099,8 +1133,6 @@ private GTMats() { } public static final MaterialWrapper FILLEDCERIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.FilledCeriumExtractingNanoResin); public static final MaterialWrapper NEODYMIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.NeodymiumExtractingNanoResin); public static final MaterialWrapper FILLEDNEODYMIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.FilledNeodymiumExtractingNanoResin); - public static final MaterialWrapper PROMETHIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.PromethiumExtractingNanoResin); - public static final MaterialWrapper FILLEDPROMETHIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.FilledPromethiumExtractingNanoResin); public static final MaterialWrapper SAMARIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.SamariumExtractingNanoResin); public static final MaterialWrapper FILLEDSAMARIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.FilledSamariumExtractingNanoResin); public static final MaterialWrapper EUROPIUMEXTRACTINGNANORESIN = MaterialWrapper.of(() -> WerkstoffMaterialPool.EuropiumExtractingNanoResin); @@ -1293,7 +1325,6 @@ private GTMats() { } //#region src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java public static final MaterialWrapper NATURAL_URANIUM = MaterialWrapper.of(() -> MaterialsNuclear.NATURAL_URANIUM); - public static final MaterialWrapper NATURAL_URANIUM_TETRAFLUORIDE = MaterialWrapper.of(() -> MaterialsNuclear.NATURAL_URANIUM_TETRAFLUORIDE); public static final MaterialWrapper NATURAL_URANIUM_HEXAFLUORIDE = MaterialWrapper.of(() -> MaterialsNuclear.NATURAL_URANIUM_HEXAFLUORIDE); public static final MaterialWrapper DEPLETED_URANIUM_HEXAFLUORIDE = MaterialWrapper.of(() -> MaterialsNuclear.DEPLETED_URANIUM_HEXAFLUORIDE); public static final MaterialWrapper ENRICHED_URANIUM_HEXAFLUORIDE = MaterialWrapper.of(() -> MaterialsNuclear.ENRICHED_URANIUM_HEXAFLUORIDE); @@ -1305,7 +1336,6 @@ private GTMats() { } public static final MaterialWrapper DEPLETED_MOX_FUEL = MaterialWrapper.of(() -> MaterialsNuclear.DEPLETED_MOX_FUEL); public static final MaterialWrapper DEPLETED_URANIUM_FUEL_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.DEPLETED_URANIUM_FUEL_SOLUTION); public static final MaterialWrapper DEPLETED_THORIUM_FUEL_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.DEPLETED_THORIUM_FUEL_SOLUTION); - public static final MaterialWrapper DEPLETED_MOX_FUEL_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.DEPLETED_MOX_FUEL_SOLUTION); public static final MaterialWrapper PU_SOLUTION_AQ_PHASE = MaterialWrapper.of(() -> MaterialsNuclear.PU_SOLUTION_AQ_PHASE); public static final MaterialWrapper U_SOLUTION_ORG_PHASE = MaterialWrapper.of(() -> MaterialsNuclear.U_SOLUTION_ORG_PHASE); public static final MaterialWrapper U238_MIBK_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.U238_MIBK_SOLUTION); @@ -1325,11 +1355,11 @@ private GTMats() { } public static final MaterialWrapper URANIUM_233_DIOXIDE = MaterialWrapper.of(() -> MaterialsNuclear.URANIUM_233_DIOXIDE); public static final MaterialWrapper URANIUM_235_DIOXIDE = MaterialWrapper.of(() -> MaterialsNuclear.URANIUM_235_DIOXIDE); public static final MaterialWrapper URANIUM_238_DIOXIDE = MaterialWrapper.of(() -> MaterialsNuclear.URANIUM_238_DIOXIDE); - public static final MaterialWrapper THORIANITE_AQ_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.THORIANITE_AQ_SOLUTION); + public static final MaterialWrapper UNREFINED_THORIUM_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.UNREFINED_THORIUM_SOLUTION); public static final MaterialWrapper THORIUM_NITRATE_SOLUTION = MaterialWrapper.of(() -> MaterialsNuclear.THORIUM_NITRATE_SOLUTION); - public static final MaterialWrapper LOW_URANIUM_SLUDGE = MaterialWrapper.of(() -> MaterialsNuclear.LOW_URANIUM_SLUDGE); - public static final MaterialWrapper POOR_URANIUM_MIXTURE = MaterialWrapper.of(() -> MaterialsNuclear.POOR_URANIUM_MIXTURE); public static final MaterialWrapper REFINED_THORIUM = MaterialWrapper.of(() -> MaterialsNuclear.REFINED_THORIUM); + public static final MaterialWrapper PLUTONIUM_239_DIOXIDE = MaterialWrapper.of(() -> MaterialsNuclear.PLUTONIUM_239_DIOXIDE); + public static final MaterialWrapper PLUTONIUM_241_DIOXIDE = MaterialWrapper.of(() -> MaterialsNuclear.PLUTONIUM_241_DIOXIDE); //#endregion //#region src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsChemical.java @@ -1353,6 +1383,8 @@ private GTMats() { } public static final MaterialWrapper TRANSURANIC_WASTE_MIXTURE = MaterialWrapper.of(() -> MaterialsChemical.TRANSURANIC_WASTE_MIXTURE); public static final MaterialWrapper LANTHANUM_II_OXIDE = MaterialWrapper.of(() -> MaterialsChemical.LANTHANUM_II_OXIDE); public static final MaterialWrapper LANTHANIDE_WASTE_MIXTURE = MaterialWrapper.of(() -> MaterialsChemical.LANTHANIDE_WASTE_MIXTURE); + public static final MaterialWrapper BROMINE_SALT_WATER = MaterialWrapper.of(() -> MaterialsChemical.BROMINE_SALT_WATER); + public static final MaterialWrapper THORIUM_ORE_IMPURITIES = MaterialWrapper.of(() -> MaterialsChemical.THORIUM_ORE_IMPURITIES); //#endregion //#region src/main/java/gtPlusPlus/core/material/MaterialMisc.java @@ -1370,6 +1402,7 @@ private GTMats() { } public static final MaterialWrapper RARE_EARTH_LOW = MaterialWrapper.of(() -> MaterialMisc.RARE_EARTH_LOW); public static final MaterialWrapper RARE_EARTH_MID = MaterialWrapper.of(() -> MaterialMisc.RARE_EARTH_MID); public static final MaterialWrapper RARE_EARTH_HIGH = MaterialWrapper.of(() -> MaterialMisc.RARE_EARTH_HIGH); + public static final MaterialWrapper WATER = MaterialWrapper.of(() -> MaterialMisc.WATER); public static final MaterialWrapper HYDROXIDE = MaterialWrapper.of(() -> MaterialMisc.HYDROXIDE); public static final MaterialWrapper HYDROGEN_CHLORIDE = MaterialWrapper.of(() -> MaterialMisc.HYDROGEN_CHLORIDE); public static final MaterialWrapper HYDROGEN_CHLORIDE_MIX = MaterialWrapper.of(() -> MaterialMisc.HYDROGEN_CHLORIDE_MIX); @@ -1396,7 +1429,6 @@ private GTMats() { } //#region src/main/java/gtPlusPlus/core/material/MaterialsAlloy.java public static final MaterialWrapper STEEL_BLACK = MaterialWrapper.of(() -> MaterialsAlloy.STEEL_BLACK); public static final MaterialWrapper STAINLESS_STEEL = MaterialWrapper.of(() -> MaterialsAlloy.STAINLESS_STEEL); - public static final MaterialWrapper POLYETHYLENE = MaterialWrapper.of(() -> MaterialsAlloy.POLYETHYLENE); public static final MaterialWrapper ENERGYCRYSTAL = MaterialWrapper.of(() -> MaterialsAlloy.ENERGYCRYSTAL); public static final MaterialWrapper BLOODSTEEL = MaterialWrapper.of(() -> MaterialsAlloy.BLOODSTEEL); public static final MaterialWrapper STABALLOY = MaterialWrapper.of(() -> MaterialsAlloy.STABALLOY); diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/MiscRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/MiscRecipes.java new file mode 100644 index 0000000..24decb4 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/MiscRecipes.java @@ -0,0 +1,25 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import static gregtech.api.util.GTUtility.getIntegratedCircuit; + +import net.minecraft.item.ItemStack; + +import com.recursive_pineapple.nuclear_horizons.reactors.items.NHItemList; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; + +public class MiscRecipes { + + public static void registerRecipes() { + registerCraftingIngredientRecipes(); + } + + private static void registerCraftingIngredientRecipes() { + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.Iron, 2), getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(NHItemList.)) + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ReprocessingRecipes.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ReprocessingRecipes.java index 4fced83..5bd5c39 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ReprocessingRecipes.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ReprocessingRecipes.java @@ -1,14 +1,49 @@ package com.recursive_pineapple.nuclear_horizons.recipes; -import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.*; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_MOX_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_THORIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_THORIUM_FUEL_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.DEPLETED_URANIUM_FUEL; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.HYDROFLUORICACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.METHYL_ISOBUTYL_KETONE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.MIXED_PU_SOLIDS; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NITRICACID; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.NITROGENDIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM241; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PLUTONIUM_FISSION_PRODUCT_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PU239_MIBK_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PU239_WATER_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PU241_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.PU_SOLUTION_AQ_PHASE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.REFINED_THORIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SODIUM; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.SODIUM_FLUORIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.THORIUM_FISSION_PRODUCT_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.TH_SOLUTION_AQ_PHASE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.TRANSURANIC_WASTE_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.TRIBUTYL_PHOSPHATE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.U235_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.U238_MIBK_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.U238_WATER_SOLUTION; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM233; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM233_SOLUTION_ORG_PHASE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_235_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_238_DIOXIDE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANIUM_FISSION_PRODUCT_MIXTURE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANYL_233_NITRATE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.URANYL_235_NITRATE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.U_SOLUTION_ORG_PHASE; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.WATER; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZINC; +import static com.recursive_pineapple.nuclear_horizons.recipes.GTMats.ZINC_NITRATE_SOLUTION; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; -import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; -import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; -import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.UniversalChemical; +import static gregtech.api.util.GTUtility.getIntegratedCircuit; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.mixerNonCellRecipes; import net.minecraft.item.ItemStack; @@ -16,10 +51,9 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GTValues; -import gregtech.api.enums.ItemList; import gregtech.api.enums.TierEU; import gregtech.api.interfaces.ISubTagContainer; -import gregtech.api.util.GTUtility; +import gtPlusPlus.core.item.ModItems; public class ReprocessingRecipes { @@ -57,18 +91,45 @@ public FluidStack getGas(int amount) { }; public static void registerRecipes() { - registerSynthesisRecipes(); - registerRecyclingRecipes(); registerUraniumRepro(); registerThoriumRepro(); + registerPlutoniumRepro(); } - public static void registerThoriumRepro() { + private static void registerPlutoniumRepro() { + // Treat dissolved fuel waste with TBP and kerosene + GTValues.RA.stdBuilder() + .itemInputs(DEPLETED_MOX_FUEL.getDust(9)) + .fluidInputs( + NITRICACID.getFluid(2000), + TRIBUTYL_PHOSPHATE.getFluid(500), + KEROSENE.getFluid(500)) + .itemOutputs(TRANSURANIC_WASTE_MIXTURE.getDust(1), PLUTONIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) + .outputChances(2500, 1250) + .fluidOutputs( + U_SOLUTION_ORG_PHASE.getFluid(1000), + PU_SOLUTION_AQ_PHASE.getFluid(2000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(mixerNonCellRecipes); + } + public static void registerThoriumRepro() { // Dissolve spent fuel in nitric acid and water. GTValues.RA.stdBuilder() .fluidInputs(NITRICACID.getFluid(1000)) - .itemInputs(DEPLETED_THORIUM_FUEL.getDust(1)) + .itemInputs(DEPLETED_THORIUM_FUEL.getDust(1), getIntegratedCircuit(1)) + .fluidOutputs(DEPLETED_THORIUM_FUEL_SOLUTION.getFluid(1000)) + .itemOutputs(TRANSURANIC_WASTE_MIXTURE.getDust(1)) + .outputChances(750) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // Alternate faster path that is fluorine negative + GTValues.RA.stdBuilder() + .fluidInputs(NITRICACID.getFluid(1000), HYDROFLUORICACID.getFluid(10)) + .itemInputs(DEPLETED_THORIUM_FUEL.getDust(1), getIntegratedCircuit(2)) .fluidOutputs(DEPLETED_THORIUM_FUEL_SOLUTION.getFluid(1000)) .itemOutputs(TRANSURANIC_WASTE_MIXTURE.getDust(1)) .outputChances(750) @@ -82,14 +143,16 @@ public static void registerThoriumRepro() { DEPLETED_THORIUM_FUEL_SOLUTION.getFluid(8000), TRIBUTYL_PHOSPHATE.getFluid(8000), KEROSENE.getFluid(8000)) - .itemOutputs(THORIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) - .fluidOutputs(URANIUM233_SOLUTION_ORG_PHASE.getFluid(9000), TH_SOLUTION_AQ_PHASE.getFluid(22000)) + .itemOutputs( + THORIUM_FISSION_PRODUCT_MIXTURE.getDust(1), + new ItemStack(ModItems.dustProtactinium233, 1)) + .fluidOutputs(URANIUM233_SOLUTION_ORG_PHASE.getFluid(11000), TH_SOLUTION_AQ_PHASE.getFluid(13000)) .duration(60 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(mixerNonCellRecipes); GTValues.RA.stdBuilder() - .fluidInputs(URANIUM233_SOLUTION_ORG_PHASE.getFluid(9000)) + .fluidInputs(URANIUM233_SOLUTION_ORG_PHASE.getFluid(11000)) .itemOutputs(URANYL_233_NITRATE.getDust(3)) .fluidOutputs(KEROSENE.getFluid(8000), NITROGENDIOXIDE.getGas(3000)) .duration(20 * SECONDS) @@ -97,9 +160,9 @@ public static void registerThoriumRepro() { .addTo(multiblockChemicalReactorRecipes); GTValues.RA.stdBuilder() - .fluidInputs(TH_SOLUTION_AQ_PHASE.getFluid(22000)) - .itemOutputs(THORIANIT.getDust(7)) - .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(9000), FLUORINE.getGas(1000), NITROGENDIOXIDE.getGas(7000)) + .fluidInputs(TH_SOLUTION_AQ_PHASE.getFluid(13000)) + .itemOutputs(REFINED_THORIUM.getDust(7)) + .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(8000), NITROGENDIOXIDE.getGas(5000)) .duration(20 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(multiblockChemicalReactorRecipes); @@ -116,30 +179,20 @@ public static void registerThoriumRepro() { } private static void registerUraniumRepro() { - // Dissolve spent fuel in nitric acid and water. - GTValues.RA.stdBuilder() - .itemInputs(DEPLETED_URANIUM_FUEL.getDust(2)) - .fluidInputs(NITRICACID.getFluid(1000), WATER.getFluid(1000)) - .itemOutputs(TRANSURANIC_WASTE_MIXTURE.getDust(1)) - .outputChances(2500) - .fluidOutputs(DEPLETED_URANIUM_FUEL_SOLUTION.getFluid(2000)) // 1000L nitric - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(UniversalChemical); - // Treat dissolved fuel waste with TBP and kerosene GTValues.RA.stdBuilder() + .itemInputs(DEPLETED_URANIUM_FUEL.getDust(9)) .fluidInputs( - DEPLETED_URANIUM_FUEL_SOLUTION.getFluid(2000), + NITRICACID.getFluid(1000), TRIBUTYL_PHOSPHATE.getFluid(1000), KEROSENE.getFluid(1000)) - .itemOutputs(URANIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) - .outputChances(1250) + .itemOutputs(TRANSURANIC_WASTE_MIXTURE.getDust(1), URANIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) + .outputChances(2500, 1250) .fluidOutputs( - PU_SOLUTION_AQ_PHASE.getFluid(2000), - U_SOLUTION_ORG_PHASE.getFluid(2000)) + U_SOLUTION_ORG_PHASE.getFluid(2000), + PU_SOLUTION_AQ_PHASE.getFluid(1000)) .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_IV) .addTo(mixerNonCellRecipes); // Use MIBK to separate U235 and U238 @@ -147,294 +200,92 @@ private static void registerUraniumRepro() { .fluidInputs(U_SOLUTION_ORG_PHASE.getFluid(1000), METHYL_ISOBUTYL_KETONE.getFluid(1000)) .fluidOutputs(U235_SOLUTION.getFluid(1000), U238_MIBK_SOLUTION.getFluid(1000)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_EV) .addTo(mixerNonCellRecipes); // Knock the uranyl 235 complex off of the TBP with nitric acid, precipitating it GTValues.RA.stdBuilder() .fluidInputs(U235_SOLUTION.getFluid(2000), NITRICACID.getFluid(1000)) - .itemOutputs(URANYL_235_NITRATE.getDust(4)) - .fluidOutputs(KEROSENE.getFluid(1000), TRIBUTYL_PHOSPHATE.getFluid(1000), NITRICACID.getFluid(1000)) + .itemOutputs(URANYL_235_NITRATE.getDust(3)) + .fluidOutputs(KEROSENE.getFluid(1000), TRIBUTYL_PHOSPHATE.getFluid(1000)) .duration(5 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_EV) .addTo(multiblockChemicalReactorRecipes); // Roast the nitrate into dioxide and capture the no2 GTValues.RA.stdBuilder() - .itemInputs(URANYL_235_NITRATE.getDust(5)) - .itemOutputs(URANIUM_235_DIOXIDE.getDust(3)) + .itemInputs(URANYL_235_NITRATE.getDust(3)) + .itemOutputs(URANIUM_235_DIOXIDE.getDust(1)) .fluidOutputs(NITROGENDIOXIDE.getGas(2000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(COIL_HEAT, 600) .addTo(blastFurnaceRecipes); // Rinse the U238 MIBK with water GTValues.RA.stdBuilder() .fluidInputs(U238_MIBK_SOLUTION.getFluid(1000), WATER.getFluid(1000)) .fluidOutputs(U238_WATER_SOLUTION.getFluid(1000), METHYL_ISOBUTYL_KETONE.getFluid(1000)) - .duration(60 * SECONDS) - .eut(TierEU.RECIPE_HV) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) .addTo(mixerNonCellRecipes); // React the uranyl 238 nitrate with zinc, reducing it into elemental u 238 GTValues.RA.stdBuilder() .itemInputs(ZINC.getDust(1)) .fluidInputs(U238_WATER_SOLUTION.getFluid(4000)) - .itemOutputs(URANIUM238.getDust(4)) + .itemOutputs(URANIUM_238_DIOXIDE.getDust(6)) .fluidOutputs(ZINC_NITRATE_SOLUTION.getFluid(1000)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_EV) .addTo(multiblockChemicalReactorRecipes); // Distill off the fluids so that the nitric acid doesn't destroy the mibk GTValues.RA.stdBuilder() - .fluidInputs(PU_SOLUTION_AQ_PHASE.getFluid(8000)) - .itemOutputs(MIXED_PU_SOLIDS.getDust(3)) // 2000L nitric - .fluidOutputs(NITRICACID.getFluid(1000), WATER.getFluid(4000)) + .fluidInputs(PU_SOLUTION_AQ_PHASE.getFluid(2000)) + .itemOutputs(MIXED_PU_SOLIDS.getDust(4)) + // Half of the nitrate remains in the plutonium, 250/dust + .fluidOutputs(NITRICACID.getFluid(1000), WATER.getFluid(1000)) .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_IV) .addTo(distillationTowerRecipes); // Dissolve solids and use MIBK to separate Pu239 and Pu241 GTValues.RA.stdBuilder() - .itemInputs(MIXED_PU_SOLIDS.getDust(3)) - .fluidInputs(WATER.getFluid(1000), METHYL_ISOBUTYL_KETONE.getFluid(1000)) - .fluidOutputs(PU241_SOLUTION.getFluid(1000), PU239_MIBK_SOLUTION.getFluid(1000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) + // 500L nitrate + .itemInputs(MIXED_PU_SOLIDS.getDust(2)) + .fluidInputs(METHYL_ISOBUTYL_KETONE.getFluid(800), WATER.getFluid(200)) + .fluidOutputs(PU239_MIBK_SOLUTION.getFluid(800), PU241_SOLUTION.getFluid(200)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) .addTo(mixerNonCellRecipes); // Dissolve the plutonyl 239 nitrate into water from mibk GTValues.RA.stdBuilder() .fluidInputs(PU239_MIBK_SOLUTION.getFluid(1000), WATER.getFluid(1000)) .fluidOutputs(PU239_WATER_SOLUTION.getFluid(1000), METHYL_ISOBUTYL_KETONE.getFluid(1000)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) .addTo(mixerNonCellRecipes); - // React the plutonyl 239 nitrate with zinc, reducing it into elemental p 239 + // React the plutonyl 239 nitrate with zinc, reducing it into elemental pu 239 GTValues.RA.stdBuilder() - .itemOutputs(ZINC.getDust(1)) - .fluidInputs(PU239_WATER_SOLUTION.getFluid(2000)) // 1000L nitric per 1000L + .itemInputs(ZINC.getDust(1)) + .fluidInputs(PU239_WATER_SOLUTION.getFluid(2000)) .itemOutputs(PLUTONIUM.getDust(1)) .fluidOutputs(ZINC_NITRATE_SOLUTION.getFluid(1000)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_EV) .addTo(multiblockChemicalReactorRecipes); - // React the plutonyl 241 nitrate solution with zinc, reducing it into elemental p 241 + // React the plutonyl 241 nitrate solution with zinc, reducing it into elemental pu 241 GTValues.RA.stdBuilder() .itemInputs(ZINC.getDust(1)) .fluidInputs(PU241_SOLUTION.getFluid(2000)) // 1000L nitric per 1000L .itemOutputs(PLUTONIUM241.getDust(2)) .fluidOutputs(ZINC_NITRATE_SOLUTION.getFluid(1000)) .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(multiblockChemicalReactorRecipes); - } - - private static void registerSynthesisRecipes() { - // phosphoryl chloride and tributyl phosphate (TBP) synthesis - GTValues.RA.stdBuilder() - .itemInputs(OXYGEN.getCells(1)) - .fluidInputs(PHOSPHORUSTRICHLORIDE.getFluid(2000)) - .fluidOutputs(PHOSPHORYL_CHLORIDE.getFluid(2000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(UniversalChemical); - - // TBP normally requires butanol, which can be synthesized using either a - // metallic cobalt or organometallic rhodium catalyst - // in this pack the kevlar line devs chose to use the more complicated synthesis - // that uses rhodium and palladium organometallic catalysts - // so this reaction is in a single step to avoid producing butanol which could bypass - // their chemical gating - GTValues.RA.stdBuilder() - .itemInputs(COBALT.getDustTiny(1), GTUtility.getIntegratedCircuit(1)) - .fluidInputs( - PHOSPHORYL_CHLORIDE.getFluid(1000), - CARBONMONOXIDE.getGas(6000), - WATER.getFluid(3000), - PROPENE.getGas(3000)) - .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(1000), CARBONDIOXIDE.getGas(3000)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(multiblockChemicalReactorRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(COBALT.getDust(1), GTUtility.getIntegratedCircuit(9)) - .fluidInputs( - PHOSPHORYL_CHLORIDE.getFluid(9000), - CARBONMONOXIDE.getGas(54000), - WATER.getFluid(27000), - PROPENE.getGas(27000)) - .fluidOutputs(TRIBUTYL_PHOSPHATE.getFluid(9000), CARBONDIOXIDE.getGas(27000)) - .duration(180 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(multiblockChemicalReactorRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(MAGNESIUM.getDust(1)) - .fluidInputs(METHANE.getGas(1000), BROMINE.getFluid(1000)) - .fluidOutputs(METYHL_MAGNESIUM_BROMIDE.getFluid(2000)) - .duration(60 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(multiblockChemicalReactorRecipes); - - GTValues.RA.stdBuilder() - .fluidInputs(METYHL_MAGNESIUM_BROMIDE.getFluid(2000), ACETONE.getFluid(1000)) - .fluidOutputs(METHYL_ISOBUTYL_KETONE.getFluid(1000)) - .duration(60 * SECONDS) - .eut(TierEU.RECIPE_HV) + .eut(TierEU.RECIPE_EV) .addTo(multiblockChemicalReactorRecipes); } - - private static void registerRecyclingRecipes() { - GTValues.RA.stdBuilder() - .fluidInputs(ZINC_NITRATE_SOLUTION.getFluid(1000)) - .itemOutputs(ZINC_NITRATE.getDust(9)) - .fluidOutputs(WATER.getFluid(1000)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(distillationTowerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(ZINC_NITRATE.getDust(9)) - .itemOutputs(ZINC.getDust(1)) - .fluidOutputs(NITROGENDIOXIDE.getGas(2000)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(blastFurnaceRecipes); - - GTValues.RA.stdBuilder() - .fluidInputs(DILUTED_NITRIC_ACID.getFluid(2000)) - .fluidOutputs(NITRICACID.getFluid(1000), WATER.getFluid(1000)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV) - .addTo(distillationTowerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(SODIUM_FLUORIDE.getDust(2)) - .itemOutputs(SODIUM.getDust(1)) - .fluidOutputs(FLUORINE.getGas(1000)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(electrolyzerRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(TRANSURANIC_WASTE_MIXTURE.getDust(1)) - .itemOutputs( - AMERICIUM_IV_OXIDE.getDust(1), - CURIUM_IV_OXIDE.getDust(1), - CALIFORNIUM_IV_OXIDE.getDust(1)) - .outputChances(1500, 2750, 1000) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_LuV) - .addTo(centrifugeRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(URANIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) - .itemOutputs( - CERIUMDIOXIDE.getDust(1), - ZIRCONIUM.getDust(1), - GALLIUM.getDust(1), - LUTETIUM.getDust(1), - BARIUM.getDust(1), - LANTHANIDE_WASTE_MIXTURE.getDust(1)) - .outputChances(500, 750, 2500, 250, 750, 2500) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_HV) - .addTo(centrifugeRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(THORIUM_FISSION_PRODUCT_MIXTURE.getDust(1)) - .itemOutputs( - CAESIUM.getDust(1), - ZIRCONIUM.getDust(1), - LUTETIUM.getDust(1), - BARIUM.getDust(1), - NIOBIUM.getDust(1), - STRONTIUM.getDust(1)) - .outputChances(1250, 1000, 3000, 1500, 1750, 1250) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_HV) - .addTo(centrifugeRecipes); - - GTValues.RA.stdBuilder() - .itemInputs(LANTHANIDE_WASTE_MIXTURE.getDust(1)) - .itemOutputs( - LANTHANUMOXIDE.getDust(1), - CERIUMDIOXIDE.getDust(1), - NEODYMIUMOXIDE.getDust(1), - SAMARIUMOXIDE.getDust(1), - EUROPIUMIIIOXIDE.getDust(1), - HOLMIUM.getDust(1)) - .outputChances(6500, 4500, 8000, 5000, 4000, 3000) - .duration(2 * MINUTES) - .eut(TierEU.RECIPE_ZPM) - .addTo(centrifugeRecipes); - - // americium recycling - GTValues.RA.stdBuilder() - .itemInputs(AMERICIUM.getDust(1), AMERICIUM_IV_OXIDE.getDust(3)) - .fluidInputs(OXYGEN.getGas(1000)) - .itemOutputs(AMERICIUM_III_OXIDE.getDust(5)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(UniversalChemical); - - GTValues.RA.stdBuilder() - .itemInputs(AMERICIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) - .itemOutputs(AMERICIUM.getDust(2), OXYGEN.getCells(3)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(electrolyzerRecipes); - - // curium recycling - GTValues.RA.stdBuilder() - .itemInputs(CURIUM.getDust(1), CURIUM_IV_OXIDE.getDust(3)) - .fluidInputs(OXYGEN.getGas(1000)) - .itemOutputs(CURIUM_III_OXIDE.getDust(5)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(UniversalChemical); - - GTValues.RA.stdBuilder() - .itemInputs(CURIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) - .itemOutputs(CURIUM.getDust(2), OXYGEN.getCells(3)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(electrolyzerRecipes); - - // californium recycling - GTValues.RA.stdBuilder() - .itemInputs(CALIFORNIUM.getDust(1), CALIFORNIUM_IV_OXIDE.getDust(3)) - .fluidInputs(OXYGEN.getGas(1000)) - .itemOutputs(CALIFORNIUM_III_OXIDE.getDust(5)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(UniversalChemical); - - GTValues.RA.stdBuilder() - .itemInputs(CALIFORNIUM_III_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) - .itemOutputs(CALIFORNIUM.getDust(2), OXYGEN.getCells(3)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(electrolyzerRecipes); - - // lanthanum recycling - GTValues.RA.stdBuilder() - .itemInputs(LANTHANUM.getDust(1), LANTHANUMOXIDE.getDust(5)) - .itemOutputs(LANTHANUM_II_OXIDE.getDust(6)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(UniversalChemical); - - GTValues.RA.stdBuilder() - .itemInputs(LANTHANUM_II_OXIDE.getDust(5), ItemList.Cell_Empty.get(3)) - .itemOutputs(LANTHANUM.getDust(2), OXYGEN.getCells(3)) - .duration(10 * SECONDS) - .eut(TierEU.RECIPE_LuV) - .addTo(electrolyzerRecipes); - } } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/utils/Mods.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/utils/Mods.java new file mode 100644 index 0000000..fd7d092 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/utils/Mods.java @@ -0,0 +1,138 @@ +package com.recursive_pineapple.nuclear_horizons.utils; + +import java.util.Locale; + +import net.minecraft.util.ResourceLocation; + +import org.jetbrains.annotations.NotNull; + +import com.gtnewhorizon.gtnhlib.util.data.IMod; +import com.gtnewhorizon.gtnhmixins.builders.ITargetMod; +import com.gtnewhorizon.gtnhmixins.builders.TargetModBuilder; +import cpw.mods.fml.common.Loader; + +public enum Mods implements IMod, ITargetMod { + + AE2Stuff(Names.AE2STUFF), + Angelica(Names.ANGELICA), + AppliedEnergistics2(Names.APPLIED_ENERGISTICS2), + ArchitectureCraft(Names.ARCHITECTURE_CRAFT), + AvaritiaAddons(Names.AVARITIA_ADDONS), + BloodMagic(Names.BLOOD_MAGIC), + CarpentersBlocks(Names.CARPENTERS_BLOCKS), + EnderIO(Names.ENDER_I_O), + EnderStorage(Names.ENDER_STORAGE), + /** Creates the actual block parts from blocks. */ + ForgeMicroblocks(Names.FORGE_MICROBLOCKS), + /** The forge multipart library. */ + ForgeMultipart(Names.FORGE_MULTIPART), + FloodLights(Names.FLOOD_LIGHTS), + GalacticraftCore(Names.GALACTICRAFT_CORE), + GalaxySpace(Names.GALAXY_SPACE), + GregTech(Names.GREG_TECH) { + + @Override + protected String getEffectiveModID() { + return Names.GREG_TECH_NH; + } + }, + GTPlusPlus(Names.G_T_PLUS_PLUS), + GTNHIntergalactic(Names.GTNH_INTERGALACTIC), + GraviSuite(Names.GRAVI_SUITE), + Hodgepodge(Names.HODGEPODGE), + IndustrialCraft2(Names.INDUSTRIAL_CRAFT2), + LogisticsPipes(Names.LOGISTICS_PIPES), + MatterManipulator(Names.MATTER_MANIPULATOR), + Minecraft(Names.MINECRAFT) { + + @Override + public boolean isModLoaded() { + return true; + } + }, + NewHorizonsCoreMod(Names.NEW_HORIZONS_CORE_MOD), + NotEnoughItems(Names.NOT_ENOUGH_ITEMS), + StorageDrawers(Names.STORAGE_DRAWERS), + Thaumcraft(Names.THAUMCRAFT), + + ; + + public static class Names { + + public static final String AE2STUFF = "ae2stuff"; + public static final String ANGELICA = "angelica"; + public static final String APPLIED_ENERGISTICS2 = "appliedenergistics2"; + public static final String ARCHITECTURE_CRAFT = "ArchitectureCraft"; + public static final String AVARITIA_ADDONS = "avaritiaddons"; + public static final String BLOOD_MAGIC = "AWWayofTime"; + public static final String CARPENTERS_BLOCKS = "CarpentersBlocks"; + public static final String ENDER_I_O = "EnderIO"; + public static final String ENDER_STORAGE = "EnderStorage"; + public static final String FORGE_MICROBLOCKS = "ForgeMicroblock"; + public static final String FORGE_MULTIPART = "ForgeMultipart"; + public static final String FLOOD_LIGHTS = "FloodLights"; + public static final String GALACTICRAFT_CORE = "GalacticraftCore"; + public static final String GALAXY_SPACE = "GalaxySpace"; + public static final String GREG_TECH = "gregtech"; + public static final String GREG_TECH_NH = "gregtech_nh"; + public static final String GRAVI_SUITE = "GraviSuite"; + public static final String G_T_PLUS_PLUS = "miscutils"; + public static final String GTNH_INTERGALACTIC = "gtnhintergalactic"; + public static final String HODGEPODGE = "hodgepodge"; + public static final String INDUSTRIAL_CRAFT2 = "IC2"; + public static final String LOGISTICS_PIPES = "LogisticsPipes"; + public static final String MATTER_MANIPULATOR = "matter-manipulator"; + public static final String MINECRAFT = "minecraft"; + public static final String NEW_HORIZONS_CORE_MOD = "dreamcraft"; + public static final String NOT_ENOUGH_ITEMS = "NotEnoughItems"; + public static final String STORAGE_DRAWERS = "StorageDrawers"; + public static final String THAUMCRAFT = "Thaumcraft"; + } + + public final String ID; + public final String resourceDomain; + protected boolean checkedMod, modLoaded; + protected final TargetModBuilder builder; + + Mods(String ID) { + this.ID = ID; + this.resourceDomain = ID.toLowerCase(Locale.ENGLISH); + this.builder = new TargetModBuilder().setModId(getEffectiveModID()); + } + + @Override + public @NotNull TargetModBuilder getBuilder() { + return builder; + } + + @Override + public String getID() { + return ID; + } + + protected String getEffectiveModID() { + return ID; + } + + public boolean isModLoaded() { + if (!checkedMod) { + this.modLoaded = Loader.isModLoaded(getEffectiveModID()); + checkedMod = true; + } + return this.modLoaded; + } + + @Override + public String getResourceLocation() { + return resourceDomain; + } + + public String getResourcePath(String... path) { + return this.getResourceLocation(path) + .toString(); + } + + public ResourceLocation getResourceLocation(String... path) { + return new ResourceLocation(this.resourceDomain, String.join("/", path)); + } +} diff --git a/src/main/resources/assets/nuclear_horizons/lang/en_US.lang b/src/main/resources/assets/nuclear_horizons/lang/en_US.lang index 3d974ba..98e13d1 100644 --- a/src/main/resources/assets/nuclear_horizons/lang/en_US.lang +++ b/src/main/resources/assets/nuclear_horizons/lang/en_US.lang @@ -61,6 +61,8 @@ item.reactorPlatingHeat2.name=Naquadah Reactor Plating item.reactorPlatingExplosive.name=Containment Reactor Plating item.debugHeatAbsorber.name=Creative Heat Absorber item.reactorPlatingHeatDebug.name=Creative Reactor Plating +item.thoriumBreederRod.name=Thorium Breeding Rod +item.thoriumBreederRodFinished.name=Thorium Breeding Rod (Finished) item.cell_distilled_water.name=Distilled Water Cell item.cell_coolant.name=Coolant Cell @@ -91,6 +93,12 @@ nh_tooltip.fuel_rod.gen_stats=Generate %1$,d * n * (n + 1) HU\nGenerate %2$,d * nh_tooltip.fuel_rod.mox_stats=\nIf the reactor's hull heat is above 50%, the HU output will be multiplied by 2.\nThe EU output will always be multiplied by 1 + %1$f * (Current Heat / Max Heat). nh_tooltip.fuel_rod.heat_epilogue=\nIf there are adjacent components which can contain heat, heat will be spread among them evenly.\nOtherwise, heat will be added to the reactor hull. +nh_tooltip.breeder.stored_neutrons=Stored Neutrons: %1$,d/%2$,d +nh_tooltip.breeder.produces=Produces: %1$,d x %2$s +nh_tooltip.breeder.desc=Place next to Fuel Rods in a reactor to irradiate this breeder rod. +nh_tooltip.breeder.heat_mult=Increases breeding speed by %2$,d% for every %1$,d reactor hull heat. + +nh_tooltip.rod.lifetime=Remaining lifetime: %1$,ds / %2$,ds nh_tooltip.mover.reactor_xfer=Transfer up to %d HU between the reactor and itself. nh_tooltip.exchanger.comp_xfer=Transfer up to %d HU between its neighbours and itself. nh_tooltip.vent.void_self=Dissipate up to %d HU from itself. diff --git a/src/main/resources/assets/nuclear_horizons/textures/items/reactorRodEmpty.png b/src/main/resources/assets/nuclear_horizons/textures/items/reactorRodEmpty.png new file mode 100644 index 0000000..beff83f Binary files /dev/null and b/src/main/resources/assets/nuclear_horizons/textures/items/reactorRodEmpty.png differ diff --git a/src/main/resources/mixins.nuclear_horizons.early.json b/src/main/resources/mixins.nuclear_horizons.early.json new file mode 100644 index 0000000..c8b103c --- /dev/null +++ b/src/main/resources/mixins.nuclear_horizons.early.json @@ -0,0 +1,11 @@ +{ + "required": true, + "minVersion": "0.8.5-GTNH", + "package": "com.recursive_pineapple.nuclear_horizons.mixins.early", + "refmap": "mixins.nuclear_horizons.refmap.json", + "target": "@env(DEFAULT)", + "compatibilityLevel": "JAVA_8", + "mixins": [], + "client": [], + "server": [] +} diff --git a/src/main/resources/mixins.nuclear_horizons.json b/src/main/resources/mixins.nuclear_horizons.json new file mode 100644 index 0000000..20424d5 --- /dev/null +++ b/src/main/resources/mixins.nuclear_horizons.json @@ -0,0 +1,10 @@ +{ + "required": true, + "minVersion": "0.8.5-GTNH", + "refmap": "mixins.nuclear_horizons.refmap.json", + "target": "@env(DEFAULT)", + "compatibilityLevel": "JAVA_8", + "mixins": [], + "client": [], + "server": [] +} diff --git a/src/main/resources/mixins.nuclear_horizons.late.json b/src/main/resources/mixins.nuclear_horizons.late.json new file mode 100644 index 0000000..656e2ff --- /dev/null +++ b/src/main/resources/mixins.nuclear_horizons.late.json @@ -0,0 +1,11 @@ +{ + "required": true, + "minVersion": "0.8.5-GTNH", + "package": "com.recursive_pineapple.nuclear_horizons.mixins.late", + "refmap": "mixins.nuclear_horizons.refmap.json", + "target": "@env(DEFAULT)", + "compatibilityLevel": "JAVA_8", + "mixins": [], + "client": [], + "server": [] +}