GriefPrevention / GriefPrevention

The official self-service anti-griefing Bukkit plugin for Minecraft servers since 2011.
https://griefprevention.com
GNU General Public License v3.0
296 stars 238 forks source link

No claimblock increase when sitting #2366

Closed leis-leis closed 1 month ago

leis-leis commented 2 months ago

Observed Behavior

When player is sitting, for example on a horse or using GSit plugin the passive claimblock increase stops.

Expected Behavior

Claimblocks should increase regardless if player is sitting, standing, laying down or swimming

Reproduction steps

  1. Sit on a horse or /sit using GSit plugin
  2. Observe claim blocks not increasing

Stack trace or error log

No response

Server version

[Fri 10:35:50 INFO ] Current Purpur Version: 1.21-2276-72ccfbd (MC: 1.21)

GriefPrevention version

[Fri 10:36:31 INFO ] GriefPrevention version 16.18.4

Configuration

# 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: 319
    world_nether: 319
    world_the_end: 319
    targ: -1
    test: -1
    flat: -1
  Claims:
    Mode:
      world_nether: Survival
      targ: Disabled
      world_the_end: Disabled
      world: Survival
      test: Survival
      flat: Disabled
    PreventGlobalMonsterEggs: true
    PreventTheft: true
    ProtectCreatures: true
    PreventButtonsSwitches: true
    LockWoodenDoors: true
    LockTrapDoors: true
    LockFenceGates: true
    EnderPearlsRequireAccessTrust: true
    RaidTriggersRequireBuildTrust: true
    ProtectHorses: true
    ProtectDonkeys: true
    ProtectLlamas: true
    InitialBlocks: 0
    Claim Blocks Accrued Per Hour:
      Default: 25
    Max Accrued Claim Blocks:
      Default: 999999
    Accrued Idle Threshold: 0
    AccruedIdlePercent: 0
    AbandonReturnRatio: 1.0
    AutomaticNewPlayerClaimsRadius: 15
    AutomaticNewPlayerClaimsRadiusMinimum: 0
    ExtendIntoGroundDistance: 800
    MinimumWidth: 5
    MinimumArea: 100
    MaximumDepth: -2147483648
    InvestigationTool: STICK
    ModificationTool: GOLDEN_SHOVEL
    Expiration:
      ChestClaimDays: 300
      UnusedClaimDays: 300
      AllClaims:
        DaysInactive: 300
        ExceptWhenOwnerHasTotalClaimBlocks: 100000
        ExceptWhenOwnerHasBonusClaimBlocks: 20000
      AutomaticNatureRestoration:
        SurvivalWorlds: false
    AllowTrappedInAdminClaims: false
    MaximumNumberOfClaimsPerPlayer: 0
    CreationRequiresWorldGuardBuildPermission: true
    VillagerTradingRequiresPermission: true
    CommandsRequiringAccessTrust: /sethome
    DeliverManuals: false
    ManualDeliveryDelaySeconds: 30
    RavagersBreakBlocks: true
    FireSpreadsInClaims: false
    FireDamagesInClaims: false
    LecternReadingRequiresAccessTrust: true
  Spam:
    Enabled: false
    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: true
      world_nether: true
      world_the_end: true
      targ: true
      test: true
      flat: true
    ProtectFreshSpawns: false
    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: 25.0
    ClaimBlocksSellValue: 20.0
  ProtectItemsDroppedOnDeath:
    PvPWorlds: false
    NonPvPWorlds: true
  BlockLandClaimExplosions: true
  BlockSurfaceCreeperExplosions: true
  BlockSurfaceOtherExplosions: true
  LimitSkyTrees: true
  LimitTreeGrowth: false
  PistonMovement: EVERYWHERE
  PistonExplosionSound: true
  FireSpreads: false
  FireDestroys: false
  AdminsGetWhispers: false
  AdminsGetSignNotifications: true
  VisualizationAntiCheatCompatMode: false
  SmartBan: true
  Mute New Players Using Banned Words: true
  MaxPlayersPerIpAddress: 3
  SilenceBans: true
  Siege:
    Worlds: []
    BreakableBlocks:
    - PURPLE_WOOL
    - LIGHT_GRAY_WOOL
    - GRAVEL
    - BROWN_WOOL
    - DEAD_BUSH
    - BLUE_WOOL
    - JUNGLE_PLANKS
    - GLASS
    - SAND
    - WHITE_WOOL
    - YELLOW_WOOL
    - GLASS_PANE
    - DIRT
    - ORANGE_WOOL
    - BLACK_WOOL
    - GRASS_BLOCK
    - OAK_PLANKS
    - SHORT_GRASS
    - FERN
    - ACACIA_PLANKS
    - MAGENTA_WOOL
    - PINK_WOOL
    - COBBLESTONE
    - RED_WOOL
    - GRAY_WOOL
    - SNOW
    - BIRCH_PLANKS
    - LIME_WOOL
    - CYAN_WOOL
    - SPRUCE_PLANKS
    - GREEN_WOOL
    - DARK_OAK_PLANKS
    - LIGHT_BLUE_WOOL
    DoorsOpenDelayInSeconds: 300
    CooldownEndInMinutes: 60
  EndermenMoveBlocks: false
  SilverfishBreakBlocks: false
  CreaturesTrampleCrops: true
  RabbitsEatCrops: true
  HardModeZombiesBreakDoors: false
  MobProjectilesChangeBlocks: 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

