Grief Prevention

Grief Prevention

1M Downloads

Can plant sapling when spamming

MrAmericanMike opened this issue ยท 6 comments

commented

Observed Behavior

Under certain circumstances the plugin prevents placing a sapling on the world. (Turns out this was intended)

When there is 1 block of air under a dirt/grass block, the plugin prevents the placement of a sapling. It also happens if there are 2 blocks and the 3rd below is air. (Intended to happen)

See photo.

image

Spamming the sapling placement eventually results in the sapling been placed on the world. (Actual bug)

EDIT: So I'm actually reporting this the other way around, when searching for this issue I found out that setting LimitSkyTrees: false fixes what was going to be my report.

The bug now is that, when spamming the sapling on the block, it will eventually place down.

Expected Behavior

Sapling should not place in the world.

Reproduction steps

Paper server 1.20.1
Grief Prevention 16.18.2-beta1

Launch a world, recreate scenario and try to place a sapling down. Keep spamming until it is eventually placed.

Stack trace or error log

No response

Server version

This server is running Paper version git-Paper-83 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: c793bd9)

GriefPrevention version

GriefPrevention version 16.18.1-7-g64b348a

Configuration

Everything default.

# Default values are perfect for most servers.  If you want to customize and have a question, look for the answer here first: http://dev.bukkit.org/bukkit-plugins/grief-prevention/pages/setup-and-configuration/

GriefPrevention:
  SeaLevelOverrides:
    world: -1
    world_nether: -1
    world_the_end: -1
  Claims:
    Mode:
      world: Survival
      world_the_end: Disabled
      world_nether: Disabled
    PreventGlobalMonsterEggs: true
    PreventTheft: true
    ProtectCreatures: true
    PreventButtonsSwitches: true
    LockWoodenDoors: false
    LockTrapDoors: false
    LockFenceGates: true
    EnderPearlsRequireAccessTrust: true
    RaidTriggersRequireBuildTrust: true
    ProtectHorses: true
    ProtectDonkeys: true
    ProtectLlamas: true
    InitialBlocks: 100
    Claim Blocks Accrued Per Hour:
      Default: 100
    Max Accrued Claim Blocks:
      Default: 80000
    Accrued Idle Threshold: 0
    AccruedIdlePercent: 0
    AbandonReturnRatio: 1.0
    AutomaticNewPlayerClaimsRadius: 4
    AutomaticNewPlayerClaimsRadiusMinimum: 0
    ExtendIntoGroundDistance: 5
    MinimumWidth: 5
    MinimumArea: 100
    MaximumDepth: -2147483648
    InvestigationTool: STICK
    ModificationTool: GOLDEN_SHOVEL
    Expiration:
      ChestClaimDays: 7
      UnusedClaimDays: 14
      AllClaims:
        DaysInactive: 60
        ExceptWhenOwnerHasTotalClaimBlocks: 10000
        ExceptWhenOwnerHasBonusClaimBlocks: 5000
      AutomaticNatureRestoration:
        SurvivalWorlds: false
    AllowTrappedInAdminClaims: false
    MaximumNumberOfClaimsPerPlayer: 0
    CreationRequiresWorldGuardBuildPermission: true
    VillagerTradingRequiresPermission: true
    CommandsRequiringAccessTrust: /sethome
    DeliverManuals: true
    ManualDeliveryDelaySeconds: 30
    RavagersBreakBlocks: true
    FireSpreadsInClaims: false
    FireDamagesInClaims: false
    LecternReadingRequiresAccessTrust: true
  Spam:
    Enabled: true
    LoginCooldownSeconds: 60
    LoginLogoutNotificationsPerMinute: 5
    ChatSlashCommands: /me;/global;/local
    WhisperSlashCommands: /tell;/pm;/r;/whisper;/msg
    WarningMessage: Please reduce your noise level.  Spammers will be banned.
    BanOffenders: true
    BanMessage: Banned for spam.
    AllowedIpAddresses: 1.2.3.4; 5.6.7.8
    DeathMessageCooldownSeconds: 120
    Logout Message Delay In Seconds: 0
  PvP:
    RulesEnabledInWorld:
      world: false
      world_nether: false
      world_the_end: false
    ProtectFreshSpawns: true
    PunishLogout: true
    CombatTimeoutSeconds: 15
    AllowCombatItemDrop: false
    BlockedSlashCommands: /home;/vanish;/spawn;/tpa
    ProtectPlayersInLandClaims:
      PlayerOwnedClaims: true
      AdministrativeClaims: true
      AdministrativeSubdivisions: true
    AllowLavaDumpingNearOtherPlayers:
      PvPWorlds: true
      NonPvPWorlds: false
    AllowFlintAndSteelNearOtherPlayers:
      PvPWorlds: true
      NonPvPWorlds: false
    ProtectPetsOutsideLandClaims: false
  Economy:
    ClaimBlocksMaxBonus: 0
    ClaimBlocksPurchaseCost: 0.0
    ClaimBlocksSellValue: 0.0
  ProtectItemsDroppedOnDeath:
    PvPWorlds: false
    NonPvPWorlds: true
  BlockLandClaimExplosions: true
  BlockSurfaceCreeperExplosions: true
  BlockSurfaceOtherExplosions: true
  LimitSkyTrees: true
  LimitTreeGrowth: false
  PistonMovement: CLAIMS_ONLY
  PistonExplosionSound: true
  FireSpreads: false
  FireDestroys: false
  AdminsGetWhispers: true
  AdminsGetSignNotifications: true
  VisualizationAntiCheatCompatMode: false
  SmartBan: true
  Mute New Players Using Banned Words: true
  MaxPlayersPerIpAddress: 3
  SilenceBans: true
  Siege:
    Worlds: []
    BreakableBlocks:
    - GRASS_BLOCK
    - DIRT
    - COBBLESTONE
    - OAK_PLANKS
    - SPRUCE_PLANKS
    - BIRCH_PLANKS
    - JUNGLE_PLANKS
    - ACACIA_PLANKS
    - DARK_OAK_PLANKS
    - SAND
    - GRAVEL
    - GLASS
    - GRASS
    - FERN
    - DEAD_BUSH
    - WHITE_WOOL
    - ORANGE_WOOL
    - MAGENTA_WOOL
    - LIGHT_BLUE_WOOL
    - YELLOW_WOOL
    - LIME_WOOL
    - PINK_WOOL
    - GRAY_WOOL
    - LIGHT_GRAY_WOOL
    - CYAN_WOOL
    - PURPLE_WOOL
    - BLUE_WOOL
    - BROWN_WOOL
    - GREEN_WOOL
    - RED_WOOL
    - BLACK_WOOL
    - SNOW
    - GLASS_PANE
    DoorsOpenDelayInSeconds: 300
    CooldownEndInMinutes: 60
  EndermenMoveBlocks: false
  SilverfishBreakBlocks: false
  CreaturesTrampleCrops: false
  RabbitsEatCrops: true
  HardModeZombiesBreakDoors: false
  Database:
    URL: ''
    UserName: ''
    Password: ''
  UseBanCommand: false
  BanCommandPattern: ban %name% %reason%
  Advanced:
    fixNegativeClaimblockAmounts: true
    ClaimExpirationCheckRate: 60
    OfflinePlayer_cache_days: 90
  Abridged Logs:
    Days To Keep: 7
    Included Entry Types:
      Social Activity: true
      Suspicious Activity: true
      Administrative Activity: false
      Debug: false
      Muted Chat Messages: false
  ConfigVersion: 1

