Grief Prevention

Grief Prevention

1M Downloads

Multiple "`MATERIAL_NAME` isn't an item" exceptions in 1.21

MrPowerGamerBR opened this issue ยท 7 comments

commented

Observed Behavior

When someone tries placing water, cocoa blocks, sign edits, etc, GriefPrevention throws an error

Expected Behavior

That GriefPrevention doesn't throw errors related to these materials

Reproduction steps

Do any of the actions that are using materials that aren't actually items

Stack trace or error log

[17:20:27] [Server thread/ERROR]: Could not pass event PlayerBucketEmptyEvent to GriefPrevention v16.18.3
java.lang.IllegalArgumentException: WATER isn't an item
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
        at org.bukkit.inventory.ItemStack.of(ItemStack.java:58) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:138) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:117) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:104) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:87) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.GriefPrevention.allowBuild(GriefPrevention.java:3499) ~[GriefPrevention.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.PlayerEventHandler.onPlayerBucketEmpty(PlayerEventHandler.java:1494) ~[GriefPrevention.jar:?]
        at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.event.CraftEventFactory.getPlayerBucketEvent(CraftEventFactory.java:529) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerBucketEmptyEvent(CraftEventFactory.java:501) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.item.BucketItem.emptyContents(BucketItem.java:188) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.item.BucketItem.use(BucketItem.java:110) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.item.ItemStack.use(ItemStack.java:603) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.level.ServerPlayerGameMode.useItem(ServerPlayerGameMode.java:488) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1961) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:47) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:10) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1483) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1461) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1454) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1413) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1534) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1251) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:334) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[17:26:47 ERROR]: Could not pass event BlockPlaceEvent to GriefPrevention v16.18.3
java.lang.IllegalArgumentException: COCOA isn't an item
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
        at org.bukkit.inventory.ItemStack.of(ItemStack.java:58) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:138) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:117) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:104) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:87) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.GriefPrevention.allowBuild(GriefPrevention.java:3499) ~[GriefPrevention.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.BlockEventHandler.onBlockPlace(BlockEventHandler.java:267) ~[GriefPrevention.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor199.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:449) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.item.ItemStack.useOn(ItemStack.java:487) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:607) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1871) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:44) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:11) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1483) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1461) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1454) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1563) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1251) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:334) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[17:29:43 ERROR]: Could not pass event PlayerSignOpenEvent to GriefPrevention v16.18.3
java.lang.IllegalArgumentException: MANGROVE_WALL_SIGN isn't an item
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?]
        at org.bukkit.inventory.ItemStack.of(ItemStack.java:58) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:138) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:117) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:104) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:87) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.GriefPrevention.allowBuild(GriefPrevention.java:3499) ~[GriefPrevention.jar:?]
        at GriefPrevention.jar/me.ryanhamshire.GriefPrevention.PlayerSignOpenHandler.onPlayerSignOpen(PlayerSignOpenHandler.java:31) ~[GriefPrevention.jar:?]
        at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerSignOpenEvent(CraftEventFactory.java:286) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerSignOpenEvent(CraftEventFactory.java:278) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.level.block.SignBlock.openTextEdit(SignBlock.java:209) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.level.block.SignBlock.useWithoutItem(SignBlock.java:142) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.useWithoutItem(BlockBehaviour.java:1172) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:590) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1871) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:44) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:11) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1483) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1461) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1454) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1413) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1534) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1251) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:334) ~[sparklypaper-1.21.jar:1.21-DEV-e1c5e17]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

Server version

