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

Cannot plant saplings #249

Closed SlimeDog closed 6 years ago

SlimeDog commented 6 years ago

Spigot 1.13 latest BentoBox 0.9.0-alpha1 BSkyBlock-0.0.1-SNAPSHOT Challenges-0.0.1-SNAPSHOT Level-0.0.1-SNAPSHOT

I have built an initial island for testing. Initially I could plant oak saplings, so was able to generate sufficient wood. After a few hours of building, I needed more wood. There is quite a bit of grass, which should be available for planting. I can plant a sapling only on two of the available grass blocks, as shown. On any of the others, the planting fails (the sapling bounces off the grass block). I do not see anything that should prevent planting. It would appear that all of the grass blocks are well within my island range. In the attached image, I am standing at {0,124,0) facing east.

untitled

Islands file (so far as I know, the default).

uniqueId: 0d6b9b3c-a0a1-49f2-9cd4-a0d3141d3c64
center: world_skyblock:0:120:0:0:0
range: 128
protectionRange: 64
world: world_skyblock
name: 'null'
createdDate: 1535646276301
updatedDate: 1535646276301
owner: PLAYER_UUID_ELIDED
members:
  PLAYER_UUID_ELIDED: 1000
spawn: false
purgeProtected: false
flags:
  HURT_ANIMALS: 900
  REDSTONE: 900
  BUCKET: 900
  LOCK: 0
  ENDER_PEARL: 900
  DOOR: 900
  FURNACE: 900
  ANVIL: 900
  FIRE: 900
  BREEDING: 900
  HURT_VILLAGERS: 900
  TNT: 900
  COLLECT_LAVA: 900
  LEVER: 900
  HURT_MONSTERS: 900
  RIDING: 900
  ARMOR_STAND: 900
  FIRE_SPREAD: 0
  TRADING: 900
  EGGS: 900
  ITEM_DROP: 900
  PVP_OVERWORLD: -1
  CHEST: 900
  NOTE_BLOCK: 900
  CROP_TRAMPLE: 900
  ITEM_PICKUP: 900
  BREWING: 900
  PVP_END: -1
  COLLECT_WATER: 900
  BUTTON: 900
  FIRE_EXTINGUISH: 900
  BEACON: 900
  TRAPDOOR: 900
  PRESSURE_PLATE: 900
  PLACE_BLOCKS: 900
  CRAFTING: 900
  SHEARING: 900
  ENCHANTING: 900
  BED: 900
  SPAWN_EGGS: 900
  PVP_NETHER: -1
  MILKING: 900
  MONSTER_SPAWN: 0
  GATE: 900
  PORTAL: 900
  ANIMAL_SPAWN: 0
  LEASH: 900
  MOUNT_INVENTORY: 900
  BREAK_BLOCKS: 900
  CHORUS_FRUIT: 900
  JUKEBOX: 900
levelHandicap: 0
spawnPoint:
  NETHER: world_skyblock_nether:-2:125:0:1135132672:1106247680
  THE_END: world_skyblock_the_end:-1:126:-1:1134395392:1106247680
  NORMAL: world_skyblock:0:125:2:0:1106247680
SlimeDog commented 6 years ago

I just discovered that I can also plant on the east side of the trapdoor. So three yes, remainder no.

tastybento commented 6 years ago

Weird. Do you have spawn protection active?

