GregTechCEu / GregTech-Modern

GregTech CE Unofficial for modern versions
GNU Lesser General Public License v3.0
272 stars 163 forks source link

[Bug] Titanium fluid cells turn into tungstensteel when recycled by arc furnace or macerator #1068

Closed chemlzh closed 5 months ago

chemlzh commented 6 months ago

Checked for existing issues

Tested latest version

GregTech CEu Version

v1.1.4.b

Recipe Viewer Installed

EMI

Environment

Singleplayer

Cross-Mod Interaction

No

Other Installed Mods

Terrafirmagreg 0.7.2, with GTCEuM manually updated. (Update: it's not induced by TFG)

Expected Behavior

Titanium fluid cells should be turned into 6 titanium ingots per item.

(Updated) Titanium fluid cells should be crashed into 6 titanium dusts per item.

Actual Behavior

Titanium fluid cells are transformed into 6 tungstensteel ingots per item.

(Updated) Titanium fluid cells are crashed into 6 tungstensteel dusts per item.

Steps to Reproduce

Put titanium fluid cells in the arc furnace with enough oxygen

Additional Information

image

image

chemlzh commented 5 months ago

This bug can be reproduced with only GTCEuM and EMI. @screret image

screret commented 5 months ago

Well duh , it's a recipe error

chemlzh commented 5 months ago

Well duh , it's a recipe error

No, it's not a recipe error. I have debugged for so long, and finally I found this bug in GTitems.java

    public static ItemEntry<ComponentItem> FLUID_CELL_LARGE_TITANIUM = REGISTRATE.item("titanium_fluid_cell", ComponentItem::create)
            .lang("Titanium Cell")
            .model(GTModels::cellModel)
            .color(() -> GTItems::cellColor)
            .onRegister(compassNodeExist(GTCompassSections.ITEMS, "empty_cell"))
            .onRegister(modelPredicate(GTCEu.id("fluid_cell"), (itemStack) -> FluidTransferHelper.getFluidContained(itemStack) == null ? 0f : 1f))
            .onRegister(attach(cellName(), ThermalFluidStats.create((int)FluidHelper.getBucket() * 128, GTMaterials.TungstenSteel.getProperty(PropertyKey.FLUID_PIPE).getMaxFluidTemperature(), true, false, false, false, true), new ItemFluidContainer()))
            .onRegister(materialInfo(new ItemMaterialInfo(new MaterialStack(GTMaterials.TungstenSteel, GTValues.M * 6)))).register();

In codeblock above "GTMaterials.TungstenSteel" should be "GTMaterials.Titanium"

To my regret, I cannot edit source code even if I fork GTM code. Maybe you could do me a favor to help fix it. @screret