BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
334 stars 136 forks source link

Unable to sell items to sign-shop due to Dye flag #669

Closed wellnesscookie closed 5 years ago

wellnesscookie commented 5 years ago

Description

Describe the bug

Something is canceling players interaction with sign-shop when right clicking them.

Steps to reproduce the behavior

  1. Have a plugin that uses signs to sell/buy things
  2. Use #1017 bbox (DEV) build from code.mc
  3. Try to right click on a sign to buy/sell
  4. See hint message from dye flag: https://prnt.sc/nll65w

Expected behavior

At least allow everyone to interact with signs if island settings for dying are green (though not really sure what it has to do with signs)

Environment

Plugins

[06:32:17 INFO]: Plugins (50): AnimatedNames*, AreaShop, ArmorStandTools, BentoBox, BungeeTabListPlus*, ChatControl, ChestCommands, ChestShop*, ClearLag*, CrateReloaded, EditableSign, Essentials, EssentialsChat*, EssentialsSpawn*, ExecuteEverywhere*, FastAsyncWorldEdit*, FeatherBoard*, HeadDatabase*, HolographicDisplays, HungerKeeperPlus*, IPWhitelist*, IslandBorder, LeaderHeads*, LibsDisguises, LuckPerms, MobManager*, Multiverse-Core*, MVdWPlaceholderAPI*, NickRemover*, NoSleepCMDs*, OpenInv*, PlayerHeads, PlayerPoints*, ProtocolLib*, PvPManager*, PvPManagerBossBar*, RedstoneClockDetector*, RPGHealthIndicator*, SilkSpawners, SkinsRestorer, Spartan, TradeMe, TrophyHeads*, UnbreakingAnvils*, Vault*, VoidGenerator, WorldEdit, WorldGuard, WorldGuardPistonFix*, Yamler*

BentoBox setup

BentoBox and Addons
[21:39:52] [main/INFO]: [CHAT] Running PAPER 1.13.2.
[21:39:52] [main/INFO]: [CHAT] BentoBox version: 1.5.0-SNAPSHOT
[21:39:52] [main/INFO]: [CHAT] Loaded Game Worlds:
[21:39:52] [main/INFO]: [CHAT] skyblock (skyblock)
[21:39:52] [main/INFO]: [CHAT] Loaded Add-Ons
[21:39:52] [main/INFO]: [CHAT] Biomes 0.4.5-SNAPSHOT-#28
[21:39:52] [main/INFO]: [CHAT] BSkyBlock 1.5.0
[21:39:52] [main/INFO]: [CHAT] Challenges 0.7.0-SNAPSHOT-#169
[21:39:52] [main/INFO]: [CHAT] Level 1.4.0
[21:39:52] [main/INFO]: [CHAT] Limits 0.2.0-SNAPSHOT
[21:39:52] [main/INFO]: [CHAT] SerbCraftAddon 2.2
[21:39:52] [main/INFO]: [CHAT] WelcomeWarps 1.4.0
Configuration

Additional context

I'd like to know what's this: https://github.com/BentoBoxWorld/BentoBox/blob/develop/src/main/java/world/bentobox/bentobox/listeners/flags/protection/DyeListener.java#L26

@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onPlayerInteract(final PlayerInteractEvent e) {

        if (e.getAction().equals(Action.RIGHT_CLICK_BLOCK) && e.getClickedBlock().getType().name().contains("SIGN")) {
            checkIsland(e, e.getPlayer(), e.getClickedBlock().getLocation(), Flags.DYE);
            return;
        }
Poslovitch commented 5 years ago

It's due to something they implemented in 1.14: signs can be dyed using dyes... I'll make the check a bit more permissive so that it doesn't unwillingly block other actions.

wellnesscookie commented 5 years ago

Oh, I thought that the 1.14 additional required development was actually happening in another branch, separated from 1.13.2. Okay, thanks for letting me know.

I think we will have to downgrade our BentoBox for users to be able to use our shop, until we receive the fix. Our economy is frozen at the moment.

Poslovitch commented 5 years ago

I'll push a fix any time soon.

wellnesscookie commented 5 years ago

@Poslovitch

Exceptions are: ink_sac, rose_red, cactus_green, cocoa_beans, lapis_lazuli They color sheeps too, but do not contain string "dye".

1.14 - cactus_green is renamed to green_dye. So the additional IF statement will work on 1.14, but not fully on 1.13 too. Mind adding these to the exception list too?

Note: It is okay for 1.14, because cocoa_beans are not used as dye anymore. They are used to create brown_dye. Though it breaks on 1.14, if they use the cocoa to do something with the sign.

Poslovitch commented 5 years ago

Dangit... I thought they were renamed already in 1.13... Hmm... I'll do something else.