Earthcomputer / EnchantmentCracker

Cracking the XP seed in Minecraft and choosing your enchantments
MIT License
1.04k stars 91 forks source link

Merge Wanted Items and Dummy Items (Feature request) #250

Open HaphLife opened 3 years ago

HaphLife commented 3 years ago

First off: I don't know everything, so I might be simply wrong about how the manipulator works here, and this might not be possible, but under my current understanding, this seems like a good suggestion

G: Currently, the manipulator works by manipulating the seed, then enchanting a dummy item to update the XP seed, then enchanting the wanted item. This is required for manipulating a single enchantment, but is inefficient when doing multiple enchantments.

Instead, after the first dummy enchant, and before the first wanted enchantment, we could throw items to manipulate for the second wanted enchantment. This would "merge" the first wanted enchantment, and the second dummy enchantment. This could be repeated to merge all remaining dummy enchantments. Before the final wanted enchantment, we wouldn't need to manipulate for another one, so we could just do nothing between the second-to-last, and final enchantment.

The main advantage of this is reduces the required number of levels and lapis (to 30+3n and 3+3n, rather than 29+4n, and 2+4n, respectively, where n is the number of wanted enchantments) Additionally, it also takes fewer stone swords (only ever 3), and less time.

This could be implemented on it's own, but would be much less confusing if done alongside something like #249 , because the user wouldn't be presented with figuring out when to input the next enchantment information.

Earthcomputer commented 3 years ago

Sorry, this is not how it works.

HaphLife commented 3 years ago

Hmm. How does it work? Is there a specific purpose to having a dummy item that isn’t manipulated? I am curious now.

Earthcomputer commented 3 years ago

Dummy item is for applying the manipulated player seed to the XP seed, then the XP seed is used for the next enchantment (your actual enchantment). The dummy item can only be skipped if you happen to have an actual enchantment right before another actual enchantment.

HaphLife commented 3 years ago

Dummy item is for applying the manipulated player seed to the XP seed, then the XP seed is used for the next enchantment (your actual enchantment). The dummy item can only be skipped if you happen to have an actual enchantment right before another actual enchantment.

Are you sure? If the player seed is currently in a known good state, and then I update the XP seed, can’t I manipulate the player seed to a new good position, and then update the XP seed again, but with an item that gets good enchantments?

Here’s the order of operations: Crack player seed: Manipulate player seed to good position. Update XP seed with dummy item. Manipulate player seed to good position. Update XP seed with wanted item enchanted using previous XP seed. Manipulate player seed to good position. Update XP seed with wanted item enchanted using previous XP seed. Etc.

The only way I can think of that this doesn’t work is if the manipulation (throwing items) changes the XP seed, but given that the XP seed is special for the enchanting, that wouldn’t make sense. Does it?

HaphLife commented 3 years ago

And if it did manipulate the XP seed directly, why are we bothering with the dummy item to update the XP seed? You could just directly manipulate the XP seed.

Earthcomputer commented 3 years ago

Are you sure? If the player seed is currently in a known good state, and then I update the XP seed, can’t I manipulate the player seed to a new good position, and then update the XP seed again, but with an item that gets good enchantments?

Right, honestly didn't think of that