SlimeDog commented 6 years ago
# BentoBox Configuration 0.9.0-alpha1
# This config file is dynamic and saved when the server is shutdown.
# You cannot edit it while the server is running because changes will
# be lost! Use in-game settings GUI or edit when server is offline.
# 
general:
  # BentoBox uses bStats.org to get global data about the plugin to help improving it.
  # bStats has nearly no effect on your server's performance and the sent data is completely
  # anonymous so please consider twice if you really want to disable it.
  metrics: true
  # Check for updates - this will tell Ops and the console if there is a new
  # version available. It contacts dev.bukkit.org to request the latest version
  # info. It does not download the latest version or change any files
  check-updates: true
  # Default language for new players.
  # This is the filename in the locale folder without .yml.
  # If this does not exist, the default en-US will be used.
  default-language: en-US
  # Use economy or not. If true, an economy plugin is required. If false, no money is used or give.
  # If there is no economy plugin present anyway, money will be automatically disabled.
  use-economy: true
  # Starting money - this is how much money new players will have as their
  # balance at the start of an island.
  starting-money: 10.0
  purge:
    # Only islands below this level will be removed if they are abandoned and admins issue the purge command
    max-island-level: 50
    # Remove user data when its island gets purged.
    # Helps a lot to avoid huge backups and can save some performance on startup,
    # but the player settings and data will be reset.
    remove-user-data: false
  database:
    # FLATFILE, MYSQL, MONGO
    # if you use MONGO, you must also run the BSBMongo plugin (not addon)
    # See https://github.com/tastybento/bsbMongo/releases/
    type: FLATFILE
    host: localhost
    # Port 3306 is MySQL's default. Port 27017 is MongoDB's default.
    port: 3306
    name: BSkyBlock
    username: username
    password: password
    # How often the data will be saved to file in mins. Default is 5 minutes.
    # This helps prevent issues if the server crashes.
    # Data is also saved at important points in the game.
    backup-period: 5
  # Allow FTB Autonomous Activator to work (will allow a pseudo player [CoFH] to place and break blocks and hang items)
  # Add other fake player names here if required
  fakeplayers:
  - '[CoFH]'
  # Allow obsidian to be scooped up with an empty bucket back into lava
  # This only works if there is a single block of obsidian (no obsidian within 10 blocks)
  # Recommendation is to keep this true so that newbies don't bother you or reset their
  # island unnecessarily.
  allow-obsidian-scooping: true
  # Time in seconds that players have to confirm sensitive commands, e.g. island reset
  confirmation-time: 20
  # Rank required to use a command. e.g., use the invite command. Default is owner rank is required.
  rank-command: {}
panel:
  close-on-click-outside: true
island:
  # How long a player must wait until they can rejoin a team island after being
  # kicked in minutes. This slows the effectiveness of players repeating challenges
  # by repetitively being invited to a team island.
  invite-wait: 60
  require-confirmation:
    # Ask the player to confirm the command he is using by typing it again.
    # The 'wait' value is the number of seconds to wait for confirmation.
    kick: true
    kick-wait: 10
    leave: true
    leave-wait: 10
    reset: true
  # How long a player must wait before they can reset their island again in seconds
  reset-wait: 300
  name:
    # These set the minimum and maximum size of a name.
    min-length: 4
    max-length: 20
  # How long a player must wait until they can ban a player
  # after unbanning them. In minutes.
  ban-wait: 10
  customranks: {}
