Fixed NoSuchMethodError on transaction events when using Arclight (fixes #864)

This commit is contained in:
Intelli committed 2026-04-22 20:41:54 -06:00
1 parent 7dbd928edc
commit a90b0ea18a
1 file changed
+11 -1
@@ -7,6 +7,7 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
public class PaperHandler extends PaperAdapter { public class PaperHandler extends PaperAdapter {
private volatile boolean supportsSnapshotHolderLookup = true;
@Override @Override
public boolean isStopping(Server server) { public boolean isStopping(Server server) {
@@ -20,7 +21,16 @@ public class PaperHandler extends PaperAdapter {
@Override @Override
public InventoryHolder getHolder(Inventory holder, boolean useSnapshot) { public InventoryHolder getHolder(Inventory holder, boolean useSnapshot) {
return holder.getHolder(useSnapshot); if (supportsSnapshotHolderLookup) {
try {
return holder.getHolder(useSnapshot);
}
catch (LinkageError ignored) {
supportsSnapshotHolderLookup = false;
}
}
return holder.getHolder();
} }
} }