Fixed NoSuchFieldError in MC 1.20.5 and earlier

This commit is contained in:
Intelli committed 2025-10-02 11:22:59 -06:00
1 parent 9de1d16836
commit 251b4c56cd
6 files changed
+32 -6

No files matched your search

+1 -1
View File
@@ -209,4 +209,4 @@ VALID_DONATION_KEY: "Valid donation key."
VERSION_INCOMPATIBLE: "{0} {1} is not supported."
VERSION_NOTICE: "Version {0} is now available."
VERSION_REQUIRED: "{0} {1} or higher is required."
WORLD_NOT_FOUND: "World \"{0}\" not found."
WORLD_NOT_FOUND: "World \"{0}\" not found."
@@ -23,6 +23,7 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.ItemFrame;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.MerchantRecipe;
@@ -355,6 +356,11 @@ public class BukkitAdapter implements BukkitInterface {
return null;
}
@Override
public boolean isCrafter(InventoryType type) {
return false;
}
@Override
public boolean isCopperChest(Material material) {
return false;
@@ -15,6 +15,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.MerchantRecipe;
@@ -434,7 +435,10 @@ public interface BukkitInterface {
*/
String parseLegacyName(String name);
boolean isCrafter(InventoryType type);
boolean isCopperChest(Material material);
Set<Material> copperChestMaterials();
}
@@ -11,6 +11,7 @@ import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.Tag;
import org.bukkit.entity.EntityType;
import org.bukkit.event.inventory.InventoryType;
import net.coreprotect.model.BlockGroup;
@@ -162,6 +163,11 @@ public class Bukkit_v1_21 extends Bukkit_v1_20 implements BukkitInterface {
}
@Override
public boolean isCrafter(InventoryType type) {
return type == InventoryType.CRAFTER;
}
@Override
public boolean isCopperChest(Material material) {
if (COPPER_CHESTS.contains(material) && material != Material.CHEST) {
@@ -17,10 +17,19 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.*;
import org.bukkit.inventory.*;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.BlockInventoryHolder;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import net.coreprotect.CoreProtect;
import net.coreprotect.bukkit.BukkitAdapter;
import net.coreprotect.config.Config;
import net.coreprotect.config.ConfigHandler;
import net.coreprotect.consumer.Queue;
@@ -338,7 +347,7 @@ public final class InventoryChangeListener extends Queue implements Listener {
private boolean checkCrafterSlotChange(InventoryClickEvent event) {
// Check if the clicked inventory is a crafter
if (event.getInventory().getType() != InventoryType.CRAFTER) {
if (!BukkitAdapter.ADAPTER.isCrafter(event.getInventory().getType())) {
return false;
}
@@ -364,7 +373,8 @@ public final class InventoryChangeListener extends Queue implements Listener {
Location location = null;
try {
location = inventory.getLocation();
} catch (Exception e) {
}
catch (Exception e) {
return false;
}
@@ -45,7 +45,7 @@ public class VersionCheckService {
}
// Patch version validation
if (VersionUtils.newVersion(ConfigHandler.PATCH_VERSION, VersionUtils.getPluginVersion()) && !ConfigHandler.EDITION_BRANCH.contains("-dev")) {
if (VersionUtils.newVersion(ConfigHandler.PATCH_VERSION, VersionUtils.getPluginVersion()) && !VersionUtils.isBranch("dev")) {
Chat.console(Phrase.build(Phrase.VERSION_INCOMPATIBLE, "CoreProtect", "v" + VersionUtils.getPluginVersion()));
Chat.sendConsoleMessage(Color.GREY + "[CoreProtect] " + Phrase.build(Phrase.INVALID_BRANCH_2));
return false;