ChestShop-authors / ChestShop-3

ChestShop - the chest & sign shop plugin for Minecraft Servers running Bukkit/Spigot/Paper
https://dev.bukkit.org/projects/chestshop
GNU Lesser General Public License v2.1
275 stars 176 forks source link

Buying with a redeemable item in the hand duplicates this one #455

Closed ArnoPompio closed 3 years ago

ArnoPompio commented 3 years ago

Plugin Version

version 3.12 (build 307)

Plugin Config

Config ```yaml DEBUG: false TURN_OFF_UPDATES: true TURN_OFF_DEV_UPDATE_NOTIFIER: false INCLUDE_SETTINGS_IN_METRICS: true CACHE_SIZE: 1000 DEFAULT_LANGUAGE: "en" USE_CLIENT_LOCALE: true SHOP_CONTAINERS: - "CHEST" - "TRAPPED_CHEST" SHOP_INTERACTION_INTERVAL: 250 IGNORE_CREATIVE_MODE: true IGNORE_ACCESS_PERMS: true REVERSE_BUTTONS: false SHIFT_SELLS_IN_STACKS: false SHIFT_SELLS_EVERYTHING: false SHIFT_ALLOWS: "ALL" ALLOW_SIGN_CHEST_OPEN: true ALLOW_LEFT_CLICK_DESTROYING: true REMOVE_EMPTY_SHOPS: false REMOVE_EMPTY_CHESTS: false REMOVE_EMPTY_WORLDS: - "world1" - "world2" ADMIN_SHOP_NAME: "Admin Shop" FORCE_UNLIMITED_ADMIN_SHOP: false SERVER_ECONOMY_ACCOUNT: "" SERVER_ECONOMY_ACCOUNT_UUID: 00000000-0000-0000-0000-000000000000 TAX_AMOUNT: 0 SERVER_TAX_AMOUNT: 0 SHOP_CREATION_PRICE: 0 SHOP_REFUND_PRICE: 0 PRICE_PRECISION: 2 ENSURE_CORRECT_PLAYERID: true VALID_PLAYERNAME_REGEXP: "^\\w+$" BLOCK_SHOPS_WITH_SELL_PRICE_HIGHER_THAN_BUY_PRICE: true MAX_SHOP_AMOUNT: 3456 ALLOW_MULTIPLE_SHOPS_AT_ONE_BLOCK: false ALLOW_PARTIAL_TRANSACTIONS: true ALLOW_AUTO_ITEM_FILL: true BUNGEECORD_MESSAGES: false SHOW_MESSAGE_OUT_OF_STOCK: true SHOW_MESSAGE_FULL_SHOP: true NOTIFICATION_MESSAGE_COOLDOWN: 10 CSTOGGLE_TOGGLES_OUT_OF_STOCK: false CSTOGGLE_TOGGLES_FULL_SHOP: false SHOW_TRANSACTION_INFORMATION_CLIENT: true SHOW_TRANSACTION_INFORMATION_OWNER: true LOG_TO_FILE: false LOG_TO_CONSOLE: true LOG_ALL_SHOP_REMOVALS: true STACK_TO_64: false USE_BUILT_IN_PROTECTION: true STICK_SIGNS_TO_CHESTS: false TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY: false TURN_OFF_SIGN_PROTECTION: false TURN_OFF_HOPPER_PROTECTION: false CHECK_ACCESS_FOR_SHOP_USE: false PROTECT_CHEST_WITH_LWC: false LWC_CHEST_PROTECTION_TYPE: "PRIVATE" PROTECT_SIGN_WITH_LWC: false LWC_SIGN_PROTECTION_TYPE: "PRIVATE" REMOVE_LWC_PROTECTION_AUTOMATICALLY: true LWC_LIMITS_BLOCK_CREATION: true WORLDGUARD_INTEGRATION: false WORLDGUARD_USE_FLAG: false WORLDGUARD_USE_PROTECTION: false GRIEFPREVENTION_INTEGRATION: false REDPROTECT_INTEGRATION: false AUTHME_HOOK: true HEROES_EXP: 100.0 SHOWITEM_MESSAGE: true USE_STOCK_COUNTER: false # Do you want to allow shop access to unregistered users? (Example: registration is optional) AUTHME_ALLOW_UNREGISTERED: false ```

Server Version

Paper 1.16.5 775

Server Log

It does not provide any informations for this situation.

What other plugins are you running?

AdvancedEnchantments, AdvancedPortals, AdvancedRegionMarket, AntiCooldown, ArmorStandEditor, ArtMap, AsyncWorldEdit, AuctionHouse, BetterBowTrails, BetterConcrete, BetterRTP, BlockQuest, boosCooldowns, Boss, BuycraftX, ChatColor2, ChatFeelings, ChatManager, ChatReaction, ChestShop, Citizens, ClueScrolls, CommandTimer, CoreProtect, CrateReloaded, DailyBonus, DeluxeMenus, DeluxeTags, DragonDropElytra, EntityDetection, EpicHoppers, EpicRename, EpicSpawners, Essentials, EssentialsChat, EssentialsSpawn, ExtraContexts, FarmLimiter, GriefPrevention, GriefPreventionFlags, GSit, HeadDatabase, HolographicDisplays, IllegalStack, ImageMaps, IPWhitelist, Jobs, LeaderHeadsRevamped, LibsDisguises, LimitPillagers, LuckPerms, Marriage, mcMMO, MiniaturePets, MobArena, MorphRedeem, Multiverse-Core, NerfPhantoms, OtherAnimalTeleport, PlaceholderAPI, PlayerVaults, PlayerWarps, PlugMan, PowerlessLamps, ProtocolLib, PvPManager, PyroFishingPro, Rankup, RawMsg, Redye, ResourceWorld, ShopGUIPlus, Shopkeepers, ShowItem, SuperTrailsPro*, SuperVanish, SurvivalInvisiframes, TAB, TitleManager, TradeMe, TubeTils, Vault, VentureChat, VoteParty, Votifier, WorldEdit, WorldGuard, WorldGuardExtraFlags

What is happening?

When a player is buying a redeemable item, like a random quest from Cluescrolls or a random custom enchantment from Advanced Enchantment, with the same redeemable item in the hand, the item is duplicated.

What did you expect to happen?

Buying a redeemable item does not duplicate this last one.

Additional context

There is no one additional context.

Phoenix616 commented 3 years ago

What do you mean by "duplicate"? Shouldn't it be expected behaviour that you have two after you purchase one and already have one?

ArnoPompio commented 3 years ago

A video will be easier I believe :p

https://youtu.be/GP0V_gLn9V0

Phoenix616 commented 3 years ago

Ah, I see, it also executes the action on click. That looks like the quest plugin not properly checking if the interact event was already cancelled. ChestShop cancels it when trading with a sign so that other plugins know that something happened.

Seeing as the plugin isn't open source I can't really check that/pr a fix to them so you will have to contact its author and ask them to fix this by properly handling cancelled interact events.

ArnoPompio commented 3 years ago

alright thank you !