# These settings should not be edited
uniqueId: config
# BSkyBlock Configuration 0.9.0-alpha1
# This config file is dynamic and saved when the server is shutdown.
# You cannot edit it while the server is running because changes will
# be lost! Use in-game settings GUI or edit when server is offline.
# 
world:
  # Friendly name for this world. Used in admin commands. Must be a single word
  friendly-name: SkyBlock
  # Name of the world - if it does not exist then it will be generated.
  # It acts like a prefix for nether and end (e.g. BSkyBlock, BSkyBlock_nether, BSkyBlock_end)
  world-name: world_skyblock
  # World difficulty setting - PEACEFUL, EASY, NORMAL, HARD
  # Other plugins may override this setting
  difficulty: HARD
  # Radius of island in blocks. (So distance between islands is twice this)
  # Will be rounded up to the nearest 16 blocks.
  # It is the same for every dimension : Overworld, Nether and End.
  # This value cannot be changed mid-game and the plugin will not start if it is different.
  distance-between-islands: 128
  # Default protection range radius in blocks. Cannot be larger than distance.
  # Admins can change protection sizes for players individually using /bsadmin setrange
  # or set this permission: bskyblock.island.range.<number>
  protection-range: 64
  # Start islands at these coordinates. This is where new islands will start in the
  # world. These must be a factor of your island distance, but the plugin will auto
  # calculate the closest location on the grid. Islands develop around this location
  # both positively and negatively in a square grid.
  # If none of this makes sense, leave it at 0,0.
  start-x: 0
  start-z: 0
  offset-x: 0
  offset-z: 0
  # Island height - Lowest is 5.
  # It is the y coordinate of the bedrock block in the schem
  island-height: 120
  # Use your own world generator for this world. In this case, the plugin will not generate
  # anything.
  use-own-generator: false
  # Sea height (don't changes this mid-game unless you delete the world)
  # Minimum is 0, which means you are playing Skyblock!
  # If sea height is less than about 10, then players will drop right through it
  # if it exists. Makes for an interesting variation on skyblock.
  sea-height: 0
  # Maximum number of islands in the world. Set to 0 for unlimited. 
  # If the number of islands is greater than this number, no new island will be created.
  max-islands: 0
  # The default game mode for this world. Players will be set to this mode when they create
  # a new island for example. Options are SURVIVAL, CREATIVE, ADVENTURE, SPECTATOR
  default-game-mode: SURVIVAL
  # The default biome for the overworld
  default-biome: PLAINS
  nether:
    # Generate Nether - if this is false, the nether world will not be made and access to
    # the nether will not occur. Other plugins may still enable portal usage.
    # Note: Some challenges will not be possible if there is no nether.
    # Note that with a standard nether all players arrive at the same portal and entering a
    # portal will return them back to their islands.
    generate: true
    # Islands in Nether. Change to false for standard vanilla nether.
    islands: true
    # Nether trees are made if a player grows a tree in the nether (gravel and glowstone)
    # Applies to both vanilla and islands Nether
    trees: true
    # Make the nether roof, if false, there is nothing up there
    # Change to false if lag is a problem from the generation
    # Only applies to islands Nether
    roof: true
    # Nether spawn protection radius - this is the distance around the nether spawn
    # that will be protected from player interaction (breaking blocks, pouring lava etc.)
    # Minimum is 0 (not recommended), maximum is 100. Default is 25.
    # Only applies to vanilla nether
    spawn-radius: 25
  end:
    generate: true
    islands: true
    dragon-spawn: false
  # Mob white list - these mobs will NOT be removed when logging in or doing /island
  remove-mobs-whitelist:
  - ZOMBIE_VILLAGER
  - WITHER
  - PIG_ZOMBIE
  - ENDERMAN
  # World flags. These are boolean settings for various flags for this world
  flags:
    CREEPER_DAMAGE: true
    PISTON_PUSH: true
    ISLAND_RESPAWN: true
    CREEPER_GRIEFING: false
    ENDERMAN_GRIEFING: true
    CLEAN_SUPER_FLAT: false
    CHEST_DAMAGE: false
    ENTER_EXIT_MESSAGES: true
    ENDERMAN_DEATH_DROP: true
    OFFLINE_REDSTONE: true
    ENDER_CHEST: false
    ITEM_FRAME_DAMAGE: false
    REMOVE_MOBS: true
  # These are the default protection settings for new islands.
  # The value is the minimum island rank required allowed to do the action
  # Ranks are: Visitor = 0, Member = 900, Owner = 1000
  default-island-flags:
    HURT_ANIMALS: 900
    COLLECT_WATER: 900
    REDSTONE: 900
    BUCKET: 900
    BUTTON: 900
    FIRE_EXTINGUISH: 900
    LOCK: 0
    ENDER_PEARL: 900
    DOOR: 900
    BEACON: 900
    TRAPDOOR: 900
    PRESSURE_PLATE: 900
    FURNACE: 900
    PLACE_BLOCKS: 900
    ANVIL: 900
    FIRE: 900
    CRAFTING: 900
    BREEDING: 900
    TNT: 900
    SHEARING: 900
    HURT_VILLAGERS: 900
    ENCHANTING: 900
    BED: 900
    SPAWN_EGGS: 900
    COLLECT_LAVA: 900
    MILKING: 900
    LEVER: 900
    RIDING: 900
    HURT_MONSTERS: 900
    ARMOR_STAND: 900
    GATE: 900
    TRADING: 900
    EGGS: 900
    ITEM_DROP: 900
    PORTAL: 900
    CHEST: 900
    NOTE_BLOCK: 900
    LEASH: 900
    MOUNT_INVENTORY: 900
    BREAK_BLOCKS: 900
    CHORUS_FRUIT: 900
    ITEM_PICKUP: 900
    CROP_TRAMPLE: 900
    JUKEBOX: 900
    BREWING: 900
  # These are the default settings for new islands
  default-island-settings:
    PVP_END: false
    PVP_NETHER: false
    ANIMAL_SPAWN: true
    MONSTER_SPAWN: true
    FIRE_SPREAD: true
    PVP_OVERWORLD: false
  # These are the settings visible to users. (Not implemented yet)
  visible-settings: []
  # Visitor banned commands - Visitors to islands cannot use these commands in this world
  visitor-banned-commands:
  - spawner
  - spawnmob
