GregTech6 / gregtech6

This is the Official Repository of the Mod GregTech 6 for Minecraft 1.7.10
https://gregtech.mechaenetia.com
Other
188 stars 53 forks source link

Possible Issues about InventoryUnification #102

Closed kuzuanpa closed 1 year ago

kuzuanpa commented 1 year ago

InventoryUnification is sometimes useful, I know. But in Botania, many materials need to interact with tileentitys as EntityItem, and when gregtech "unified" them to gt materials, many recipe can't use at all. For example: TerraSteel making, Gaia summoning, Pixie trading. all of them only accepts bontania thing but not gt one. I turned off B:InventoryUnification in general.cfg to false, but It seems only don't unify my inventory, but still unify things I throwed out something or mana pool give something back to me

Okay I know many of them can be solved by few of MT scripts, but I still want to ask: Is it possible to add a blacklist for InventoryUnification feature, or add a config to turn down entirely?

GregoriusT commented 1 year ago

Wait a sec, Botania ingots should be the TARGET of unification, as in unification should turn all GREGTECH ingots into the BOTANIA Variant! I very much know that Unification can cause Issues, but I always try to set my Unification Targets in a way that badly written Mods and non-oredicted Mods become the Target of Unification and not the Source.

See here:

    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.SmokeyQuartz           , MD.BOTA, "quartz", 0);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.ManaQuartz             , MD.BOTA, "quartz", 1);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.BlazeQuartz            , MD.BOTA, "quartz", 2);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.LavenderQuartz         , MD.BOTA, "quartz", 3);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.RedQuartz              , MD.BOTA, "quartz", 4);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.ElvenQuartz            , MD.BOTA, "quartz", 5);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.SunnyQuartz            , MD.BOTA, "quartz", 6);
    OreDictManager.INSTANCE.setTarget(OP.ingot          , MT.Manasteel              , MD.BOTA, "manaResource", 0);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.ManaDiamond            , MD.BOTA, "manaResource", 2);
    OreDictManager.INSTANCE.setTarget(OP.stick          , MT.Livingwood             , MD.BOTA, "manaResource", 3);
    OreDictManager.INSTANCE.setTarget(OP.ingot          , MT.Terrasteel             , MD.BOTA, "manaResource", 4);
    OreDictManager.INSTANCE.setTarget(OP.ingot          , MT.ElvenElementium        , MD.BOTA, "manaResource", 7);
    OreDictManager.INSTANCE.setTarget(OP.gem            , MT.ElvenDragonstone       , MD.BOTA, "manaResource", 9);
    OreDictManager.INSTANCE.setTarget(OP.stick          , MT.Dreamwood              , MD.BOTA, "manaResource",13);
    OreDictManager.INSTANCE.setTarget(OP.ingot          , MT.GaiaSpirit             , MD.BOTA, "manaResource",14);
    OreDictManager.INSTANCE.setTarget(OP.nugget         , MT.Manasteel              , MD.BOTA, "manaResource",17);
    OreDictManager.INSTANCE.setTarget(OP.nugget         , MT.Terrasteel             , MD.BOTA, "manaResource",18);
    OreDictManager.INSTANCE.setTarget(OP.nugget         , MT.ElvenElementium        , MD.BOTA, "manaResource",19);
    OreDictManager.INSTANCE.setTarget(OP.blockIngot     , MT.Manasteel              , MD.BOTA, "storage", 0);
    OreDictManager.INSTANCE.setTarget(OP.blockIngot     , MT.Terrasteel             , MD.BOTA, "storage", 1);
    OreDictManager.INSTANCE.setTarget(OP.blockIngot     , MT.ElvenElementium        , MD.BOTA, "storage", 2);
    OreDictManager.INSTANCE.setTarget(OP.blockGem       , MT.ManaDiamond            , MD.BOTA, "storage", 3);
    OreDictManager.INSTANCE.setTarget(OP.blockGem       , MT.ElvenDragonstone       , MD.BOTA, "storage", 4);
    OreDictManager.INSTANCE.setTarget(OP.plate          , MT.Livingwood             , MD.BOTA, "livingwood", 0);
    OreDictManager.INSTANCE.setTarget(OP.plate          , MT.Dreamwood              , MD.BOTA, "dreamwood", 0);
    OreDictManager.INSTANCE.setTarget(OP.plate          , MT.Shimmerwood            , MD.BOTA, "shimmerwoodPlanks", 0);