This server is running SparklyPaper version 1.21-DEV-ver/1.21@e1c5e17 (2024-06-18T15:26:26Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
Unknown version
Previous version: 1.20.6-DEV-a65807b (MC: 1.20.6)

(yeah I know I'm using my own Paper fork, currently my fork is based off Paper 090775eff41d2ea969260e753654ab54da294370)

GriefPrevention version

GriefPrevention version 16.18.3

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
    LorittaBedroom: -1
    ArenasPvP: -1
    MinaRecheada: -1
    EtaTheEnd: -1
    xizum: -1
    TutorialIsland: -1
    Quiz: -1
    Gladiador: -1
    TNTRun: -1
    EventoFight: -1
    Labirinto: -1
    BlockParty: -1
    Nether: -1
    Splegg: -1
    WarpVIP: -1
    DropParty: -1
    TorreDaMorte: -1
    Survival2: -1
    RealArenasPvP: -1
    DecorativeHeads: -1
    TheEndSlk: -1
    Resources: -1
    Corrida: -1
    tests_flat: -1
  Claims:
    Mode:
      WarpVIP: Disabled
      Gladiador: Disabled
      TutorialIsland: Disabled
      BlockParty: Disabled
      Nether: Disabled
      Splegg: Survival
      Survival2: Survival
      ArenasPvP: Disabled
      tests_flat: Survival
      Resources: Disabled
      LorittaBedroom: Survival
      xizum: Disabled
      TheEndSlk: Disabled
      Quiz: Disabled
      RealArenasPvP: Disabled
      EventoFight: Disabled
      TNTRun: Disabled
      TorreDaMorte: Disabled
      EtaTheEnd: Disabled
      DecorativeHeads: Disabled
      Corrida: Disabled
      Labirinto: Disabled
      world: Survival
      DropParty: Disabled
      MinaRecheada: 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: 250
    Claim Blocks Accrued Per Hour:
      Default: 100
    Max Accrued Claim Blocks:
      Default: 250000
    Accrued Idle Threshold: 0
    AccruedIdlePercent: 0
    AbandonReturnRatio: 1.0
    AutomaticNewPlayerClaimsRadius: 4
    AutomaticNewPlayerClaimsRadiusMinimum: 0
    ExtendIntoGroundDistance: 5
    MinimumWidth: 5
    MinimumArea: 70
    MaximumDepth: -2147483648
    InvestigationTool: STICK
    ModificationTool: GOLDEN_SHOVEL
    Expiration:
      ChestClaimDays: 7
      UnusedClaimDays: 14
      AllClaims:
        DaysInactive: 365
        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: false
    LoginCooldownSeconds: 60
    LoginLogoutNotificationsPerMinute: 5
    ChatSlashCommands: /idontcareaboutthis
    WhisperSlashCommands: /idontcareaboutthis
    WarningMessage: Please reduce your noise level.  Spammers will be banned.
    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: false
      LorittaBedroom: true
      ArenasPvP: true
      MinaRecheada: true
      EtaTheEnd: true
      xizum: true
      TutorialIsland: true
      Quiz: true
      Gladiador: true
      TNTRun: true
      EventoFight: true
      Labirinto: true
      BlockParty: true
      Nether: true
      Splegg: true
      WarpVIP: true
      DropParty: true
      TorreDaMorte: true
      Survival2: true
      RealArenasPvP: true
      DecorativeHeads: true
      TheEndSlk: true
      Resources: true
      Corrida: true
      tests_flat: true
    ProtectFreshSpawns: false
    PunishLogout: false
    CombatTimeoutSeconds: 0
    AllowCombatItemDrop: true
    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: false
  Mute New Players Using Banned Words: false
  MaxPlayersPerIpAddress: 3
  SilenceBans: true
  Siege:
    Worlds: []
    BreakableBlocks:
    - DIRT
    - GRASS     <-- can't understand this entry, see BukkitDev documentation
    - LONG_GRASS     <-- can't understand this entry, see BukkitDev documentation
    - COBBLESTONE
    - GRAVEL
    - SAND
    - GLASS
    - THIN_GLASS     <-- can't understand this entry, see BukkitDev documentation
    - WOOD     <-- can't understand this entry, see BukkitDev documentation
    - WOOL     <-- can't understand this entry, see BukkitDev documentation
    - 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

[17:31:00 INFO]: Server Plugins (106):
[17:31:00 INFO]: Bukkit Plugins:
[17:31:00 INFO]:  - ChestShop, Citizens, CoreProtect, DreamAjuda, DreamAntiAFK, DreamArmorStandEditor, DreamAssinaturas, DreamAuth, DreamBedrockIntegrations, DreamBlockParty
[17:31:00 INFO]:  DreamBlockVIPItems, DreamBrisa, DreamBroadcast, DreamBusca, DreamCaixaSecreta, DreamCasamentos, DreamCash, DreamCassino, DreamChat, DreamChatTags
[17:31:00 INFO]:  DreamChestShopStuff, DreamClubes, DreamColorEmote, DreamCore, DreamCorreios, DreamCorrida, DreamCustomItems, DreamDemocracy, DreamDiscordCommandRelayer, DreamElevador
[17:31:00 INFO]:  DreamEmptyWorldGenerator, DreamEnchant, DreamEnderHopper, DreamEquipCoolStuff, DreamEsponjas, DreamFight, DreamFusca, DreamHeads, DreamHome, DreamJetpack
[17:31:00 INFO]:  DreamKits, DreamLabirinto, DreamLagStuffRestrictor, DreamLobbyFun, DreamLoja, DreamMapWatermarker, DreamMcMMOFun, DreamMinaRecheada, DreamMini, DreamMobSpawner
[17:31:00 INFO]:  DreamMochilas, DreamMoverSpawners, DreamMusically, DreamPicaretaMonstra, DreamPrivada, DreamPvPTweaks, DreamQuickHarvest, DreamQuiz, DreamRaffle, DreamRaspadinha
[17:31:00 INFO]:  DreamReparar, DreamResourcePack, DreamResourceReset, DreamRestarter, DreamRoadProtector, DreamScoreboard, DreamSeamlessWorlds, DreamShopHeads, DreamSocial, DreamSonecas
[17:31:00 INFO]:  DreamTerrainAdditions, DreamTNTRun, DreamTorreDaMorte, DreamTrails, DreamTreeAssist, DreamVanish, DreamVIPStuff, DreamVote, DreamWarps, DreamXizum
[17:31:00 INFO]:  dynmap, EntityDetection, ExtraContexts, GriefPrevention, GSit, HolographicDisplays, LangUtils, LuckPerms, mcMMO, Multiverse-Core
[17:31:00 INFO]:  MyPet, NoCheatPlus, NoteBlockAPI, OldCombatMechanics, PlayerStatueBuilderX, PlugManX, ProtocolLib, spark, SparklyDreamer, Vault
[17:31:00 INFO]:  ViaBackwards, ViaVersion, Votifier, WorldBorder, WorldEdit, WorldGuard

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

Looks like this is a Paper-specific problem: https://github.com/PaperMC/Paper/blob/2df432f6afd595ad6d56b09e46eec487b1ceb4f3/patches/api/0478-Proxy-ItemStack-to-CraftItemStack.patch#L56
Good to try to handle either way, previously we would have been passing an air item due to how the old handling for non-item materials worked.

commented

I made some very very very hacky changes to fix this bug @Tulu473 but tl;dr: The change was removing the "fake" BlockPlaceEvent GriefPrevention creates to check permission, now it uses a FakeAllowBuildPermissionCheckEvent event that passes the Material to the event instead of creating an ItemStack from it, because it seems that GriefPrevention doesn't use the triggering event of the ClaimPermissionCheckEvent event

Of course, this means that other plugins may break with this change if they rely on the triggering event

GriefPrevention_1_21_hacky_fix.zip

commented

MrPowerGamerBR's fix works! Thank you kindly!

commented

Looks like this is a Paper-specific problem: https://github.com/PaperMC/Paper/blob/2df432f6afd595ad6d56b09e46eec487b1ceb4f3/patches/api/0478-Proxy-ItemStack-to-CraftItemStack.patch#L56

The reasoning the Paper team had for this change is that allowing non-items to be ItemStacks is a bad design decision from upstream (Spigot) and that should've been restricted since Mojang stopped allowing all blocks to be items in 1.13, and that in the future the Material class will also be deprecated and removed because a single class (well, enums on this case) is not able to represent blocks AND items and will probably be replaced by ItemType and BlockType to be more clearer about the distinction between items and blocks instead of the amalgamation that is the Material class nowadays.

https://canary.discord.com/channels/289587909051416579/555462289851940864/1253168007195136042

commented

Can confirm the issue in 1.21, to make this worse, players can place Lava/Water to grief protected zones, and non owners cant remove it.

commented

Oh, I'm not arguing it's a bad choice, just clarifying that it doesn't error on Spigot, which meant it was a little annoying to locate the cause. When Spigot does promote ItemType and BlockType to be actual API and deprecate/remove Material this would need to happen anyway, Paper's just accelerating the timeline a little.

commented

Addressed by #2312 for v17