diff --git a/Changelog.txt b/Changelog.txt index 09ff713598..639fa8a8ac 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,5 @@ Version 2.2.030 + Fixed bug where Smelting permission was needed for Alchemy XP gain Fixed material based salvage permissions not functioning (Thanks Momshroom) Version 2.2.029 diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index acaab2b0d4..9f2c746ef5 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java @@ -167,11 +167,15 @@ public void onInventoryClickEventNormal(InventoryClickEvent event) { McMMOPlayer mmoPlayer = UserManager.getPlayer(player); if (event.getInventory() instanceof FurnaceInventory furnaceInventory) { + if (!mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.SMELTING)) + return; //Switch owners ContainerMetadataUtils.processContainerOwnership(furnaceInventory.getHolder(), player); } if (event.getInventory() instanceof BrewerInventory brewerInventory) { + if (!mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.ALCHEMY)) + return; // switch owners ContainerMetadataUtils.processContainerOwnership(brewerInventory.getHolder(), player); } diff --git a/src/main/java/com/gmail/nossr50/util/ContainerMetadataUtils.java b/src/main/java/com/gmail/nossr50/util/ContainerMetadataUtils.java index b06c1fcdc2..2a49f0461f 100644 --- a/src/main/java/com/gmail/nossr50/util/ContainerMetadataUtils.java +++ b/src/main/java/com/gmail/nossr50/util/ContainerMetadataUtils.java @@ -79,9 +79,6 @@ public static boolean isContainerOwned(BlockState blockState) { } public static void processContainerOwnership(BlockState blockState, Player player) { - if (!mcMMO.p.getSkillTools().doesPlayerHaveSkillPermission(player, PrimarySkillType.SMELTING)) - return; - if (getContainerOwner(blockState) != null) { if (getContainerOwner(blockState).getUniqueId().equals(player.getUniqueId())) return;