So what exactly is happening at your end? It should clearly use Botanias Ingots like i specified.

kuzuanpa commented 1 year ago

hmm But in my world botania ingots converted to GT one... And I'm sure I using latest GT version

GregoriusT commented 1 year ago

May I see a Screenshot of the Ingots while in your Inventory? Preferably while you Mouse over for a Tooltip? And F3+H enabled ofcourse. ^^

Edit: Also important, I hope you did not touch the unification.cfg File at all, you might have disabled Botania Ingots somehow.

kuzuanpa commented 1 year ago

I didn't touch that config...every entry is false.

https://user-images.githubusercontent.com/61902985/213975664-d952c104-b8ed-4011-a1a5-88764a16f069.mp4

GregoriusT commented 1 year ago

So I quickly installed "Botania r1.8-249.jar" to test if Unification works on my end, and it does do it properly for me, unlike what your Video is showing. So which Botania Version do you use?

kuzuanpa commented 1 year ago

umm I using a modified version by TerraFirmaRescue Team and I patched something into it, I don't know if I they did something wrong... Edit: And there is code https://github.com/kuzuanpa/Botania-TFRU

GregoriusT commented 1 year ago

Uh that Link gives me the GitHub 404 Error...

Please enable F3+H and give me the Tooltips of all the problematic Ingots and Gems, maybe I can see the Issue then. You didnt have F3+H enabled in your Video.

kuzuanpa commented 1 year ago

Oh sorry I write that link by hand and I forget to rename my repo... And It's there https://github.com/kuzuanpa/Botania-TFR

kuzuanpa commented 1 year ago

hmm I found what commit did I make caused this issue... https://github.com/kuzuanpa/Botania-TFR/commit/dee2d7d8acf265545ef1cf26ef8bc36a2a140eb3

I just don't want to huge page of warning jump info my face when loading botania. `

[20:04:45] [Client thread/WARN]: A broken ore dictionary registration with name manaDiamond has occurred. It adds an item (type: class vazkii.botania.common.item.material.ItemManaResource) which is currently unknown to the game registry. This dictionary item can only support a single value when registered with ores like this, and NO I am not going to turn this spam off. Just register your ore dictionary entries after the GameRegistry. TO USERS: YES this is a BUG in the mod Botania report it to them! [20:04:45] [Client thread/WARN]: at net.minecraftforge.oredict.OreDictionary.registerOreImpl(Unknown Source) [20:04:45] [Client thread/WARN]: at net.minecraftforge.oredict.OreDictionary.registerOre(Unknown Source) [20:04:45] [Client thread/WARN]: at vazkii.botania.common.item.ModItems.init(ModItems.java:436) [20:04:45] [Client thread/WARN]: at vazkii.botania.common.core.proxy.CommonProxy.preInit(CommonProxy.java:105) [20:04:45] [Client thread/WARN]: at vazkii.botania.client.core.proxy.ClientProxy.preInit(ClientProxy.java:197) [20:04:45] [Client thread/WARN]: * at vazkii.botania.common.Botania.preInit(Botania.java:80)...

like this....

After this commit, botania ingot&gems have their oredict registered correctly, and i think problems may happened there...

EDIT: F3+H tooltip comparison is there. Screenshot_20230124_201001

GregoriusT commented 1 year ago

Ah that Error Message, whatever absolutely broken Version of Botania you are using. DONT. just DONT. It is literally impossible to support it, because of that Error you posted. This is what happens when the fork of a Mod is not updated to what the original Mod already has fixed.

In order to fix the overall Issue there, you need to:

  1. Register the Items to the Game Registry
  2. Register the Items to the OreDictionary

If you fuck up this basic order of operations, nobody can help... Seriously register to the Game Registry FIRST and THEN to the OreDict, otherwise everything is fucked...

Edit: Also, this really looks like someone just changed the internal Names of Items for no damn reason, I cant really help with that either, the Fork of Botania you are using is just too broken...

kuzuanpa commented 1 year ago

hmm okay, thanks for your help. and I even not noticed some oredict register code is in middle of code.I'll try to fix that...