diff --git a/CHANGELOG.md b/CHANGELOG.md index f68b2e42c..75c837577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ * Fixed #3504 * Fixed #3534 * Fixed #3538 +* Fixed #3548 ## Release Candidate 31 (14 Mar 2022) https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#31 diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/SurvivalSlimefunGuide.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/SurvivalSlimefunGuide.java index 26c85ca3e..00460151b 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/SurvivalSlimefunGuide.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/SurvivalSlimefunGuide.java @@ -311,7 +311,7 @@ public class SurvivalSlimefunGuide implements SlimefunGuideImplementation { try { if (isSurvivalMode()) { displayItem(profile, sfitem, true); - } else { + } else if (pl.hasPermission("slimefun.cheat.items")) { if (sfitem instanceof MultiBlockMachine) { Slimefun.getLocalization().sendMessage(pl, "guide.cheat.no-multiblocks"); } else { @@ -323,6 +323,13 @@ public class SurvivalSlimefunGuide implements SlimefunGuideImplementation { pl.getInventory().addItem(clonedItem); } + } else { + /* + * Fixes #3548 - If for whatever reason, + * an unpermitted players gets access to this guide, + * this will be our last line of defense to prevent any exploit. + */ + Slimefun.getLocalization().sendMessage(pl, "messages.no-permission", true); } } catch (Exception | LinkageError x) { printErrorMessage(pl, x);