Conversation
|
|
||
| private static void splitStacks(List<Tuple<ItemStack, MaterialStack>> list, ItemStack originalStack, UnificationEntry entry) { | ||
| int amount = originalStack.getCount(); | ||
| while (amount > 64) { |
There was a problem hiding this comment.
This could cause problems, but since we are pretty much only using a permutation of a Dust or Ingot, the stack size should be consistently 64
| } | ||
|
|
||
| // Else if the Material has NO_SMELTING, return nothing | ||
| if (material.hasFlag(NO_SMELTING)) { |
There was a problem hiding this comment.
This prevents things like Brick Dust and Stone Dust from being output in the process
| public static void init() { | ||
| initializeArcRecyclingRecipes(); | ||
| } | ||
| // TODO - Fix recipe order with some things (noticed Hermetic Casings) |
There was a problem hiding this comment.
This should be addressed, but there might be an edge case still. Loading order is important for some recipes now, as if a later recipe uses an input (say, Steam Oven using Bronze Casings), unification data could be wrong
There was a problem hiding this comment.
I have not noticed issues with the Hermetic Casings when I check
| initializeArcRecyclingRecipes(); | ||
| } | ||
| // TODO - Fix recipe order with some things (noticed Hermetic Casings) | ||
| // TODO - Figure out solution to LuV+ components |
There was a problem hiding this comment.
Discussed, and will be in a later PR
| // TODO - Fix recipe order with some things (noticed Hermetic Casings) | ||
| // TODO - Figure out solution to LuV+ components | ||
| // TODO - (to remember) Do NOT calculate any material component lists for circuits, they are simply totally lost | ||
| // TODO - Work on durations and EUt's |
There was a problem hiding this comment.
The durations are resolved, though EU/t's may be too high for some recipes
| OreDictUnifier.registerOre(MetaTileEntities.HULL[0].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.WroughtIron, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Lead, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[1].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.Steel, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Tin, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[2].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.Aluminium, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Copper, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[3].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.StainlessSteel, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Gold, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[4].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.Titanium, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Aluminium, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[5].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.TungstenSteel, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Tungsten, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[6].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.RhodiumPlatedPalladium, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.VanadiumGallium, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[7].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.NaquadahAlloy, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.Naquadah, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[8].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.Livermorium, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.NaquadahAlloy, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
||
| OreDictUnifier.registerOre(MetaTileEntities.HULL[14].getStackForm(), new ItemMaterialInfo( | ||
| new MaterialStack(Materials.Neutronium, OrePrefix.plate.materialAmount * 8), | ||
| new MaterialStack(Materials.RutheniumTriniumAmericiumNeutronate, OrePrefix.cableGtSingle.materialAmount * 2), | ||
| new MaterialStack(Materials.Rubber, OrePrefix.plate.materialAmount * 2))); | ||
|
|
There was a problem hiding this comment.
These had to be done separately since the handcrafting recipe is more resource-expensive than the Assembler recipe, leading to potential dupes. If we add a method onto RecipeBuilder to calculate unification data, these can be removed (as can the entries for EBF coils)
There was a problem hiding this comment.
Minor nitpick that should not really matter. These should use the proper assembler fluid materials, instead of all just using rubber. Edit: Never mind this comment. But also, the MAX hull should not have the rubber component, because it uses superconductor wires
| * Returns an Ingot of the material if it exists. Otherwise it returns a Dust. | ||
| * Returns ItemStack.EMPTY if neither exist. | ||
| */ | ||
| public static ItemStack getIngotOrDust(Material material, long materialAmount) { |
There was a problem hiding this comment.
Needed to not return an ItemStack.EMPTY for some Arc Furnace recipes (Ash, in particular)
ALongStringOfNumbers
left a comment
There was a problem hiding this comment.
Magnetic Materials Arc smelt into their non-magnetic form, but macerate into the magnetic dust. Is this intended?
53a2061 to
b69e6f6
Compare
| public static ItemStack getIngotOrDust(MaterialStack materialStack) { | ||
| return getIngotOrDust(materialStack.material, materialStack.amount); | ||
| } |
There was a problem hiding this comment.
Why did you add this method, when anything that can call this method can automatically call the method's redirect, as it has access to the materialStack.amount and materialStack.material already. This seems like a useless method
ALongStringOfNumbers
left a comment
There was a problem hiding this comment.
Other than my minor comments, this looks good to me
No description provided.