GPExtension, GPFlags, GriefPrevention, GSit

Running without GriefPrevention

Running with only GriefPrevention

Running on a fresh, clean server installation

Using unmodified client

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

bigpresh commented 2 months ago

Default behaviour is to accrue claim blocks only when actively playing. If you want idle players to accrue blocks too, then you need to change the AccruedIdlePercent: 0 setting.

leis-leis commented 2 months ago

Thank you, this fixed my issue. I was looking for information about the idle part of the config in the docs and found nothing and considered it to be some sort of AFK thing. I am confused why sitting on a horse, in a boat etc. is considered idling though

RoboMWM commented 2 months ago

I was looking for information about the idle part of the config in the docs and found nothing and considered it to be some sort of AFK thing. I am confused why sitting on a horse, in a boat etc. is considered idling though

I think this config was added long ago before I had the new documentation site setup, so it's likely missing. If you can make an issue on the docs repo that'd be appreciated!

Jikoo commented 2 months ago

We may want to consider making AFK accrual penalties an addon. Related to #1060

QarthO commented 2 months ago

We may want to consider making AFK accrual penalties an addon. Related to #1060

I spoke with the original developer of GPAccruals and he gave me full permission to take over the plugin. I can add AFK accrual as a config option to it. Seems in-scope for that addon

RoboMWM commented 2 months ago

We may want to consider making AFK accrual penalties an addon. Related to #1060

Yea, I'm in favor of that. I think GP should maintain at least some level of simple afk checking though. I haven't checked the logic recently but I can take a look at what could be trimmed out.

Jikoo commented 2 months ago

Not sure what GP actually does internally (it's been a really low priority on my list for a couple years now), but we should consider just storing and checking player last facing vector and possibly optionally allowing a couple events like inventory clicks to also cause AFK exemption. All the vanilla AFK machines that move players about (water, pistons, minecarts, etc.) don't result in camera angle changes, and anything more complex is probably out of scope.

RoboMWM commented 2 months ago

Oh, did I make the AccrueClaimBlocksEvent? Been so long ago I've forgotten xd. Then you and billy added to it.

RoboMWM commented 2 months ago

Looking at the blames and going back in history, it seems this has changed over time. BigScary used to use 3 blocks as the minimum distance to move, and later made it 0. Billy then made it configurable with 0 as the default. I'll go ahead and PR something.