
Racks Datapack & GP Conflict Issue
Closed this issue · 2 comments
Observed Behavior
After updating to Minecraft 1.21.5, players are able to break and interact with Racks (from the Racks datapack by KawaMood) inside claims that they do not have access to. Breaking a rack in this way causes item duplication, as the dropped rack contains all items that were previously stored in it, even though the player shouldn’t be able to access or break the block/entity.
This behavior did not occur in 1.21.4. In that version, racks were properly protected and could not be interacted with by unauthorized players inside claims.
Expected Behavior
Players should not be able to break or interact with racks placed within another player's claim unless they have the appropriate trust permissions. Racks should be treated like containers or block entities for the purpose of access protection.
Note: I understand this might be outside the intended scope of Grief Prevention, since this involves a third-party datapack with custom entities or mechanics. Still, since this worked properly in 1.21.4 and broke in 1.21.5, I figured it was worth reporting in case there's a workaround or relevant hook that could be extended for custom entities. The datapack creator has directed me here after review on their end.
Reproduction steps
- Install Racks datapack by KawaMood on a Minecraft 1.21.5 server with Grief Prevention.
- Have Player A create a claim and place racks inside it with items.
- Have Player B (who does not have trust in the claim) attempt to interact with or break the racks.
- Observe that Player B can break the racks and cause items to duplicate or be accessed inappropriately.
If needed, I’m happy to provide a video demonstration or set up a testing world showing the issue.
Stack trace or error log
Server version
[08:34:02 INFO]: This server is running Paper version 1.21.5-113-main@ba7fb23 (2025-06-10T23:34:22Z) (Implementing API version 1.21.5-R0.1-SNAPSHOT)
GriefPrevention version
[08:34:33 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: -1
world_nether: -1
world_the_end: -1
Unknown_Realm: -1
Claims:
Mode:
world_nether: Survival
world_the_end: Disabled
world: Survival
Unknown_Realm: Survival
PreventGlobalMonsterEggs: true
PreventTheft: true
ProtectCreatures: true
PreventButtonsSwitches: true
LockWoodenDoors: false
LockTrapDoors: true
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: false
LoginCooldownSeconds: 10
LoginLogoutNotificationsPerMinute: 5
ChatSlashCommands: /me;/global;/local
WhisperSlashCommands: /tell;/pm;/r;/whisper;/msg
WarningMessage: Please reduce your noise level. Spammers will be punished.
BanOffenders: false
BanMessage: Kicked 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
Unknown_Realm: true
ProtectFreshSpawns: true
PunishLogout: false
CombatTimeoutSeconds: 0
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: 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:
- YELLOW_WOOL
- LIME_WOOL
- DARK_OAK_PLANKS
- GLASS
- GREEN_WOOL
- FERN
- PURPLE_WOOL
- MAGENTA_WOOL
- GRAVEL
- ORANGE_WOOL
- DEAD_BUSH
- BIRCH_PLANKS
- WHITE_WOOL
- DIRT
- RED_WOOL
- PINK_WOOL
- SPRUCE_PLANKS
- SHORT_GRASS
- COBBLESTONE
- BLACK_WOOL
- ACACIA_PLANKS
- JUNGLE_PLANKS
- OAK_PLANKS
- LIGHT_GRAY_WOOL
- BROWN_WOOL
- GRASS_BLOCK
- LIGHT_BLUE_WOOL
- CYAN_WOOL
- GRAY_WOOL
- SNOW
- BLUE_WOOL
- GLASS_PANE
- SAND
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
[08:35:09 INFO]: ℹ Server Plugins (55):
[08:35:09 INFO]: Paper Plugins (3):
[08:35:09 INFO]: - nightcore, Pl3xMapExtras, Typewriter
[08:35:09 INFO]: Bukkit Plugins (52):
[08:35:09 INFO]: - AntiPopup, AuraSkills, *BetterPing, Censura, ChestShop, Citizens, CitizensGUI, CoreProtect, DiscordSRV, EconomyBridge
[08:35:09 INFO]: Essentials, EssentialsSpawn, EvenMoreFish, F3NPerm, FastAsyncWorldEdit, floodgate, Geyser-Spigot, GriefPrevention, GSit, HeadDrop
[08:35:09 INFO]: ImageFrame, InteractionVisualizer, InvSeePlusPlus, ItemEdit, ItemTag, LibertyBans, LibsDisguises, LPC, LuckPerms, mclogs
[08:35:09 INFO]: Multiverse-Core, MythicDungeons, NamelessMC, NBTAPI, packetevents, Pl3xMap, PlaceholderAPI, ProtocolLib, PvPManager, ServerLinksZ
[08:35:09 INFO]: Shopkeepers, Skulls, SpawnerMeta, StarMail, TAB, TeaksTweaks, Vanish, Vault, ViaBackwards, ViaVersion
[08:35:09 INFO]: voicechat, WildRTP
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.
I'd guess this would have to be resolved by Paper if nothing major has changed on the datapack side. Presumably the datapack uses scores like block breaks or something? If event cancellation no longer prevents incrementing those scoreboard objectives, that would cause an issue like this, and it's unfortunately out of GP's hands. Unfortunately the pack dev doesn't appear to post their pack in version control, so looking at a diff of what they do and used to do would be pretty annoying.