Plugin list

Server Plugins (1):
Bukkit Plugins:
GriefPrevention

Running without GriefPrevention

  • I attempted running the server without GriefPrevention installed.
  • The problem does not occur when GriefPrevention is removed from the server.

Running with only GriefPrevention

  • I attempted running only GriefPrevention on the server.
  • The issue still occurs when GriefPrevention is the only plugin running.

Running on a fresh, clean server installation

  • I attempted testing for the issue on a new server.
  • The issue still occurs on a new server.

Using unmodified client

  • I attempted testing for the issue with the vanilla client.
  • The issue still occurs when using the vanilla client.

We appreciate you taking the time to fill out a bug report!

  • I searched for similar issues before submitting this bug report.
commented

This is intentional. You can disable this feature in your config with the following:
LimitSkyTrees: false

commented

This is intentional. You can disable this feature in your config with the following: LimitSkyTrees: false

I know, what I'm reporting isn't not been able to plant the sapling (Figured that was intentional while writing the bug report) But turns out that if you spam the sapling it finally places into the world, when it shouldn't happen.

commented

For sake of clarity and continuity of history, it would've been better to close and make a new report, since it took me a while to figure out that this issue has been changed. (Yes I know false assumptions were made before, but does confuse earlier comments etc.)

My thoughts on how this feature fits in the roadmap:

This feature I guess would be considered "nature grief" - which I'm not sure on how much scope GP should be taking in this area. Maybe just low-effort actions that can be stopped with low-effort checks (e.g. firespread), though this does have the effect of people assuming vanilla mechanics that are actually things being stopped by GP. (One such example is naturally-created lava pools starting forest fires - GP stops this, and it's only after I have GP removed that this occurs.) Personally, I never known of this form of grief until seeing something to address it in this plugin.

commented

Unable to reproduce this. I am able to create a ghost block, but it's purely client desync. Also had to use a macro to even manage that, but I imagine higher latency might make it happen more often.

2023-08-13_15-44-33.mp4
commented

Personally the only time I've seen this form of "grief" was a friend who really likes the aesthetic of trees planted on trees way up into the sky, and GP doesn't even stop that because the blocks beneath the dirt are leaves and not air. It is pretty low-effort for the potential unsightliness, but the only real results I've seen out of GP's implementation were a couple people being prevented from placing legitimate saplings on terraformed areas without complete belowground fill. If we're considering where this feature fits, I'd vote to can it.

commented

Unable to reproduce this. I am able to create a ghost block, but it's purely client desync. Also had to use a macro to even manage that, but I imagine higher latency might make it happen more often.

2023-08-13_15-44-33.mp4

Same, even when I didn't change anything I now can't reproduce. Will close.
(The one thing I can confirm is that it wasn't client desync the first time I came across this issue and the sapling even grows after a while, so I guess that confirms it's there also server side)