Why Update to 1.7

  • FTB will be shutting down this forum by the end of July. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Hambeau

Over-Achiever
Jul 24, 2013
2,598
1,531
213
Yes, really.

There are IDs. The IDs are just managed by Forge, in a way that affects mods slightly less than it would have if they'd implemented it in 1.6.

1.8 won't change it either. The ID management code will just move to vanilla.

Yes, you are technically correct. Numeric IDs will still be around in 1.8, much like static IP addresses are technically still around in a subnet completely managed by DHCP... They will be assigned internally in mod-pack load order (starting with Vanilla) and use a translation table. But use numeric IDs and you will run the risk of instant non-portability from installation to installation, depending on what ID range you use and how many mods are loaded.

Also, I'm not sure of actual numbers, but Mojang increased the total number of available IDs in the numeric index with this change too.
 

Frontrider

New Member
Jul 29, 2019
319
0
0
Yes, you are technically correct. Numeric IDs will still be around in 1.8, much like static IP addresses are technically still around in a subnet completely managed by DHCP... They will be assigned internally in mod-pack load order (starting with Vanilla) and use a translation table. But use numeric IDs and you will run the risk of instant non-portability from installation to installation, depending on what ID range you use and how many mods are loaded.

Also, I'm not sure of actual numbers, but Mojang increased the total number of available IDs in the numeric index with this change too.

they incrasing them by getting rid of data values/using the unused ranges, what forge forces to use.
 

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
Well, now. It seems that Forge could implement a first-come-first-served rule when registering items with duplicate forge registrations. Every mod can "register" their version of an ore, but all get the exact same item id back.
 

Narc

New Member
Jul 29, 2019
259
0
0
Well, now. It seems that Forge could implement a first-come-first-served rule when registering items with duplicate forge registrations. Every mod can "register" their version of an ore, but all get the exact same item id back.
That's actually something @immibis pull-requested into Forge once (it was not accepted).

I can see only one problem with this, and that's when you unify two items with different behaviours, for instance: if two mods register the same unobtainium dust ore block, but one of them has it drop 2-4 dust and the other has it drop 1-2 dust and a chance for a bonus blue-sky dust. There's no obvious way to resolve the difference here, but it's a very minor problem since these could and should register independently. For things like copper and tin, though? Go for it. (Almost) everyone agrees what those are and how they behave.
 

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
That's actually something @immibis pull-requested into Forge once (it was not accepted).

I can see only one problem with this, and that's when you unify two items with different behaviours, for instance: if two mods register the same unobtainium dust ore block, but one of them has it drop 2-4 dust and the other has it drop 1-2 dust and a chance for a bonus blue-sky dust. There's no obvious way to resolve the difference here, but it's a very minor problem since these could and should register independently. For things like copper and tin, though? Go for it. (Almost) everyone agrees what those are and how they behave.

The different bonus behaviours are a machine behavior difference: If a TE pulverizer pulverizes a forge compatible Ore, its going to apply its own defined bonus material logic, and it wouldn't matter which forge compatbable silver dust it generated.

I see two practical issues with my idea:
1. items with multiple registrations.
2. "high quality" items that are registered for downwards compatibility. Blue Slimes from TiC come to mind: For extra utility they can act as green slime in many recipes, but as they are rarer than green slime, there are a set of recipes unique to them.
HLSA steel from Rotarycraft is an example of a mod author "Getting it wrong" and trying to force users to use 'their vision' of steel production, but also forge registering it so it can be substituted in other mods recipes. If every mod author took that approach then we might as well not have a forge dictionary (In case its not obvious, RoC *only* uses its own steel in its own recipes).
 

Narc

New Member
Jul 29, 2019
259
0
0
The different bonus behaviours are a machine behavior difference: If a TE pulverizer pulverizes a forge compatible Ore, its going to apply its own defined bonus material logic, and it wouldn't matter which forge compatbable silver dust it generated.
I actually had in mind differences in actual code -- which is what I term 'behaviour' (your example was of differences in recipes). Let's take another (contrived) example: a mod comes along adding a Uranium ore, and specifies that when the ore or its ingots are in your inventory, they slowly decay, dealing damage and the occasional nausea debuff. How do we unify this with another Uranium that doesn't do this? Either all uranium becomes this radioactive stuff, or else you lose the decay mechanic.

I see two practical issues with my idea:
1. items with multiple registrations.
I hadn't thought of that one, but you're right that it's another major issue. It could theoretically be fixed by MineTweaker (it can mess with oreDict registrations), but no default behaviour seems to work well aside from not unifying the items in the first place.

2. "high quality" items that are registered for downwards compatibility. Blue Slimes from TiC come to mind: For extra utility they can act as green slime in many recipes, but as they are rarer than green slime, there are a set of recipes unique to them.
HLSA steel from Rotarycraft is an example of a mod author "Getting it wrong" and trying to force users to use 'their vision' of steel production, but also forge registering it so it can be substituted in other mods recipes. If every mod author took that approach then we might as well not have a forge dictionary (In case its not obvious, RoC *only* uses its own steel in its own recipes).
Yeah, both of these examples show that it's good to keep the existing ore dictionary behaviour in most cases, but allow some secondary form of unification to occur iff a mod decides it would be appropriate. I could see it also including a set of generic ore block and dust/ingot items built into Forge itself (mods would still be responsible for providing art, but the behaviour (ore blocks drop themselves, dusts and ingots do nothing) would be pre-determined).

The best solution I've seen so far to the problem was a mod initially published on the IC2 forum that would add a post-processing step to the world, replacing ores with a single variant of themselves after generation, as well as replacing items in dungeon chests to provide a single kind of, e.g. copper ingot. It also went through vanilla crafting recipes, furnace recipes, and IC2 machine recipes, forcing all of them to always output the same variant (and using the ore dictionary to tell when it should apply). Back when IC2 was the main set of machines I was playing with, this pretty consistently gave me only stacking ingots for the same ore, no matter its source (and this was when TE got its good-looking ores and ingots, so I had configured the mod to unify to those).

Edit: OreDupeFix doesn't fix the previously-mentioned issues, though, and it's not really any different from the proposal of having Forge do the unification itself. It was just the closest I'd seen this idea come to fruition.
 

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
@Narc: I think that Forge could only do the unification if there was also an easy way for users to configure relative mod priority: Which could also answer the uranium behaviour question. If "DeadlyUranium" is listed first, then all uranium is deadly. Which is actually more consistent than having different uraniums, some of which are deadly to carry, others which arn't, and which are largely interchangeable in crafting.
 
  • Like
Reactions: Narc

Narc

New Member
Jul 29, 2019
259
0
0
@Narc: I think that Forge could only do the unification if there was also an easy way for users to configure relative mod priority: Which could also answer the uranium behaviour question. If "DeadlyUranium" is listed first, then all uranium is deadly. Which is actually more consistent than having different uraniums, some of which are deadly to carry, others which arn't, and which are largely interchangeable in crafting.
Good point. For that matter, I could see this being configurable on a per-item basis, as well, in case the per-mod granularity isn't sufficient.