NotEnoughItems Unofficial 1.7.10

NotEnoughItems Unofficial 1.7.10

436k Downloads

GT++ bookmarked fluids changed after restart

Prometheus0000 opened this issue · 11 comments

commented

Specifically, the GT++ fluids grisium and talonite, changed to titansteel and (Really long fission lithium fuel thing). After restarting they became two new GT++ fluids. I also confirmed that the entries in the bookmarks.ini file stayed the same, so I'd guess GT++ is registering it's fluids under a different metadata number every restart.

GTNH 2.0.8.5dev
NotEnoughItems-1.7.10-2.0.0-beta-6-GTNH-universal

I don't see any commits that would have fixed this in NotEnoughItems-1.7.10-2.0.1-GTNH-universal though.

commented

Fluids aren’t registered to IDs by me. Forge handled them internally.

All modders do is register fluids to a name and the one used by MC is the first one registered. Nothing I can do, but if it effects mine it should effect them all.

commented

Shouldn't be too hard to put in some custom saving for fluids; I've done it for other places.

commented

Forge explicitly documents their shit with a big dont fucking use internal IDs...

Strings that don’t change vs integers that do every reload? 🤔🤦🏻‍♀️

commented

Honestly wasn't expecting anyone to bookmark fluids, or that the itemstack would be different. 🤷‍♂️

commented

The GT fluid stack item thing is dynamically generated too iirc. (It’s 3am but I feel like most of GT, that’s mostly likely the case)

commented

String strId = Item.itemRegistry.getNameForObject(stack.getItem());

 25 {strId:"chisel:chisel",Count:1b,Damage:0s}
 26 {strId:"gregtech:gt.metatool.01",Count:1b,Damage:26s}
 27 {strId:"gregtech:gt.metatool.01",Count:1b,Damage:10s}
 28 {strId:"gregtech:gt.metaitem.01",Count:1b,Damage:11305s}

@Prometheus0000 can you paste a part of your config/nei/bookmarks.ini, specifically the lines around the fluids you're seeing?

commented

{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:144L,mFluidDisplayHeat:4125L,mFluidState:0b},Damage:901s}

{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:2880L,mFluidDisplayHeat:4585L,mFluidState:0b},Damage:897s}

It's easier to bookmark fluids for things that you need to go through the ABS for. Also, I didn't check if the cell versions work properly.

commented

Why wouldn’t cells work? 🤦🏻‍♀️
Since it’s using dynamic IDs, all GT_DisplayFluid entries will be broken.

You can either fix GT or blacklist fluids. The latter being easier.

commented

I'll see how easy it is to get the fluid name for the fluids... otherwise blacklisting fluids might be the way to go.

commented

Even if the display fluid holds a reference, you’re either making GT a hard dependency or reflectively getting the field.

I’d just black list them by Class Name and then you’re not depending upon it.

if (Class.forName(“displayfluid”).isInstance(aStack.getItem()){
doNothing();
}
commented

Hey, I just wanted to add that the GT fluids I had bookmarked stayed the same after logging in this time, so maybe they do something different?

These are Epoxid, Epichlorohydrin, Hydrochloric Acid, and Glycerol.

{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:144L,mFluidDisplayHeat:400L,mFluidState:0b},Damage:430s}
{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:1000L,mFluidDisplayHeat:295L,mFluidState:0b},Damage:118s}
{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:1000L,mFluidDisplayHeat:295L,mFluidState:0b},Damage:551s}
{strId:"gregtech:gt.GregTech_FluidDisplay",Count:1b,tag:{mFluidDisplayAmount:1000L,mFluidDisplayHeat:295L,mFluidState:0b},Damage:470s}