Mekanism Additions

Mekanism Additions

21M Downloads

Duplication glitch found with Meka-Tool's Silk Touch Unit on ores that drop their raw resources.

Rowan-Mulder opened this issue ยท 2 comments

commented

Issue description:

When using Mekanism in conjunction with other mods, other mods have difficulty with Mekanism's custom Silk Touch enchantment mechanic. For instance, Project MMO works from the vanilla Minecraft Silk Touch enchantment to decide whether or not to drop extra resources from ores. Since Project MMO can't tell if the Meka-Tool is using Silk Touch, it will often drop extra resources from ores which would normally drop its raw resource form without using Silk Touch. This results in a duplication bug, where you would always get your ores back and occasionally getting extra resources, like diamonds.
I've contacted Project MMO about this, but we've come to the conclusion this issue needs to be addressed from its core.

Steps to reproduce:

  1. Have both Mekanism and Project MMO installed.
  2. Put a Silk Touch Unit in the Meka-Tool.
  3. Mine (for instance) diamond ores.
  4. Project MMO can't tell you're using Silk Touch and will occasionally drop extra diamonds on top of always getting your ores back.

Versions

Forge: 36.1.23
Mekanism: 1.16.5 - 10.0.21.448
Project MMO: 1.16.5 - 3.57.2
Minecraft: 1.16.5

commented

I agree that this is really a bug on Project MMO's end in that they are adding drops in a way they shouldn't be, but I am marking this as fixed in dev as I overhauled a bunch of things related to modules and as a side effect the Meka-Tool will report silk touch "properly" to the event.

commented

As a comment from Tinkers (which uses similar code): Project MMO should not be dropping items during the block break event. Not only does forge have a proper hook for changing item drops though global loot managers (which would properly detect silk touch for both Tinkers and Meks code), but the block break event firing does not guarentee that the block will actually be broken (the event can be canceled, so you could drop items then a later listener prevents the block from breaking).

This issue is entirely on Project MMO in my opinion, and should be an easy fix if they just use Global Loot Managers like they should.