From 604d45cf06d8ad374a86cc51cb341c2df0215f69 Mon Sep 17 00:00:00 2001 From: ceikry Date: Sat, 31 Jul 2021 13:23:40 -0500 Subject: [PATCH] Fixed an exploit related to herb cleaning --- .../game/node/entity/skill/herblore/HerbCleanPlugin.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Server/src/main/java/core/game/node/entity/skill/herblore/HerbCleanPlugin.java b/Server/src/main/java/core/game/node/entity/skill/herblore/HerbCleanPlugin.java index b70a8a13e..e7c19bb4c 100644 --- a/Server/src/main/java/core/game/node/entity/skill/herblore/HerbCleanPlugin.java +++ b/Server/src/main/java/core/game/node/entity/skill/herblore/HerbCleanPlugin.java @@ -1,5 +1,7 @@ package core.game.node.entity.skill.herblore; +import api.Container; +import api.ContentAPI; import core.cache.def.impl.ItemDefinition; import core.game.node.entity.skill.Skills; import core.game.interaction.OptionHandler; @@ -35,9 +37,10 @@ public final class HerbCleanPlugin extends OptionHandler { return true; } double exp = herb.getExperience(); - if (player.getInventory().replace(herb.getProduct(), ((Item) node).getSlot()) != null) { - player.getSkills().addExperience(Skills.HERBLORE, exp, true); - player.getPacketDispatch().sendMessage("You clean the dirt from the " + herb.getProduct().getName().toLowerCase().replace("clean", "").trim() + " leaf."); + if (ContentAPI.removeItem(player, node.asItem(), Container.INVENTORY)){ + player.getSkills().addExperience(Skills.HERBLORE, exp, true); + ContentAPI.addItem(player, herb.getProduct().getId(), 1); + player.getPacketDispatch().sendMessage("You clean the dirt from the " + herb.getProduct().getName().toLowerCase().replace("clean", "").trim() + " leaf."); } player.lock(1); return true;