Grief Prevention

Grief Prevention

1M Downloads

Mobs can Break Doors, even with Zombie Hard Mode break Doors disabled.

EtherealHavenSMP opened this issue ยท 7 comments

commented

Observed Behavior

Mobs can Break Doors, even with Zombie Hard Mode break Doors disabled.

Expected Behavior

For no mobs to break doors, as players can lure mobs to players doors.

Reproduction steps

  1. Install plugin
  2. Let mobs break door

Stack trace or error log

There is no errors.

Server version

1.21.8-21-main@ed31825

GriefPrevention version

16.18.4

Configuration

https://mclo.gs/bajCrED

# 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:
    Vanilla: -1
    Vanilla_nether: -1
    Vanilla_the_end: -1
    ResourceNether: -1
    MainSpawn: -1
    ResourceEnd: -1
    Resource: -1
    PVP: -1
    Spawn: -1
  Claims:
    Mode:
      Vanilla_nether: Survival
      Vanilla_the_end: Survival
      ResourceNether: Disabled
      Vanilla: Survival
      Resource: Disabled
      ResourceEnd: Disabled
      PVP: Disabled
      MainSpawn: Disabled
      Spawn: Disabled
    PreventGlobalMonsterEggs: true
    PreventTheft: true
    ProtectCreatures: true
    PreventButtonsSwitches: true
    LockWoodenDoors: true
    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: 8006600
    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: 45
    CreationRequiresWorldGuardBuildPermission: true
    VillagerTradingRequiresPermission: true
    CommandsRequiringAccessTrust: /sethome
    DeliverManuals: true
    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: false
    BanMessage: Banned for spam.
    AllowedIpAddresses: **.**.**.**; **.**.**.**
    DeathMessageCooldownSeconds: 120
    Logout Message Delay In Seconds: 0
  PvP:
    RulesEnabledInWorld:
      Vanilla: false
      Vanilla_nether: false
      Vanilla_the_end: false
      ResourceNether: true
      MainSpawn: true
      ResourceEnd: true
      Resource: true
      PVP: true
      Spawn: false
    ProtectFreshSpawns: true
    PunishLogout: false
    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: 45.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: false
  AdminsGetSignNotifications: false
  VisualizationAntiCheatCompatMode: false
  SmartBan: true
  Mute New Players Using Banned Words: false
  MaxPlayersPerIpAddress: 3
  SilenceBans: true
  Siege:
    Worlds: []
    BreakableBlocks:
    - SPRUCE_PLANKS
    - GRASS_BLOCK
    - PINK_WOOL
    - JUNGLE_PLANKS
    - BROWN_WOOL
    - COBBLESTONE
    - CYAN_WOOL
    - OAK_PLANKS
    - LIME_WOOL
    - PURPLE_WOOL
    - LIGHT_BLUE_WOOL
    - GREEN_WOOL
    - DEAD_BUSH
    - WHITE_WOOL
    - SHORT_GRASS
    - YELLOW_WOOL
    - ORANGE_WOOL
    - FERN
    - BIRCH_PLANKS
    - DARK_OAK_PLANKS
    - RED_WOOL
    - GLASS_PANE
    - SNOW
    - GRAY_WOOL
    - DIRT
    - LIGHT_GRAY_WOOL
    - BLACK_WOOL
    - SAND
    - BLUE_WOOL
    - ACACIA_PLANKS
    - GRAVEL
    - MAGENTA_WOOL
    - GLASS
    DoorsOpenDelayInSeconds: 300
    CooldownEndInMinutes: 60
  EndermenMoveBlocks: false
  SilverfishBreakBlocks: false
  CreaturesTrampleCrops: false
  RabbitsEatCrops: false
  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

N/A - I do use GPFlags (an addon)

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

Can you still share your config?

commented

Can you still share your config?

https://mclo.gs/bajCrED

commented

I edited the original issue to include the config file from the mclo.gs link.

commented

this.config_zombiesBreakDoors seems to not be used anywhere in the code... hmm...

commented

Oh I'm stupid, of course I will only see one reference of this.config_zombiesBreakDoors if I keep the this. part.

commented
    //don't allow zombies to break down doors
    @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
    public void onZombieBreakDoor(EntityBreakDoorEvent event)
    {
        if (!GriefPrevention.instance.config_zombiesBreakDoors) event.setCancelled(true);
    }

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityBreakDoorEvent.html

Cancelling the event will cause the event to be delayed

Was the cancelation behavior different before?

https://github.com/Bukkit/Bukkit/blame/master/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java

Seems it was always this way... I'm not sure what "delayed" means then...?

commented

I assume that it means that the door break will be retried, but it's hard to tell from the patch. The door should pretty clearly not break though:
https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/nms-patches/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.patch?at=459c38af307944fbf03a472cba33c71d93287d33#8-11
This is the only place in Spigot it is called.

/e: From full source, yes, the breaking restarts from 0 when cancelled.

  @Override
    public void start() {
        super.start();
        this.breakTime = 0;
    }