island:
  # Default max team size
  # Use this permission to set for specific user groups: askyblock.team.maxsize.<number>
  # Permission size cannot be less than the default below. 
  max-team-size: 4
  # Default maximum number of homes a player can have. Min = 1
  # Accessed via sethome <number> or go <number>
  # Use this permission to set for specific user groups: askyblock.island.maxhomes.<number>
  max-homes: 1
  reset:
    # How many resets a player is allowed (override with /asadmin clearreset <player>)
    # Value of -1 means unlimited, 0 means hardcore - no resets.
    # Example, 2 resets means they get 2 resets or 3 islands lifetime
    reset-limit: 2
    # Kicked or leaving players lose resets
    # Players who leave a team will lose an island reset chance
    # If a player has zero resets left and leaves a team, they cannot make a new
    # island by themselves and can only join a team.
    # Leave this true to avoid players exploiting free islands
    leavers-lose-reset: false
    # Allow kicked players to keep their inventory.
    # If false, kicked player's inventory will be thrown at the island leader if the
    # kicked player is online and in the island world.
    kicked-keep-inventory: false
    on-join:
      # What the plugin should reset when the player joins or creates an island
      # Reset Money - if this is true, will reset the player's money to the starting money
      # Recommendation is that this is set to true, but if you run multi-worlds
      # make sure your economy handles multi-worlds too.
      money: false
      # Reset inventory - if true, the player's inventory will be cleared.
      # Note: if you have MultiInv running or a similar inventory control plugin, that
      # plugin may still reset the inventory when the world changes.
      inventory: false
      # Reset Ender Chest - if true, the player's Ender Chest will be cleared.
      ender-chest: false
    on-leave:
      # What the plugin should reset when the player leaves or is kicked from an island
      # Reset Money - if this is true, will reset the player's money to the starting money
      # Recommendation is that this is set to true, but if you run multi-worlds
      # make sure your economy handles multi-worlds too.
      money: false
      # Reset inventory - if true, the player's inventory will be cleared.
      # Note: if you have MultiInv running or a similar inventory control plugin, that
      # plugin may still reset the inventory when the world changes.
      inventory: false
      # Reset Ender Chest - if true, the player's Ender Chest will be cleared.
      ender-chest: false
  require-confirmation:
    reset: true
  # Have player's respawn on their island if they die
  respawn-on-island: false
  deaths:
    # Maximum number of deaths to count. The death count can be used by add-ons.
    max: 10
    sum-team: false
    # When a player joins a team, reset their death count
    team-join-reset: true
togglePvPCooldown: 0
protection:
  # Geo restrict mobs.
  # Mobs that exit the island space where they were spawned will be removed.
  geo-limit-settings:
  - BAT
  - BLAZE
  - GHAST
  - PHANTOM
  # Invincible visitors. List of damages that will not affect visitors.
  # Make list blank if visitors should receive all damages
  invincible-visitors:
  - BLOCK_EXPLOSION
  - CONTACT
  - CRAMMING
  - CUSTOM
  - DRAGON_BREATH
  - DROWNING
  - ENTITY_ATTACK
  - ENTITY_EXPLOSION
  - FALL
  - FALLING_BLOCK
  - FIRE
  - FIRE_TICK
  - FLY_INTO_WALL
  - HOT_FLOOR
  - LAVA
  - LIGHTNING
  - MAGIC
  - POISON
  - PROJECTILE
  - STARVATION
  - SUFFOCATION
  - THORNS
  - VOID
  - WITHER
panel:
  close-on-click-outside: true
do-not-edit-these-settings:
  # These settings should not be edited
  reset-epoch: 0
uniqueId: config
tastybento commented 6 years ago

No, I meant on the server. Your island is at 0,0 so maybe the server is protecting some of the blocks around it. A way to check, if you are Op, is there any issue planting saplings?

SlimeDog commented 6 years ago

I am op, per LuckPerms (vanilla op is disabled). As a test, I also tried as a (demoted) regular player. Same result. What else should I look for?

SlimeDog commented 6 years ago

Hmm. Some interaction with GriefPrevention. I did not explicitly create a GP claim, but at some point there was one around the spawn; I do not know when it was created, because my first planting were within the claim area. I could only plant in the GP claim. When I removed it, I could not plant anywhere. When I created a GP claim that encompassed my island, I could plant anywhere (on grass or dirt). Any ideas?

SlimeDog commented 6 years ago

More information:

While testing challenges, I needed to plant a large spruce (to generate podzol). I was unable to find a 2x2 square of blocks that would allow me to plant saplings on the surface level of my island, or one meter higher. So I had to build a dirt stack 2-meters (blocks) high, which allowed me to plant the contiguous saplings. I have no idea why. Configurations have not changed from above. GriefPrevention plugin is enabled, but there is no claim on my island.

tastybento commented 6 years ago

I'd say that you should remove all other plugins and see if it still happens. Then remove bentobox and see if it still happens.

SlimeDog commented 6 years ago

I'm debugging other plugins ATM, but I still want to isolate this.

SlimeDog commented 6 years ago

I cannot reproduce this issue. Circumstances have changed, but I tried.