GriefPrevention / GriefPrevention

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

Bypassing of several cauldron-use-cases #2353

Closed MaksyKun closed 3 months ago

MaksyKun commented 3 months ago

Observed Behavior

Untrusted Players are able to cool down in a cauldron while burning, even though they are not trusted. Same goes for cooling down with snow instead of water.

You can also remove powdered snow from a cauldron with a bucket.

Expected Behavior

The players without trust shall not be able to use cauldrons without permission.

I've got a hotfix that Im going to give you with a PR soon.

Reproduction steps

  1. Burn outside of a claim
  2. Go into a foreign claim
  3. Jump into its cauldron with water/powdered snow
  4. The cauldron gets empty even though you have no permission

Stack trace or error log

No response

Server version

Current Purpur Version: 1.20.6-2233-0d6766e (MC: 1.20.6)*
* You are running the latest version
Previous: git-Purpur-2176 (MC: 1.20.4)

GriefPrevention version

GriefPrevention 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: -1
    world_nether: -1
  Claims:
    Mode:
      world: Survival
      world_nether: Survival
    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: 2000
    Claim Blocks Accrued Per Hour:
      Default: 200
    Max Accrued Claim Blocks:
      Default: 100000
    Accrued Idle Threshold: 0
    AccruedIdlePercent: 0
    AbandonReturnRatio: 1.0
    AutomaticNewPlayerClaimsRadius: -1
    AutomaticNewPlayerClaimsRadiusMinimum: 0
    ExtendIntoGroundDistance: 390
    MinimumWidth: 5
    MinimumArea: 100
    MaximumDepth: -64
    InvestigationTool: STICK
    ModificationTool: GOLDEN_SHOVEL
    Expiration:
      ChestClaimDays: -1
      UnusedClaimDays: -1
      AllClaims:
        DaysInactive: -1
        ExceptWhenOwnerHasTotalClaimBlocks: 10000
        ExceptWhenOwnerHasBonusClaimBlocks: 5000
      AutomaticNatureRestoration:
        SurvivalWorlds: false
    AllowTrappedInAdminClaims: false
    MaximumNumberOfClaimsPerPlayer: 0
    CreationRequiresWorldGuardBuildPermission: true
    VillagerTradingRequiresPermission: true
    CommandsRequiringAccessTrust: /sethome
    DeliverManuals: false
    ManualDeliveryDelaySeconds: 30
    RavagersBreakBlocks: true
    FireSpreadsInClaims: true
    FireDamagesInClaims: true
    LecternReadingRequiresAccessTrust: true
  Spam:
    Enabled: false
    LoginCooldownSeconds: 60
    LoginLogoutNotificationsPerMinute: 5
    ChatSlashCommands: /me;/global;/local
    WhisperSlashCommands: /tell;/pm;/r;/whisper;/msg
    WarningMessage: Bitte schreibe langsamer. Spammer werden gebannt.
    BanOffenders: false
    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
    ProtectFreshSpawns: true
    PunishLogout: false
    CombatTimeoutSeconds: 15
    AllowCombatItemDrop: false
    BlockedSlashCommands: /home;/vanish;/spawn;/tpa
    ProtectPlayersInLandClaims:
      PlayerOwnedClaims: false
      AdministrativeClaims: false
      AdministrativeSubdivisions: false
    AllowLavaDumpingNearOtherPlayers:
      PvPWorlds: true
      NonPvPWorlds: false
    AllowFlintAndSteelNearOtherPlayers:
      PvPWorlds: true
      NonPvPWorlds: false
    ProtectPetsOutsideLandClaims: false
  Economy:
    ClaimBlocksMaxBonus: 0
    ClaimBlocksPurchaseCost: 5.0
    ClaimBlocksSellValue: 0.0
  ProtectItemsDroppedOnDeath:
    PvPWorlds: false
    NonPvPWorlds: true
  BlockLandClaimExplosions: true
  BlockSurfaceCreeperExplosions: true
  BlockSurfaceOtherExplosions: true
  LimitSkyTrees: true
  LimitTreeGrowth: false
  PistonMovement: EVERYWHERE_SIMPLE
  PistonExplosionSound: true
  FireSpreads: false
  FireDestroys: false
  AdminsGetWhispers: true
  AdminsGetSignNotifications: true
  VisualizationAntiCheatCompatMode: false
  SmartBan: false
  Mute New Players Using Banned Words: false
  MaxPlayersPerIpAddress: 3
  SilenceBans: true
  Siege:
    Worlds: []
    BreakableBlocks:
    - DIRT
    - GRASS_BLOCK
    - GRASS     <-- can't understand this entry, see BukkitDev documentation
    - FERN
    - DEAD_BUSH
    - COBBLESTONE
    - GRAVEL
    - SAND
    - GLASS
    - GLASS_PANE
    - OAK_PLANKS
    - SPRUCE_PLANKS
    - BIRCH_PLANKS
    - JUNGLE_PLANKS
    - ACACIA_PLANKS
    - DARK_OAK_PLANKS
    - 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
    DoorsOpenDelayInSeconds: 300
    CooldownEndInMinutes: 60
  EndermenMoveBlocks: false
  SilverfishBreakBlocks: false
  CreaturesTrampleCrops: false
  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

_No response_

### Running without GriefPrevention

- [ ] I attempted running the server without GriefPrevention installed.
- [X] The problem does _not_ occur when GriefPrevention is removed from the server.

### Running with only GriefPrevention

- [ ] I attempted running only GriefPrevention on the server.
- [X] 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.
- [X] The issue still occurs on a new server.

### Using unmodified client

- [ ] I attempted testing for the issue with the vanilla client.
- [X] The issue still occurs when using the vanilla client.

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

- [X] I searched for similar issues before submitting this bug report.
RoboMWM commented 3 months ago

Hmm, I guess this could be an aesthetics thing to block this from happening. Not sure what sort of trust level this should be, since I'd presume this sort of thing is a renewable resource?

Jikoo commented 3 months ago

They're all technically renewable, but powdered snow can only be renewed by snowfall and takes a not-insignificant amount of time if memory serves. Build trust lines up with #2082 for similar effects on in-world powdered snow.

RoboMWM commented 3 months ago

cool, just didn't know if should consider as farming for /containertrust or just build trust