GriefDefender/bukkit/src/main/java/com/griefdefender/permission/GDPermissionManager.java

1869 lines
89 KiB
Java
Raw Normal View History

2019-07-24 05:31:17 +02:00
/*
* This file is part of GriefDefender, licensed under the MIT License (MIT).
*
* Copyright (c) bloodmc
* Copyright (c) contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package com.griefdefender.permission;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.google.common.collect.ImmutableMap;
import com.google.common.reflect.TypeToken;
2019-07-24 05:31:17 +02:00
import com.griefdefender.GDPlayerData;
import com.griefdefender.GriefDefenderPlugin;
import com.griefdefender.api.GriefDefender;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.api.Subject;
2019-07-24 05:31:17 +02:00
import com.griefdefender.api.Tristate;
import com.griefdefender.api.claim.Claim;
import com.griefdefender.api.claim.ClaimContexts;
import com.griefdefender.api.claim.ClaimType;
import com.griefdefender.api.claim.TrustType;
import com.griefdefender.api.permission.Context;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.api.permission.ContextKeys;
2019-07-24 05:31:17 +02:00
import com.griefdefender.api.permission.PermissionManager;
import com.griefdefender.api.permission.PermissionResult;
import com.griefdefender.api.permission.ResultTypes;
import com.griefdefender.api.permission.flag.Flag;
2019-12-19 23:43:16 +01:00
import com.griefdefender.api.permission.flag.FlagDefinition;
2019-07-24 05:31:17 +02:00
import com.griefdefender.api.permission.flag.Flags;
import com.griefdefender.api.permission.option.Option;
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
import com.griefdefender.api.permission.option.Options;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.api.permission.option.type.CreateModeType;
import com.griefdefender.api.permission.option.type.CreateModeTypes;
import com.griefdefender.api.permission.option.type.GameModeType;
import com.griefdefender.api.permission.option.type.GameModeTypes;
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
import com.griefdefender.api.permission.option.type.WeatherType;
import com.griefdefender.api.permission.option.type.WeatherTypes;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.cache.EventResultCache;
import com.griefdefender.cache.MessageCache;
2019-07-24 05:31:17 +02:00
import com.griefdefender.cache.PermissionHolderCache;
import com.griefdefender.claim.GDClaim;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
import com.griefdefender.claim.GDClaimManager;
2019-07-24 05:31:17 +02:00
import com.griefdefender.command.CommandHelper;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.configuration.MessageStorage;
import com.griefdefender.configuration.category.BanCategory;
2019-07-24 05:31:17 +02:00
import com.griefdefender.event.GDCauseStackManager;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import com.griefdefender.event.GDFlagPermissionEvent;
import com.griefdefender.internal.registry.BlockTypeRegistryModule;
2019-07-24 05:31:17 +02:00
import com.griefdefender.internal.registry.EntityTypeRegistryModule;
import com.griefdefender.internal.registry.GDEntityType;
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
import com.griefdefender.internal.registry.GDTileType;
import com.griefdefender.internal.registry.ItemTypeRegistryModule;
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
import com.griefdefender.internal.registry.TileEntityTypeRegistryModule;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
import com.griefdefender.internal.tracking.chunk.GDChunk;
2019-07-24 05:31:17 +02:00
import com.griefdefender.internal.util.NMSUtil;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
import com.griefdefender.permission.option.GDOptions;
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
import com.griefdefender.provider.PermissionProvider.PermissionDataType;
2019-07-24 05:31:17 +02:00
import com.griefdefender.registry.FlagRegistryModule;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
import com.griefdefender.util.EconomyUtil;
2019-07-24 05:31:17 +02:00
import com.griefdefender.util.PermissionUtil;
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
import com.griefdefender.util.PlayerUtil;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
2019-07-24 05:31:17 +02:00
import net.kyori.text.Component;
import net.kyori.text.TextComponent;
import net.kyori.text.adapter.bukkit.TextAdapter;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import net.kyori.text.format.TextColor;
import org.apache.commons.io.FilenameUtils;
2019-07-24 05:31:17 +02:00
import org.apache.commons.lang3.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import org.bukkit.Material;
2019-07-24 05:31:17 +02:00
import org.bukkit.OfflinePlayer;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.CreatureSpawner;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Item;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
import org.bukkit.entity.LivingEntity;
2019-07-24 05:31:17 +02:00
import org.bukkit.entity.Player;
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
import org.bukkit.entity.ThrownPotion;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import org.bukkit.entity.Vehicle;
2019-07-24 05:31:17 +02:00
import org.bukkit.event.Event;
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
Update for 1.5.9 release. * Fix playerdata getting wrong accrued claim block value if world context existed while in global mode. * Fix Citizen NPC's being denied entry to claim when flag 'enter-claim' is false. * Fix some zh_HK translations. * Fix NPE during potion splash. * Fix enderman-grief flag definition. * Fix villager-trade flag definition. * Fix villager-farm flag definition. * Fix timing NPE in EntityEventHandler. * Fix owner name showing for enter/exit prefix in wilderness/admin claims. * Fix untamed animals being denied when attacking eachother. * Add 'claim-block-task' setting in global.conf to control whether block accrue task runs. * Add animal-block-modify flag definition. * Add ravager-block-break flag definition. * Add silverfish-block-infest flag definition. * Add new visual config setting 'cuboid-level-visuals-2d' under visual category to control whether cuboid visuals should be show during inspection of 2d claims with owner min/max level between 0-255. * Add ru_RU translations for new flag definitions. * Remove 'ForSale' click function in '/claiminfo' as it is no longer needed. * Rewrite EntityChangeBlockEvent handling. Handler will now use the proper block flag when handling source/target block changes. * (Sponge) Fix 'flowing_water' spam in gddebug. * (Sponge) Add ice form/melt detection. * (Sponge) Fix NPE in Nucleus listener. * (Sponge) Fix rent sign interval. * (Sponge) Fix compatibility with LittleTiles mod. * (Sponge) Fix inability to disable modification/investigation tool in config. * (Sponge) Fix some more debug spam during block pre event.
2021-01-08 19:59:00 +01:00
import org.bukkit.event.entity.EntityChangeBlockEvent;
2019-07-24 05:31:17 +02:00
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerBucketEvent;
More fixes and improvements for 1.2.2 release. * Fix flags being reset on claim deletion. * Fix user claim flag permission check. * Fix sign interaction not using proper flag 'interact-block-secondary'. * Fix '/claimexpand' and '/claimcontract' tab completion. * Fix 'entity-damage' flag attempting to protect dropped items. * Fix 'player-keep-inventory' not clearing drops on death. * Fix 'player-keep-level' not clearing XP drops on death. * Fix EntityChangeBlockEvent using wrong source location. * Fix claim create mode triggering twice on first right-click. * Fix default/override claim types not showing up properly in Flag GUI. * Fix entity-damage flag not using proper user on left-click. * Fix abandon-delay default value. * Remove ability to resize claims when auto-schematic-restore is enabled. * Add support for setting no modification/investigation tool in config. * Add '/claim', '/gd mode claim' command to toggle a new claim mode for inspecting and claim creation. * Add 'combat-timeout' pvp setting to config to control how long a player stays in pvp combat after an attack. * Implement 'abandon-delay' option. * Implement 'player-teleport-delay' option. * Implement 'pvp' option. - When a player attempts to attack another player, both players must have pvp allowed. If 1 player is not allowed to PvP, the attack will be cancelled. * Improve '/claimlist' command. - Only trusted claims will be shown to users. - Admins can use '/ignoreclaims' to see all claims. - Fixed server crash if too many claims were listed. - Fixed subdivision filter. * Improve '/claimspawn' command. - The command now takes the following arguments '/claimspawn [name] [player]' Ex. If you want to spawn in a claim that you own named 'lair', you would enter '/claimspawn lair' Ex. If you want to spawn in a claim owned by 'Mike' named 'stables', you would enter '/claimspawn stables mike' * Improve flag definition defaults. * Improve flag default configuration. Fixes #51, Fixes #53, Fixes #54 Fixes #55, Fixes #56, Fixes #57
2019-09-18 17:28:49 +02:00
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
2019-07-24 05:31:17 +02:00
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
import org.bukkit.potion.PotionEffect;
2019-07-24 05:31:17 +02:00
import java.util.HashMap;
import java.util.HashSet;
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
import java.util.Iterator;
2019-07-24 05:31:17 +02:00
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
2019-07-24 05:31:17 +02:00
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
2019-07-24 05:31:17 +02:00
import java.util.concurrent.CompletableFuture;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GDPermissionManager implements PermissionManager {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
private static final Pattern BLOCKSTATE_PATTERN = Pattern.compile("(?:\\w+=\\w+,)*\\w+=\\w+", Pattern.MULTILINE);
2019-07-24 05:31:17 +02:00
private static GDPermissionManager instance;
public boolean blacklistCheck = false;
private Event currentEvent;
private Location eventLocation;
private GDPermissionHolder eventSubject;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
private GDPlayerData eventPlayerData;
2019-07-24 05:31:17 +02:00
private String eventSourceId = "none";
private String eventTargetId = "none";
private Set<Context> eventContexts = new HashSet<>();
private Component eventMessage;
private static final Pattern PATTERN_META = Pattern.compile("\\.[\\d+]*$");
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
private enum BanType {
BLOCK,
ENTITY,
ITEM
}
2019-07-24 05:31:17 +02:00
public GDPermissionHolder getDefaultHolder() {
return GriefDefenderPlugin.DEFAULT_HOLDER;
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Tristate getActiveFlagPermissionValue(Claim claim, Subject subject, Flag flag, Object source, Object target, Set<Context> contexts, TrustType type, boolean checkOverride) {
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
return getFinalPermission(null, null, contexts, claim, flag, source, target, (GDPermissionHolder) subject, type, checkOverride);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, GDPermissionHolder permissionHolder) {
return getFinalPermission(event, location, claim, flag, source, target, permissionHolder, null, false);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, Player player) {
2019-07-24 05:31:17 +02:00
final GDPermissionHolder permissionHolder = PermissionHolderCache.getInstance().getOrCreateUser(player);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return getFinalPermission(event, location, claim, flag, source, target, permissionHolder, null, false);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, Player player, boolean checkOverride) {
2019-07-24 05:31:17 +02:00
final GDPermissionHolder permissionHolder = PermissionHolderCache.getInstance().getOrCreateUser(player);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return getFinalPermission(event, location, claim, flag, source, target, permissionHolder, null, checkOverride);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, GDPermissionHolder permissionHolder, boolean checkOverride) {
return getFinalPermission(event, location, claim, flag, source, target, permissionHolder, null, checkOverride);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, Player player, TrustType type, boolean checkOverride) {
2019-07-24 05:31:17 +02:00
final GDPermissionHolder permissionHolder = PermissionHolderCache.getInstance().getOrCreateUser(player);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return getFinalPermission(event, location, claim, flag, source, target, permissionHolder, type, checkOverride);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Claim claim, Flag flag, Object source, Object target, GDPermissionHolder permissionHolder, TrustType type, boolean checkOverride) {
return getFinalPermission(event, location, new HashSet<>(), claim, flag, source, target, permissionHolder, type, checkOverride);
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
public Tristate getFinalPermission(Event event, Location location, Set<Context> contexts, Claim claim, Flag flag, Object source, Object target, GDPermissionHolder permissionHolder, TrustType type, boolean checkOverride) {
2019-07-24 05:31:17 +02:00
if (claim == null) {
return Tristate.TRUE;
}
GDPlayerData playerData = null;
final GDPermissionUser user = permissionHolder instanceof GDPermissionUser ? (GDPermissionUser) permissionHolder : null;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
this.eventSubject = user;
2019-07-24 05:31:17 +02:00
this.eventMessage = null;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
this.eventSourceId = "none";
this.eventTargetId = "none";
2019-07-24 05:31:17 +02:00
if (permissionHolder != null) {
if (user != null) {
playerData = GriefDefenderPlugin.getInstance().dataStore.getOrCreatePlayerData(claim.getWorldUniqueId(), user.getUniqueId());
}
}
this.currentEvent = event;
this.eventLocation = location;
// refresh contexts
this.eventContexts = new HashSet<>();
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (source instanceof Player && flag != Flags.COLLIDE_BLOCK && flag != Flags.COLLIDE_ENTITY) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
this.addPlayerContexts((Player) source, contexts, flag);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
Update for 1.5.10 release. * Fix ClaimBlockTask prematurely exiting if a player had max claim blocks. * Fix TaxApplyTask not pulling funds from claim bank first. * Fix ClaimContextCalculator overwriting option claim contexts. * Fix player option commands running during a command causing a loop. * Fix player-command-enter running command from subclaim. * Fix player-command-exit running command to subclaim. * Fix player contexts not being added in all cases where a player is involved. * Fix flag definitions not accepting any context. * Fix elytra enter-claim bypass. * Add 'claim-create-radius-limit' to global config. * Add Simplified Chinese language support (zh_CN). * Add enter-claim flag permission check on player login. * Add enter/exit-claim support for player respawns. If denied, GD will respawn player back in source claim in a safe location. * Add TE NBT id support for mods such as gregtech. * (Hybrid) Fix mohist EntityType mod registration. * (Hybrid/Sponge) Add TE NBT id support for mods such as gregtech. See new setting 'tile-id-nbt-map' under mod category in global.conf * (Sponge) Add 'interact-item-force-list' to global config. Used to force interact-item flag checks when a player left/right-clicks with an item in hand. * (Sponge) Add check to prevent re-registration of worlds. * (Sponge) Add workaround during collisions when user is wrapped in ProjectileSource. * (Sponge) Add EntityThrowable support for getEntityOwner. * (Sponge) Add method to get internal DamageSource type name. * (Sponge) Fix NPE when cancelling claim with '/claimrent cancel' * (Sponge) Fix wrong block being checked during bucket interactions such as lava and water. * (Sponge) Fix block-pre not handing certain mod permission checks such as AE2 cables. * (Sponge) Fix 'block-id-convert-list' feature not using correct id during player interactions. * (Sponge) Fix item-pickup flag not checking trust.
2021-02-06 00:06:14 +01:00
if (!(source instanceof Player) && user != null && user.getOnlinePlayer() != null) {
boolean addPlayerContext = false;
if (!(target instanceof Player)) {
addPlayerContext = true;
} else if (!user.getUniqueId().equals(((Player) target).getUniqueId())) {
addPlayerContext = true;
}
if (addPlayerContext) {
// add source player context
// this allows users to block all pvp actions when direct source isn't a player
contexts.add(new Context(ContextKeys.SOURCE, this.getPermissionIdentifier(user.getOnlinePlayer())));
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
}
Update for 1.5.9 release. * Fix playerdata getting wrong accrued claim block value if world context existed while in global mode. * Fix Citizen NPC's being denied entry to claim when flag 'enter-claim' is false. * Fix some zh_HK translations. * Fix NPE during potion splash. * Fix enderman-grief flag definition. * Fix villager-trade flag definition. * Fix villager-farm flag definition. * Fix timing NPE in EntityEventHandler. * Fix owner name showing for enter/exit prefix in wilderness/admin claims. * Fix untamed animals being denied when attacking eachother. * Add 'claim-block-task' setting in global.conf to control whether block accrue task runs. * Add animal-block-modify flag definition. * Add ravager-block-break flag definition. * Add silverfish-block-infest flag definition. * Add new visual config setting 'cuboid-level-visuals-2d' under visual category to control whether cuboid visuals should be show during inspection of 2d claims with owner min/max level between 0-255. * Add ru_RU translations for new flag definitions. * Remove 'ForSale' click function in '/claiminfo' as it is no longer needed. * Rewrite EntityChangeBlockEvent handling. Handler will now use the proper block flag when handling source/target block changes. * (Sponge) Fix 'flowing_water' spam in gddebug. * (Sponge) Add ice form/melt detection. * (Sponge) Fix NPE in Nucleus listener. * (Sponge) Fix rent sign interval. * (Sponge) Fix compatibility with LittleTiles mod. * (Sponge) Fix inability to disable modification/investigation tool in config. * (Sponge) Fix some more debug spam during block pre event.
2021-01-08 19:59:00 +01:00
if (source instanceof Block && event instanceof EntityChangeBlockEvent && flag == Flags.BLOCK_MODIFY) {
final EntityChangeBlockEvent entityChangeBlockEvent = (EntityChangeBlockEvent) event;
contexts.add(new Context(ContextKeys.SOURCE, this.getPermissionIdentifier(entityChangeBlockEvent.getEntity())));
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
final Set<Context> sourceContexts = this.getPermissionContexts((GDClaim) claim, source, true);
if (sourceContexts == null) {
return Tristate.FALSE;
}
final Set<Context> targetContexts = this.getPermissionContexts((GDClaim) claim, target, false);
if (targetContexts == null) {
return Tristate.FALSE;
}
contexts.addAll(sourceContexts);
contexts.addAll(targetContexts);
contexts.add(((GDClaim) claim).getWorldContext());
2019-07-24 05:31:17 +02:00
this.eventContexts = contexts;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
this.eventPlayerData = playerData;
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
final String targetPermission = flag.getPermission();
2019-07-24 05:31:17 +02:00
if (flag == Flags.ENTITY_SPAWN && GDOptions.SPAWN_LIMIT && target instanceof LivingEntity) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
// Check spawn limit
final GDClaim gdClaim = (GDClaim) claim;
final int spawnLimit = gdClaim.getSpawnLimit(contexts);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
if (spawnLimit > -1) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final Entity entity = (Entity) target;
final int currentEntityCount = gdClaim.countEntities(entity);
if (currentEntityCount >= spawnLimit) {
if (user != null && user.getOnlinePlayer() != null && (source == SpawnReason.ENDER_PEARL || source == SpawnReason.SPAWNER_EGG || source == SpawnReason.SPAWNER)) {
final String name = entity.getType().getName() == null ? entity.getType().name().toLowerCase() : entity.getType().getName();
final GDEntityType entityType = EntityTypeRegistryModule.getInstance().getById(name).orElse(null);
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.OPTION_APPLY_SPAWN_LIMIT,
ImmutableMap.of(
"type", entityType.getId(),
"limit", spawnLimit));
GriefDefenderPlugin.sendMessage(user.getOnlinePlayer(), message);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
return this.processResult(claim, flag.getPermission(), "spawn-limit", Tristate.FALSE, this.eventSubject);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
}
}
}
2019-07-24 05:31:17 +02:00
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (user != null && playerData != null && !playerData.debugClaimPermissions && playerData.canIgnoreClaim(claim)) {
return processResult(claim, targetPermission, "ignore", Tristate.TRUE, user);
}
2019-07-24 05:31:17 +02:00
if (checkOverride) {
// First check for claim flag overrides
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final Tristate override = getFlagOverride(claim, permissionHolder == null ? GriefDefenderPlugin.DEFAULT_HOLDER : permissionHolder, playerData, targetPermission);
2019-07-24 05:31:17 +02:00
if (override != Tristate.UNDEFINED) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return processResult(claim, targetPermission, type == null ? "none" : type.getName().toLowerCase(), override, user);
2019-07-24 05:31:17 +02:00
}
}
if (playerData != null && user != null) {
if (playerData.debugClaimPermissions) {
if (type != null && claim.isUserTrusted(user.getUniqueId(), type)) {
return processResult(claim, targetPermission, type.getName().toLowerCase(), Tristate.TRUE, user);
}
return getClaimFlagPermission(claim, targetPermission);
}
// Check for ignoreclaims after override and debug checks
if (playerData.canIgnoreClaim(claim)) {
return processResult(claim, targetPermission, "ignore", Tristate.TRUE, user);
}
}
if (user != null) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
// check if rented
if (claim.getEconomyData() != null && claim.getEconomyData().isRented() &&
flag != Flags.COMMAND_EXECUTE &&
flag != Flags.COMMAND_EXECUTE_PVP &&
flag != Flags.ENTER_CLAIM &&
flag != Flags.EXIT_CLAIM &&
flag != Flags.ENTITY_TELEPORT_FROM &&
flag != Flags.ENTITY_TELEPORT_TO &&
flag != Flags.INTERACT_INVENTORY_CLICK) {
if (claim.getOwnerUniqueId() != null && user != null && claim.getOwnerUniqueId().equals(user.getUniqueId())) {
return processResult(claim, targetPermission, "rent-owner-deny", Tristate.FALSE, user);
}
if (EconomyUtil.getInstance().isRenter(claim, user) && (targetPermission.contains("interact") || targetPermission.contains("block"))) {
if ((targetPermission.contains("interact") || targetPermission.contains("block-place"))) {
final boolean hasInventory = NMSUtil.getInstance().isTileInventory(location) || location.getBlock().getType() == Material.ENDER_CHEST;
if (!hasInventory || flag == Flags.BLOCK_PLACE) {
return processResult(claim, targetPermission, "renter-interact", Tristate.TRUE, user);
}
// check entity interactions
if (targetPermission.contains("interact-entity") && target instanceof LivingEntity) {
// Allow interaction with all living entities
return processResult(claim, targetPermission, "renter-interact", Tristate.TRUE, user);
}
}
// Allow renters to break/change their own blocks
final GDClaimManager claimWorldManager = GriefDefenderPlugin.getInstance().dataStore.getClaimWorldManager(location.getWorld().getUID());
final GDChunk gdChunk = claimWorldManager.getChunk(location.getBlock().getChunk());
final GDPermissionUser owner = gdChunk.getBlockOwner(location);
if (owner != null && owner.getUniqueId().equals(user.getUniqueId())) {
// allow
return processResult(claim, targetPermission, "renter-owned", Tristate.TRUE, user);
}
}
}
2019-07-24 05:31:17 +02:00
if (type != null) {
if (((GDClaim) claim).isUserTrusted(user, type)) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
// check persisted flags
if (!claim.isWilderness()) {
if ((claim.isAdminClaim() && !user.getInternalPlayerData().canManageAdminClaims) || !user.getUniqueId().equals(claim.getOwnerUniqueId())) {
final Tristate result = getUserPermission(user, claim, targetPermission, PermissionDataType.USER_PERSISTENT);
if (result != Tristate.UNDEFINED) {
return processResult(claim, targetPermission, result, user);
}
}
}
2019-07-24 05:31:17 +02:00
return processResult(claim, targetPermission, type.getName().toLowerCase(), Tristate.TRUE, permissionHolder);
}
}
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
return getUserPermission(user, claim, targetPermission, PermissionDataType.PERSISTENT);
2019-07-24 05:31:17 +02:00
}
return getClaimFlagPermission(claim, targetPermission);
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
private Tristate getUserPermission(GDPermissionHolder holder, Claim claim, String permission, PermissionDataType dataType) {
2019-07-24 05:31:17 +02:00
final List<Claim> inheritParents = claim.getInheritedParents();
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
final Set<Context> contexts = new HashSet<>();
2019-07-24 05:31:17 +02:00
contexts.addAll(this.eventContexts);
for (Claim parentClaim : inheritParents) {
GDClaim parent = (GDClaim) parentClaim;
// check parent context
contexts.add(parent.getContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, holder, permission, contexts, dataType);
2019-07-24 05:31:17 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, holder);
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
contexts.remove(parent.getContext());
2019-07-24 05:31:17 +02:00
}
// Check claim context
2019-07-24 05:31:17 +02:00
contexts.add(claim.getContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, holder, permission, contexts, dataType);
2019-07-24 05:31:17 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, holder);
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (dataType == PermissionDataType.USER_PERSISTENT) {
// don't log, just return result
return value;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
// Group MUST inherit default group or above will return undefined if no permission set on non-default group/user.
contexts.remove(claim.getContext());
return getFlagDefaultPermission(claim, permission, contexts);
2019-07-24 05:31:17 +02:00
}
private Tristate getClaimFlagPermission(Claim claim, String permission) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return this.getClaimFlagPermission(claim, permission, new HashSet<>(), null);
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
private Tristate getClaimFlagPermission(Claim claim, String permission, Set<Context> contexts, List<Claim> inheritParents) {
if (contexts.isEmpty()) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (inheritParents == null) {
inheritParents = claim.getInheritedParents();
}
contexts.addAll(this.eventContexts);
for (Claim parentClaim : inheritParents) {
GDClaim parent = (GDClaim) parentClaim;
// check parent context
contexts.add(parent.getContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.DEFAULT_HOLDER, permission, contexts, PermissionDataType.PERSISTENT);
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, GriefDefenderPlugin.DEFAULT_HOLDER);
}
contexts.remove(parent.getContext());
}
contexts.add(claim.getContext());
}
2019-07-24 05:31:17 +02:00
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.DEFAULT_HOLDER, permission, contexts, PermissionDataType.PERSISTENT);
2019-07-24 05:31:17 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, GriefDefenderPlugin.DEFAULT_HOLDER);
}
return getFlagDefaultPermission(claim, permission, contexts);
2019-07-24 05:31:17 +02:00
}
// Only uses world and claim type contexts
private Tristate getFlagDefaultPermission(Claim claim, String permission, Set<Context> contexts) {
contexts.add(claim.getDefaultTypeContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.DEFAULT_HOLDER, permission, contexts, PermissionDataType.PERSISTENT);
2019-07-24 05:31:17 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, GriefDefenderPlugin.DEFAULT_HOLDER);
}
More fixes and improvements for 1.2.2 release. * Fix flags being reset on claim deletion. * Fix user claim flag permission check. * Fix sign interaction not using proper flag 'interact-block-secondary'. * Fix '/claimexpand' and '/claimcontract' tab completion. * Fix 'entity-damage' flag attempting to protect dropped items. * Fix 'player-keep-inventory' not clearing drops on death. * Fix 'player-keep-level' not clearing XP drops on death. * Fix EntityChangeBlockEvent using wrong source location. * Fix claim create mode triggering twice on first right-click. * Fix default/override claim types not showing up properly in Flag GUI. * Fix entity-damage flag not using proper user on left-click. * Fix abandon-delay default value. * Remove ability to resize claims when auto-schematic-restore is enabled. * Add support for setting no modification/investigation tool in config. * Add '/claim', '/gd mode claim' command to toggle a new claim mode for inspecting and claim creation. * Add 'combat-timeout' pvp setting to config to control how long a player stays in pvp combat after an attack. * Implement 'abandon-delay' option. * Implement 'player-teleport-delay' option. * Implement 'pvp' option. - When a player attempts to attack another player, both players must have pvp allowed. If 1 player is not allowed to PvP, the attack will be cancelled. * Improve '/claimlist' command. - Only trusted claims will be shown to users. - Admins can use '/ignoreclaims' to see all claims. - Fixed server crash if too many claims were listed. - Fixed subdivision filter. * Improve '/claimspawn' command. - The command now takes the following arguments '/claimspawn [name] [player]' Ex. If you want to spawn in a claim that you own named 'lair', you would enter '/claimspawn lair' Ex. If you want to spawn in a claim owned by 'Mike' named 'stables', you would enter '/claimspawn stables mike' * Improve flag definition defaults. * Improve flag default configuration. Fixes #51, Fixes #53, Fixes #54 Fixes #55, Fixes #56, Fixes #57
2019-09-18 17:28:49 +02:00
contexts.remove(claim.getDefaultTypeContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (!claim.isWilderness()) {
contexts.add(ClaimContexts.GLOBAL_DEFAULT_CONTEXT);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
contexts.add(ClaimContexts.USER_DEFAULT_CONTEXT);
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.DEFAULT_HOLDER, permission, contexts, PermissionDataType.PERSISTENT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, GriefDefenderPlugin.DEFAULT_HOLDER);
}
contexts.remove(ClaimContexts.USER_DEFAULT_CONTEXT);
} else {
contexts.add(ClaimContexts.GLOBAL_DEFAULT_CONTEXT);
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.DEFAULT_HOLDER, permission, contexts, PermissionDataType.PERSISTENT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (value != Tristate.UNDEFINED) {
return processResult(claim, permission, value, GriefDefenderPlugin.DEFAULT_HOLDER);
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.remove(ClaimContexts.GLOBAL_DEFAULT_CONTEXT);
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
contexts.add(ClaimContexts.USER_DEFAULT_CONTEXT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(claim.getDefaultTypeContext());
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, GriefDefenderPlugin.GD_DEFAULT_HOLDER, permission, contexts, PermissionDataType.TRANSIENT);
More fixes and improvements for 1.2.2 release. * Fix flags being reset on claim deletion. * Fix user claim flag permission check. * Fix sign interaction not using proper flag 'interact-block-secondary'. * Fix '/claimexpand' and '/claimcontract' tab completion. * Fix 'entity-damage' flag attempting to protect dropped items. * Fix 'player-keep-inventory' not clearing drops on death. * Fix 'player-keep-level' not clearing XP drops on death. * Fix EntityChangeBlockEvent using wrong source location. * Fix claim create mode triggering twice on first right-click. * Fix default/override claim types not showing up properly in Flag GUI. * Fix entity-damage flag not using proper user on left-click. * Fix abandon-delay default value. * Remove ability to resize claims when auto-schematic-restore is enabled. * Add support for setting no modification/investigation tool in config. * Add '/claim', '/gd mode claim' command to toggle a new claim mode for inspecting and claim creation. * Add 'combat-timeout' pvp setting to config to control how long a player stays in pvp combat after an attack. * Implement 'abandon-delay' option. * Implement 'player-teleport-delay' option. * Implement 'pvp' option. - When a player attempts to attack another player, both players must have pvp allowed. If 1 player is not allowed to PvP, the attack will be cancelled. * Improve '/claimlist' command. - Only trusted claims will be shown to users. - Admins can use '/ignoreclaims' to see all claims. - Fixed server crash if too many claims were listed. - Fixed subdivision filter. * Improve '/claimspawn' command. - The command now takes the following arguments '/claimspawn [name] [player]' Ex. If you want to spawn in a claim that you own named 'lair', you would enter '/claimspawn lair' Ex. If you want to spawn in a claim owned by 'Mike' named 'stables', you would enter '/claimspawn stables mike' * Improve flag definition defaults. * Improve flag default configuration. Fixes #51, Fixes #53, Fixes #54 Fixes #55, Fixes #56, Fixes #57
2019-09-18 17:28:49 +02:00
if (value != Tristate.UNDEFINED) {
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
return processResult(claim, permission, value, GriefDefenderPlugin.GD_DEFAULT_HOLDER);
More fixes and improvements for 1.2.2 release. * Fix flags being reset on claim deletion. * Fix user claim flag permission check. * Fix sign interaction not using proper flag 'interact-block-secondary'. * Fix '/claimexpand' and '/claimcontract' tab completion. * Fix 'entity-damage' flag attempting to protect dropped items. * Fix 'player-keep-inventory' not clearing drops on death. * Fix 'player-keep-level' not clearing XP drops on death. * Fix EntityChangeBlockEvent using wrong source location. * Fix claim create mode triggering twice on first right-click. * Fix default/override claim types not showing up properly in Flag GUI. * Fix entity-damage flag not using proper user on left-click. * Fix abandon-delay default value. * Remove ability to resize claims when auto-schematic-restore is enabled. * Add support for setting no modification/investigation tool in config. * Add '/claim', '/gd mode claim' command to toggle a new claim mode for inspecting and claim creation. * Add 'combat-timeout' pvp setting to config to control how long a player stays in pvp combat after an attack. * Implement 'abandon-delay' option. * Implement 'player-teleport-delay' option. * Implement 'pvp' option. - When a player attempts to attack another player, both players must have pvp allowed. If 1 player is not allowed to PvP, the attack will be cancelled. * Improve '/claimlist' command. - Only trusted claims will be shown to users. - Admins can use '/ignoreclaims' to see all claims. - Fixed server crash if too many claims were listed. - Fixed subdivision filter. * Improve '/claimspawn' command. - The command now takes the following arguments '/claimspawn [name] [player]' Ex. If you want to spawn in a claim that you own named 'lair', you would enter '/claimspawn lair' Ex. If you want to spawn in a claim owned by 'Mike' named 'stables', you would enter '/claimspawn stables mike' * Improve flag definition defaults. * Improve flag default configuration. Fixes #51, Fixes #53, Fixes #54 Fixes #55, Fixes #56, Fixes #57
2019-09-18 17:28:49 +02:00
}
2019-07-24 05:31:17 +02:00
return processResult(claim, permission, Tristate.UNDEFINED, GriefDefenderPlugin.DEFAULT_HOLDER);
}
private Tristate getFlagOverride(Claim claim, GDPermissionHolder permissionHolder, GDPlayerData playerData, String flagPermission) {
if (!((GDClaim) claim).getInternalClaimData().allowFlagOverrides()) {
return Tristate.UNDEFINED;
}
Player player = null;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
Set<Context> contexts = new HashSet<>();
2019-07-24 05:31:17 +02:00
if (claim.isAdminClaim()) {
contexts.add(ClaimContexts.ADMIN_OVERRIDE_CONTEXT);
} else if (claim.isTown()) {
contexts.add(ClaimContexts.TOWN_OVERRIDE_CONTEXT);
} else if (claim.isBasicClaim()) {
contexts.add(ClaimContexts.BASIC_OVERRIDE_CONTEXT);
} else if (claim.isWilderness()) {
contexts.add(ClaimContexts.WILDERNESS_OVERRIDE_CONTEXT);
player = permissionHolder instanceof GDPermissionUser ? ((GDPermissionUser) permissionHolder).getOnlinePlayer() : null;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (!claim.isWilderness()) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
contexts.add(ClaimContexts.USER_OVERRIDE_CONTEXT);
}
2019-07-24 05:31:17 +02:00
contexts.add(((GDClaim) claim).getWorldContext());
2019-07-24 05:31:17 +02:00
contexts.add(ClaimContexts.GLOBAL_OVERRIDE_CONTEXT);
contexts.addAll(this.eventContexts);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
Tristate value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, permissionHolder, flagPermission, contexts, PermissionDataType.PERSISTENT);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (value == Tristate.UNDEFINED) {
// check claim owner parent override
/*final List<Claim> inheritParents = claim.getInheritedParents();
contexts = new HashSet<>();
contexts.add(((GDClaim) claim).getWorldContext());
contexts.addAll(this.eventContexts);
for (Claim parentClaim : inheritParents) {
GDClaim parent = (GDClaim) parentClaim;
// check parent override claim context
contexts.add(parent.getOverrideClaimContext());
value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, permissionHolder, flagPermission, contexts);
if (value != Tristate.UNDEFINED) {
if (value == Tristate.FALSE) {
this.eventMessage = MessageCache.getInstance().PERMISSION_OVERRIDE_DENY;
}
return processResult(claim, flagPermission, value, permissionHolder);
}
contexts.remove(parent.getOverrideClaimContext());
}*/
// check claim owner override
contexts = new HashSet<>();
contexts.add(((GDClaim) claim).getWorldContext());
contexts.addAll(this.eventContexts);
contexts.add(claim.getOverrideClaimContext());
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
value = PermissionUtil.getInstance().getPermissionValue((GDClaim) claim, permissionHolder, flagPermission, contexts, PermissionDataType.PERSISTENT);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
2019-07-24 05:31:17 +02:00
if (value != Tristate.UNDEFINED) {
if (value == Tristate.FALSE) {
this.eventMessage = MessageCache.getInstance().PERMISSION_OVERRIDE_DENY;
2019-07-24 05:31:17 +02:00
}
return processResult(claim, flagPermission, value, permissionHolder);
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
2019-07-24 05:31:17 +02:00
return Tristate.UNDEFINED;
}
public Tristate processResult(Claim claim, String permission, Tristate permissionValue, GDPermissionHolder permissionHolder) {
return processResult(claim, permission, null, permissionValue, permissionHolder);
}
public Tristate processResult(Claim claim, String permission, String trust, Tristate permissionValue, GDPermissionHolder permissionHolder) {
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (GriefDefenderPlugin.debugActive && this.currentEvent != null) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
// Use the event subject always if available
// This prevents debug showing 'default' for users
if (eventSubject != null) {
permissionHolder = eventSubject;
} else if (permissionHolder == null) {
final Object source = GDCauseStackManager.getInstance().getCurrentCause().root();
if (source instanceof GDPermissionUser) {
permissionHolder = (GDPermissionUser) source;
} else {
permissionHolder = GriefDefenderPlugin.DEFAULT_HOLDER;
}
}
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (this.currentEvent instanceof BlockPhysicsEvent) {
if (((GDClaim) claim).getWorld().getTime() % 100 != 0L) {
return permissionValue;
}
2019-07-24 05:31:17 +02:00
}
GriefDefenderPlugin.addEventLogEntry(this.currentEvent, claim, this.eventLocation, this.eventSourceId, this.eventTargetId, this.eventSubject == null ? permissionHolder : this.eventSubject, permission, trust, permissionValue, this.eventContexts);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (eventPlayerData != null && eventPlayerData.eventResultCache != null) {
final Flag flag = FlagRegistryModule.getInstance().getById(permission).orElse(null);
if (flag != null) {
eventPlayerData.eventResultCache = new EventResultCache((GDClaim) claim, flag.getName().toLowerCase(), permissionValue);
}
}
2019-07-24 05:31:17 +02:00
return permissionValue;
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
public void processEventLog(Event event, Location location, Claim claim, String permission, Object source, Object target, GDPermissionHolder user, String trust, Tristate value) {
final String sourceId = this.getPermissionIdentifier(source, true);
final String targetId = this.getPermissionIdentifier(target);
final Set<Context> sourceContexts = this.getPermissionContexts((GDClaim) claim, source, true);
if (sourceContexts == null) {
return;
}
final Set<Context> targetContexts = this.getPermissionContexts((GDClaim) claim, target, false);
if (targetContexts == null) {
return;
}
final Set<Context> contexts = new HashSet<>();
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (!(source instanceof Player) && target instanceof Player && user instanceof GDPermissionUser && ((GDPermissionUser) user).getOnlinePlayer() != null && !((GDPermissionUser) user).getUniqueId().equals(((Player) target).getUniqueId())) {
// add source player context
// this allows users to block all pvp actions when direct source isn't a player
contexts.add(new Context(ContextKeys.SOURCE, this.getPermissionIdentifier(((GDPermissionUser) user).getOnlinePlayer())));
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
contexts.addAll(sourceContexts);
contexts.addAll(targetContexts);
contexts.add(((GDClaim) claim).getWorldContext());
if (GriefDefenderPlugin.debugActive) {
if (user == null) {
final Object root = GDCauseStackManager.getInstance().getCurrentCause().root();
if (source instanceof GDPermissionUser) {
user = (GDPermissionUser) root;
} else {
user = GriefDefenderPlugin.DEFAULT_HOLDER;
}
}
GriefDefenderPlugin.addEventLogEntry(event, claim, location, sourceId, targetId, user, permission, trust.toLowerCase(), value, contexts);
}
}
2019-07-24 05:31:17 +02:00
public String getPermissionIdentifier(Object obj) {
return getPermissionIdentifier(obj, false);
}
public String getPermissionIdentifier(Object obj, boolean isSource) {
if (obj != null) {
if (obj instanceof Entity) {
Entity targetEntity = (Entity) obj;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (targetEntity instanceof Item) {
return getPermissionIdentifier(((Item) targetEntity).getItemStack(), isSource);
}
if (targetEntity.getType() == null) {
// Plugin sending fake player and violating API contract so just ignore...
return "unknown";
}
2019-07-24 05:31:17 +02:00
final String name = targetEntity.getType().getName() == null ? targetEntity.getType().name().toLowerCase() : targetEntity.getType().getName();
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final GDEntityType type = EntityTypeRegistryModule.getInstance().getByBukkitType(targetEntity);
2019-07-24 05:31:17 +02:00
if (type == null) {
// Should never happen
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return name;
2019-07-24 05:31:17 +02:00
}
String id = type.getId();
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof Block) {
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
final Block block = (Block) obj;
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeBlockId(block);
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTarget(customItemId, isSource);
}
}
final String id = BlockTypeRegistryModule.getInstance().getNMSKey(block);
2019-07-24 05:31:17 +02:00
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof BlockState) {
final BlockState blockstate = (BlockState) obj;
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (blockstate.getBlock().getType() != blockstate.getType()) {
return populateEventSourceTarget(blockstate.getType().name().toLowerCase(), isSource);
}
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeBlockId(blockstate.getBlock());
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTarget(customItemId, isSource);
}
}
final String id = BlockTypeRegistryModule.getInstance().getNMSKey(blockstate);
2019-07-24 05:31:17 +02:00
return populateEventSourceTarget(id, isSource);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
} else if (obj instanceof Material) {
final String id = ((Material) obj).name().toLowerCase();
return populateEventSourceTarget(id, isSource);
2019-07-24 05:31:17 +02:00
} /*else if (obj instanceof TileEntity) {
TileEntity tileEntity = (TileEntity) obj;
final String id = tileEntity.getMinecraftKeyString();
return populateEventSourceTarget(id, isSource);
}*/ else if (obj instanceof Inventory) {
final String id = ((Inventory) obj).getType().name().toLowerCase();
return populateEventSourceTarget(id, isSource);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else if (obj instanceof InventoryType) {
final String id = ((InventoryType) obj).name().toLowerCase();
populateEventSourceTarget(id, isSource);
return id;
2019-07-24 05:31:17 +02:00
} else if (obj instanceof Item) {
} else if (obj instanceof ItemStack) {
final ItemStack itemstack = (ItemStack) obj;
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (GriefDefenderPlugin.getInstance().isCustomItemsInstalled) {
final String customItemId = NMSUtil.getInstance().getItemStackNBTString(itemstack, "com.jojodmo.customitems.itemID");
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTarget("customitems:" + customItemId, isSource);
}
}
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeItemId(itemstack);
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTarget(customItemId, isSource);
}
}
String id = ItemTypeRegistryModule.getInstance().getNMSKey(itemstack);
2019-07-24 05:31:17 +02:00
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof DamageCause) {
final DamageCause damageCause = (DamageCause) obj;
String id = damageCause.name().toLowerCase();
return populateEventSourceTarget(id, isSource);
More fixes and improvements for 1.2.2 release. * Fix flags being reset on claim deletion. * Fix user claim flag permission check. * Fix sign interaction not using proper flag 'interact-block-secondary'. * Fix '/claimexpand' and '/claimcontract' tab completion. * Fix 'entity-damage' flag attempting to protect dropped items. * Fix 'player-keep-inventory' not clearing drops on death. * Fix 'player-keep-level' not clearing XP drops on death. * Fix EntityChangeBlockEvent using wrong source location. * Fix claim create mode triggering twice on first right-click. * Fix default/override claim types not showing up properly in Flag GUI. * Fix entity-damage flag not using proper user on left-click. * Fix abandon-delay default value. * Remove ability to resize claims when auto-schematic-restore is enabled. * Add support for setting no modification/investigation tool in config. * Add '/claim', '/gd mode claim' command to toggle a new claim mode for inspecting and claim creation. * Add 'combat-timeout' pvp setting to config to control how long a player stays in pvp combat after an attack. * Implement 'abandon-delay' option. * Implement 'player-teleport-delay' option. * Implement 'pvp' option. - When a player attempts to attack another player, both players must have pvp allowed. If 1 player is not allowed to PvP, the attack will be cancelled. * Improve '/claimlist' command. - Only trusted claims will be shown to users. - Admins can use '/ignoreclaims' to see all claims. - Fixed server crash if too many claims were listed. - Fixed subdivision filter. * Improve '/claimspawn' command. - The command now takes the following arguments '/claimspawn [name] [player]' Ex. If you want to spawn in a claim that you own named 'lair', you would enter '/claimspawn lair' Ex. If you want to spawn in a claim owned by 'Mike' named 'stables', you would enter '/claimspawn stables mike' * Improve flag definition defaults. * Improve flag default configuration. Fixes #51, Fixes #53, Fixes #54 Fixes #55, Fixes #56, Fixes #57
2019-09-18 17:28:49 +02:00
} else if (obj instanceof TeleportCause) {
final TeleportCause teleportCause = (TeleportCause) obj;
String id = teleportCause.name().toLowerCase();
return populateEventSourceTarget(id, isSource);
2019-07-24 05:31:17 +02:00
} else if (obj instanceof SpawnReason) {
return populateEventSourceTarget("spawnreason:" + ((SpawnReason) obj).name().toLowerCase(), isSource);
} else if (obj instanceof CreatureSpawner) {
final CreatureSpawner spawner = (CreatureSpawner) obj;
return this.getPermissionIdentifier(spawner.getBlock());
} else if (obj instanceof String) {
final String id = obj.toString().toLowerCase();
return populateEventSourceTarget(id, isSource);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
2019-07-24 05:31:17 +02:00
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
populateEventSourceTarget("none", isSource);
return "";
}
public Set<Context> getPermissionContexts(GDClaim claim, Object obj, boolean isSource) {
final Set<Context> contexts = new HashSet<>();
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (obj == null) {
if (isSource) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(ContextGroups.SOURCE_ANY);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
} else {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(ContextGroups.TARGET_ANY);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
return contexts;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (obj instanceof Entity) {
Entity targetEntity = (Entity) obj;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (targetEntity instanceof Item) {
return getPermissionContexts(claim, ((Item) targetEntity).getItemStack(), isSource);
}
if (targetEntity.getType() == null) {
// Plugin sending fake player and violating API contract so just ignore...
return contexts;
}
2019-07-24 05:31:17 +02:00
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final GDEntityType type = EntityTypeRegistryModule.getInstance().getByBukkitType(targetEntity);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
String id = type.getId();
2019-07-24 05:31:17 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (!(targetEntity instanceof Player)) {
addCustomEntityTypeContexts(targetEntity, id, contexts, type, isSource);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
} else {
final Player player = (Player) targetEntity;
if (PlayerUtil.getInstance().isFakePlayer(player)) {
final String modId = EntityTypeRegistryModule.getInstance().findModIdFromBukkit(targetEntity);
id = modId + ":fakeplayer_" + EntityTypeRegistryModule.getInstance().getFriendlyName(targetEntity.getName());
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
if (this.isObjectIdBanned(claim, id, BanType.ENTITY)) {
return null;
}
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof Block) {
final Block block = (Block) obj;
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeBlockId(block, contexts);
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTargetContext(contexts, customItemId, isSource);
}
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
String id = BlockTypeRegistryModule.getInstance().getNMSKey(block);
if (GriefDefenderPlugin.getGlobalConfig().getConfig().mod.convertBlockId(id)) {
Update for 1.5.10 release. * Fix ClaimBlockTask prematurely exiting if a player had max claim blocks. * Fix TaxApplyTask not pulling funds from claim bank first. * Fix ClaimContextCalculator overwriting option claim contexts. * Fix player option commands running during a command causing a loop. * Fix player-command-enter running command from subclaim. * Fix player-command-exit running command to subclaim. * Fix player contexts not being added in all cases where a player is involved. * Fix flag definitions not accepting any context. * Fix elytra enter-claim bypass. * Add 'claim-create-radius-limit' to global config. * Add Simplified Chinese language support (zh_CN). * Add enter-claim flag permission check on player login. * Add enter/exit-claim support for player respawns. If denied, GD will respawn player back in source claim in a safe location. * Add TE NBT id support for mods such as gregtech. * (Hybrid) Fix mohist EntityType mod registration. * (Hybrid/Sponge) Add TE NBT id support for mods such as gregtech. See new setting 'tile-id-nbt-map' under mod category in global.conf * (Sponge) Add 'interact-item-force-list' to global config. Used to force interact-item flag checks when a player left/right-clicks with an item in hand. * (Sponge) Add check to prevent re-registration of worlds. * (Sponge) Add workaround during collisions when user is wrapped in ProjectileSource. * (Sponge) Add EntityThrowable support for getEntityOwner. * (Sponge) Add method to get internal DamageSource type name. * (Sponge) Fix NPE when cancelling claim with '/claimrent cancel' * (Sponge) Fix wrong block being checked during bucket interactions such as lava and water. * (Sponge) Fix block-pre not handing certain mod permission checks such as AE2 cables. * (Sponge) Fix 'block-id-convert-list' feature not using correct id during player interactions. * (Sponge) Fix item-pickup flag not checking trust.
2021-02-06 00:06:14 +01:00
final GDTileType tileType = TileEntityTypeRegistryModule.getInstance().getByBlock(block.getLocation());
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (tileType != null) {
id = tileType.getId();
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
this.addBlockContexts(contexts, block, isSource);
if (this.isObjectIdBanned(claim, id, BanType.BLOCK)) {
return null;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof BlockState) {
final BlockState blockstate = (BlockState) obj;
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
final Block block = blockstate.getBlock();
if (block.getType() != blockstate.getType()) {
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
return populateEventSourceTargetContext(contexts, blockstate.getType().name().toLowerCase(), isSource);
}
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeBlockId(block, contexts);
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTargetContext(contexts, customItemId, isSource);
}
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
String id = BlockTypeRegistryModule.getInstance().getNMSKey(blockstate);
if (GriefDefenderPlugin.getGlobalConfig().getConfig().mod.convertBlockId(id)) {
Update for 1.5.10 release. * Fix ClaimBlockTask prematurely exiting if a player had max claim blocks. * Fix TaxApplyTask not pulling funds from claim bank first. * Fix ClaimContextCalculator overwriting option claim contexts. * Fix player option commands running during a command causing a loop. * Fix player-command-enter running command from subclaim. * Fix player-command-exit running command to subclaim. * Fix player contexts not being added in all cases where a player is involved. * Fix flag definitions not accepting any context. * Fix elytra enter-claim bypass. * Add 'claim-create-radius-limit' to global config. * Add Simplified Chinese language support (zh_CN). * Add enter-claim flag permission check on player login. * Add enter/exit-claim support for player respawns. If denied, GD will respawn player back in source claim in a safe location. * Add TE NBT id support for mods such as gregtech. * (Hybrid) Fix mohist EntityType mod registration. * (Hybrid/Sponge) Add TE NBT id support for mods such as gregtech. See new setting 'tile-id-nbt-map' under mod category in global.conf * (Sponge) Add 'interact-item-force-list' to global config. Used to force interact-item flag checks when a player left/right-clicks with an item in hand. * (Sponge) Add check to prevent re-registration of worlds. * (Sponge) Add workaround during collisions when user is wrapped in ProjectileSource. * (Sponge) Add EntityThrowable support for getEntityOwner. * (Sponge) Add method to get internal DamageSource type name. * (Sponge) Fix NPE when cancelling claim with '/claimrent cancel' * (Sponge) Fix wrong block being checked during bucket interactions such as lava and water. * (Sponge) Fix block-pre not handing certain mod permission checks such as AE2 cables. * (Sponge) Fix 'block-id-convert-list' feature not using correct id during player interactions. * (Sponge) Fix item-pickup flag not checking trust.
2021-02-06 00:06:14 +01:00
final GDTileType tileType = TileEntityTypeRegistryModule.getInstance().getByBlock(block.getLocation());
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (tileType != null) {
id = tileType.getId();
}
}
this.addBlockContexts(contexts, block, isSource);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (this.isObjectIdBanned(claim, id, BanType.BLOCK)) {
return null;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof Material) {
Update for 1.5.9 release. * Fix playerdata getting wrong accrued claim block value if world context existed while in global mode. * Fix Citizen NPC's being denied entry to claim when flag 'enter-claim' is false. * Fix some zh_HK translations. * Fix NPE during potion splash. * Fix enderman-grief flag definition. * Fix villager-trade flag definition. * Fix villager-farm flag definition. * Fix timing NPE in EntityEventHandler. * Fix owner name showing for enter/exit prefix in wilderness/admin claims. * Fix untamed animals being denied when attacking eachother. * Add 'claim-block-task' setting in global.conf to control whether block accrue task runs. * Add animal-block-modify flag definition. * Add ravager-block-break flag definition. * Add silverfish-block-infest flag definition. * Add new visual config setting 'cuboid-level-visuals-2d' under visual category to control whether cuboid visuals should be show during inspection of 2d claims with owner min/max level between 0-255. * Add ru_RU translations for new flag definitions. * Remove 'ForSale' click function in '/claiminfo' as it is no longer needed. * Rewrite EntityChangeBlockEvent handling. Handler will now use the proper block flag when handling source/target block changes. * (Sponge) Fix 'flowing_water' spam in gddebug. * (Sponge) Add ice form/melt detection. * (Sponge) Fix NPE in Nucleus listener. * (Sponge) Fix rent sign interval. * (Sponge) Fix compatibility with LittleTiles mod. * (Sponge) Fix inability to disable modification/investigation tool in config. * (Sponge) Fix some more debug spam during block pre event.
2021-01-08 19:59:00 +01:00
final String id = BlockTypeRegistryModule.getInstance().getNMSKey((Material) obj);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof Inventory) {
final String id = ((Inventory) obj).getType().name().toLowerCase();
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof InventoryType) {
final String id = ((InventoryType) obj).name().toLowerCase();
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof ItemStack) {
final ItemStack itemstack = (ItemStack) obj;
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
if (GriefDefenderPlugin.getInstance().isCustomItemsInstalled) {
final String customItemId = NMSUtil.getInstance().getItemStackNBTString(itemstack, "com.jojodmo.customitems.itemID");
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTargetContext(contexts, "customitems:" + customItemId, isSource);
}
}
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String customItemId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeItemId(itemstack, contexts);
if (customItemId != null && !customItemId.isEmpty()) {
return populateEventSourceTargetContext(contexts, customItemId, isSource);
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (NMSUtil.getInstance().isItemFood(itemstack)) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_FOOD);
} else {
contexts.add(ContextGroups.TARGET_FOOD);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (NMSUtil.getInstance().isItemHanging(itemstack)) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_HANGING);
} else {
contexts.add(ContextGroups.TARGET_HANGING);
}
}
if (NMSUtil.getInstance().isItemBoat(itemstack) || NMSUtil.getInstance().isItemMinecart(itemstack)) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_VEHICLE);
} else {
contexts.add(ContextGroups.TARGET_VEHICLE);
}
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (NMSUtil.getInstance().isItemPotion(itemstack)) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_POTION);
} else {
contexts.add(ContextGroups.TARGET_POTION);
}
if (GriefDefenderPlugin.getGlobalConfig().getConfig().context.potionEffects) {
final List<String> effects = NMSUtil.getInstance().getPotionEffects(itemstack);
for (String effect : effects) {
contexts.add(new Context("potion_effect", effect.toLowerCase()));
}
if (!effects.isEmpty()) {
contexts.add(new Context("potion_effect", ContextGroupKeys.ANY));
}
}
}
if (GriefDefenderPlugin.getGlobalConfig().getConfig().context.enchantments) {
// add enchantment contexts
final List<String> enchantments = NMSUtil.getInstance().getEnchantments(itemstack);
for (String enchantment : enchantments) {
final String[] parts = enchantment.split(",");
for (String part : parts) {
if (part.startsWith("id:")) {
part = part.replace("id:", "");
part = part.replace("\"", "");
part = part.substring(0, part.length() - 1);
if (Character.isDigit(part.charAt(0))) {
part = part.replaceAll("[^0-9]", "");
part = NMSUtil.getInstance().getEnchantmentId(Integer.valueOf(part));
}
contexts.add(new Context("enchant", part));
}
}
enchantment = enchantment.replace("\"", "");
enchantment = enchantment.substring(1, enchantment.length() - 1);
contexts.add(new Context("enchant_data", enchantment));
}
if (!enchantments.isEmpty()) {
contexts.add(new Context("enchant", ContextGroupKeys.ANY));
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
String id = ItemTypeRegistryModule.getInstance().getNMSKey(itemstack);
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (GriefDefenderPlugin.getGlobalConfig().getConfig().mod.convertBlockId(id)) {
Update for 1.5.10 release. * Fix ClaimBlockTask prematurely exiting if a player had max claim blocks. * Fix TaxApplyTask not pulling funds from claim bank first. * Fix ClaimContextCalculator overwriting option claim contexts. * Fix player option commands running during a command causing a loop. * Fix player-command-enter running command from subclaim. * Fix player-command-exit running command to subclaim. * Fix player contexts not being added in all cases where a player is involved. * Fix flag definitions not accepting any context. * Fix elytra enter-claim bypass. * Add 'claim-create-radius-limit' to global config. * Add Simplified Chinese language support (zh_CN). * Add enter-claim flag permission check on player login. * Add enter/exit-claim support for player respawns. If denied, GD will respawn player back in source claim in a safe location. * Add TE NBT id support for mods such as gregtech. * (Hybrid) Fix mohist EntityType mod registration. * (Hybrid/Sponge) Add TE NBT id support for mods such as gregtech. See new setting 'tile-id-nbt-map' under mod category in global.conf * (Sponge) Add 'interact-item-force-list' to global config. Used to force interact-item flag checks when a player left/right-clicks with an item in hand. * (Sponge) Add check to prevent re-registration of worlds. * (Sponge) Add workaround during collisions when user is wrapped in ProjectileSource. * (Sponge) Add EntityThrowable support for getEntityOwner. * (Sponge) Add method to get internal DamageSource type name. * (Sponge) Fix NPE when cancelling claim with '/claimrent cancel' * (Sponge) Fix wrong block being checked during bucket interactions such as lava and water. * (Sponge) Fix block-pre not handing certain mod permission checks such as AE2 cables. * (Sponge) Fix 'block-id-convert-list' feature not using correct id during player interactions. * (Sponge) Fix item-pickup flag not checking trust.
2021-02-06 00:06:14 +01:00
final String itemName = NMSUtil.getInstance().getItemName(itemstack, id);
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (itemName != null) {
Update for 1.5.10 release. * Fix ClaimBlockTask prematurely exiting if a player had max claim blocks. * Fix TaxApplyTask not pulling funds from claim bank first. * Fix ClaimContextCalculator overwriting option claim contexts. * Fix player option commands running during a command causing a loop. * Fix player-command-enter running command from subclaim. * Fix player-command-exit running command to subclaim. * Fix player contexts not being added in all cases where a player is involved. * Fix flag definitions not accepting any context. * Fix elytra enter-claim bypass. * Add 'claim-create-radius-limit' to global config. * Add Simplified Chinese language support (zh_CN). * Add enter-claim flag permission check on player login. * Add enter/exit-claim support for player respawns. If denied, GD will respawn player back in source claim in a safe location. * Add TE NBT id support for mods such as gregtech. * (Hybrid) Fix mohist EntityType mod registration. * (Hybrid/Sponge) Add TE NBT id support for mods such as gregtech. See new setting 'tile-id-nbt-map' under mod category in global.conf * (Sponge) Add 'interact-item-force-list' to global config. Used to force interact-item flag checks when a player left/right-clicks with an item in hand. * (Sponge) Add check to prevent re-registration of worlds. * (Sponge) Add workaround during collisions when user is wrapped in ProjectileSource. * (Sponge) Add EntityThrowable support for getEntityOwner. * (Sponge) Add method to get internal DamageSource type name. * (Sponge) Fix NPE when cancelling claim with '/claimrent cancel' * (Sponge) Fix wrong block being checked during bucket interactions such as lava and water. * (Sponge) Fix block-pre not handing certain mod permission checks such as AE2 cables. * (Sponge) Fix 'block-id-convert-list' feature not using correct id during player interactions. * (Sponge) Fix item-pickup flag not checking trust.
2021-02-06 00:06:14 +01:00
if (!itemName.contains(":")) {
final int index = id.indexOf(":");
final String modId = id.substring(0, index);
id = modId + ":" + itemName;
} else {
id = itemName;
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (this.isObjectIdBanned(claim, id, BanType.ITEM)) {
return null;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof DamageCause) {
final DamageCause damageCause = (DamageCause) obj;
String id = damageCause.name().toLowerCase();
return populateEventSourceTargetContext(contexts, id, isSource);
} else if (obj instanceof TeleportCause) {
final TeleportCause teleportCause = (TeleportCause) obj;
String id = teleportCause.name().toLowerCase();
return populateEventSourceTargetContext(contexts, id, isSource);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
} else if (obj instanceof SpawnReason) {
return populateEventSourceTargetContext(contexts, "spawnreason:" + ((SpawnReason) obj).name().toLowerCase(), isSource);
} else if (obj instanceof CreatureSpawner) {
final CreatureSpawner spawner = (CreatureSpawner) obj;
return this.getPermissionContexts(claim, spawner.getBlock(), isSource);
} else if (obj instanceof String) {
final String id = obj.toString().toLowerCase();
return populateEventSourceTargetContext(contexts, id, isSource);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return contexts;
}
public boolean isObjectIdBanned(GDClaim claim, String id, BanType type) {
if (id.equalsIgnoreCase("player")) {
return false;
}
GDPermissionUser user = null;
if (this.eventSubject != null && this.eventSubject instanceof GDPermissionUser) {
user = (GDPermissionUser) this.eventSubject;
if (user.getInternalPlayerData() != null && user.getInternalPlayerData().canIgnoreClaim(claim)) {
return false;
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
final String permission = StringUtils.replace(id, ":", ".");
Component banReason = null;
final BanCategory banCategory = GriefDefenderPlugin.getGlobalConfig().getConfig().bans;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (type == BanType.BLOCK) {
for (Entry<String, Component> banId : banCategory.getBlockMap().entrySet()) {
if (FilenameUtils.wildcardMatch(id, banId.getKey())) {
banReason = GriefDefenderPlugin.getGlobalConfig().getConfig().bans.getBlockBanReason(banId.getKey());
if (banReason != null && banReason.equals(TextComponent.empty())) {
banReason = MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.PERMISSION_BAN_BLOCK,
ImmutableMap.of("id", TextComponent.of(id, TextColor.GOLD)));
}
break;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
} else if (type == BanType.ITEM) {
for (Entry<String, Component> banId : banCategory.getItemMap().entrySet()) {
if (FilenameUtils.wildcardMatch(id, banId.getKey())) {
banReason = GriefDefenderPlugin.getGlobalConfig().getConfig().bans.getItemBanReason(banId.getKey());
if (banReason != null && banReason.equals(TextComponent.empty())) {
banReason = MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.PERMISSION_BAN_ITEM,
ImmutableMap.of("id", TextComponent.of(id, TextColor.GOLD)));
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
} else if (type == BanType.ENTITY) {
for (Entry<String, Component> banId : banCategory.getEntityMap().entrySet()) {
if (FilenameUtils.wildcardMatch(id, banId.getKey())) {
banReason = GriefDefenderPlugin.getGlobalConfig().getConfig().bans.getEntityBanReason(banId.getKey());
if (banReason != null && banReason.equals(TextComponent.empty())) {
banReason = MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.PERMISSION_BAN_ENTITY,
ImmutableMap.of("id", TextComponent.of(id, TextColor.GOLD)));
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
if (banReason != null && user != null) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
final Player player = user.getOnlinePlayer();
if (player != null) {
if (banReason.equals(TextComponent.empty())) {
banReason = MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.PERMISSION_BAN_BLOCK,
ImmutableMap.of("id", id));
}
TextAdapter.sendComponent(player, banReason);
this.processResult(claim, permission, "banned", Tristate.FALSE, user);
return true;
}
}
if (banReason != null) {
// Detected ban
this.processResult(claim, permission, "banned", Tristate.FALSE, this.eventSubject);
return true;
}
return false;
}
public void addCustomEntityTypeContexts(Entity targetEntity, String id, Set<Context> contexts, GDEntityType type, boolean isSource) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
if (isSource) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(ContextGroups.SOURCE_ANY);
contexts.add(new Context(ContextKeys.SOURCE, "#" + type.getModId().toLowerCase() + ":any"));
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
} else {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(ContextGroups.TARGET_ANY);
contexts.add(new Context(ContextKeys.TARGET, "#" + type.getModId().toLowerCase() + ":any"));
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
// check vehicle
if (targetEntity instanceof Vehicle) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_VEHICLE);
} else {
contexts.add(ContextGroups.TARGET_VEHICLE);
}
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
// pixelmon
if (targetEntity.getType() != null && targetEntity.getType().name().equalsIgnoreCase("pixelmon_pixelmon") || targetEntity.getType().name().equalsIgnoreCase("pixelmon")) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_PIXELMON);
} else {
contexts.add(ContextGroups.TARGET_PIXELMON);
}
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
// potion
if (targetEntity instanceof ThrownPotion && GriefDefenderPlugin.getGlobalConfig().getConfig().context.potionEffects) {
final ThrownPotion potion = (ThrownPotion) targetEntity;
for (PotionEffect effect : potion.getEffects()) {
contexts.add(new Context("potion_effect", effect.getType().getName().toLowerCase()));
}
if (!potion.getEffects().isEmpty()) {
contexts.add(new Context("potion_effect", ContextGroupKeys.ANY));
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
final String creatureType = type.getEnumCreatureTypeId();
if (creatureType == null) {
return;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final String modId = type.getModId().toLowerCase();
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (creatureType.contains("animal")) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_ANIMAL);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":animal"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else {
contexts.add(ContextGroups.TARGET_ANIMAL);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":animal"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
this.checkPetContext(targetEntity, modId, contexts, isSource);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else if (creatureType.contains("aquatic")) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_AQUATIC);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":aquatic"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else {
contexts.add(ContextGroups.TARGET_AQUATIC);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":aquatic"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
this.checkPetContext(targetEntity, modId, contexts, isSource);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else if (creatureType.contains("monster")) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_MONSTER);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":monster"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else {
contexts.add(ContextGroups.TARGET_MONSTER);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":monster"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
} else if (creatureType.contains("ambient")) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (isSource) {
contexts.add(ContextGroups.SOURCE_AMBIENT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":ambient"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else {
contexts.add(ContextGroups.TARGET_AMBIENT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":ambient"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
this.checkPetContext(targetEntity, modId, contexts, isSource);
} else {
if (isSource) {
contexts.add(ContextGroups.SOURCE_MISC);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":misc"));
} else {
contexts.add(ContextGroups.TARGET_MISC);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":misc"));
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
private void checkPetContext(Entity targetEntity, String modId, Set<Context> contexts, boolean isSource) {
if (this.eventSubject != null && this.eventSubject instanceof GDPermissionUser) {
final GDPermissionUser user = (GDPermissionUser) this.eventSubject;
final UUID uuid = NMSUtil.getInstance().getTameableOwnerUUID(targetEntity);
if (uuid != null && uuid.equals(user.getUniqueId())) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (isSource) {
contexts.add(ContextGroups.SOURCE_PET);
if (modId != null && !modId.isEmpty()) {
contexts.add(new Context(ContextKeys.SOURCE, "#" + modId + ":pet"));
}
} else {
contexts.add(ContextGroups.TARGET_PET);
if (modId != null && !modId.isEmpty()) {
contexts.add(new Context(ContextKeys.TARGET, "#" + modId + ":pet"));
}
}
}
}
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
private void addPlayerContexts(Player player, Set<Context> contexts, Flag flag) {
Context usedItemContext = null;
for (Context context : contexts) {
if (context.getKey().equals(ContextKeys.USED_ITEM)) {
usedItemContext = context;
break;
}
}
if(usedItemContext == null) {
// special case
if (this.currentEvent instanceof PlayerBucketEvent) {
final PlayerBucketEvent bucketEvent = (PlayerBucketEvent) this.currentEvent;
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts.add(new Context(ContextKeys.USED_ITEM, "minecraft:" + bucketEvent.getBucket().name().toLowerCase()));
} else {
final ItemStack stack = NMSUtil.getInstance().getActiveItem(player, this.currentEvent);
if (stack != null && stack.getType() != Material.AIR) {
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
final String stackId = getPermissionIdentifier(stack);
contexts.add(new Context(ContextKeys.USED_ITEM, stackId));
if (stack.getItemMeta() != null && stack.getItemMeta().getDisplayName() != null) {
String itemName = stack.getItemMeta().getDisplayName().replaceAll("[^A-Za-z0-9]", "").toLowerCase();
if (GriefDefenderPlugin.getInstance().getSlimefunProvider() != null) {
final String slimefunId = GriefDefenderPlugin.getInstance().getSlimefunProvider().getSlimeItemDisplayName(stack);
if (slimefunId != null && !slimefunId.isEmpty()) {
itemName = slimefunId;
}
}
if (itemName != null && !itemName.isEmpty()) {
if (!itemName.contains(":")) {
itemName = "minecraft:" + itemName;
}
contexts.add(new Context("item_name", itemName));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
// populate item tag
if (GriefDefenderPlugin.getInstance().getTagProvider() != null) {
final Set<Context> tagContexts = GriefDefenderPlugin.getInstance().getTagProvider().getTagMap().get(stackId);
if (tagContexts != null) {
for (Context context : tagContexts) {
contexts.add(new Context(ContextKeys.USED_ITEM, "#" + context.getKey() + ":" + context.getValue()));
if (context.getKey().equalsIgnoreCase("minecraft")) {
contexts.add(new Context(ContextKeys.USED_ITEM, "#" + context.getValue()));
}
}
}
}
}
}
} else {
// populate item tag
if (GriefDefenderPlugin.getInstance().getTagProvider() != null) {
final Set<Context> tagContexts = GriefDefenderPlugin.getInstance().getTagProvider().getTagMap().get(usedItemContext.getValue());
if (tagContexts != null) {
for (Context context : tagContexts) {
contexts.add(new Context(ContextKeys.USED_ITEM, "#" + context.getKey() + ":" + context.getValue()));
if (context.getKey().equalsIgnoreCase("minecraft")) {
contexts.add(new Context(ContextKeys.USED_ITEM, "#" + context.getValue()));
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (GriefDefenderPlugin.getGlobalConfig().getConfig().context.playerEquipment) {
final ItemStack helmet = player.getInventory().getHelmet();
final ItemStack chestplate = player.getInventory().getChestplate();
final ItemStack leggings = player.getInventory().getLeggings();
final ItemStack boots = player.getInventory().getBoots();
if (helmet != null) {
contexts.add(new Context("helmet", getPermissionIdentifier(helmet)));
}
if (chestplate != null) {
contexts.add(new Context("chestplate", getPermissionIdentifier(chestplate)));
}
if (leggings != null) {
contexts.add(new Context("leggings", getPermissionIdentifier(leggings)));
}
if (boots != null) {
contexts.add(new Context("boots", getPermissionIdentifier(boots)));
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
if (GriefDefenderPlugin.getGlobalConfig().getConfig().context.enchantments) {
// add player item enchantment contexts
final List<String> enchantments = NMSUtil.getInstance().getEnchantmentsItemMainHand(player);
for (String enchantment : enchantments) {
final String[] parts = enchantment.split(",");
for (String part : parts) {
if (part.startsWith("id:")) {
part = part.replace("id:", "");
part = part.replace("\"", "");
part = part.substring(0, part.length() - 1);
if (Character.isDigit(part.charAt(0))) {
part = part.replaceAll("[^0-9]", "");
part = NMSUtil.getInstance().getEnchantmentId(Integer.valueOf(part));
}
contexts.add(new Context("mainhand_enchant", part));
contexts.add(new Context("mainhand_enchant", ContextGroupKeys.ANY));
}
}
enchantment = enchantment.replace("\"", "");
enchantment = enchantment.substring(1, enchantment.length() - 1);
contexts.add(new Context("mainhand_enchant_data", enchantment));
}
if (!enchantments.isEmpty()) {
contexts.add(new Context("mainhand_enchant", ContextGroupKeys.ANY));
}
final List<String> offEnchantments = NMSUtil.getInstance().getEnchantmentsItemOffHand(player);
for (String enchantment : offEnchantments) {
final String[] parts = enchantment.split(",");
for (String part : parts) {
if (part.startsWith("id:")) {
part = part.replace("id:", "");
part = part.replace("\"", "");
part = part.substring(0, part.length() - 1);
if (Character.isDigit(part.charAt(0))) {
part = part.replaceAll("[^0-9]", "");
part = NMSUtil.getInstance().getEnchantmentId(Integer.valueOf(part));
}
contexts.add(new Context("offhand_enchant", part));
}
}
enchantment = enchantment.replace("\"", "");
enchantment = enchantment.substring(1, enchantment.length() - 1);
contexts.add(new Context("offhand_enchant_data", enchantment));
}
if (!offEnchantments.isEmpty()) {
contexts.add(new Context("offhand_enchant", ContextGroupKeys.ANY));
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
private Set<Context> addBlockContexts(Set<Context> contexts, Block block, boolean isSource) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
Matcher matcher = BLOCKSTATE_PATTERN.matcher(NMSUtil.getInstance().getBlockDataString((Block) block));
if (matcher.find()) {
final String properties[] = matcher.group(0).split(",");
for (String property : properties) {
Update for 1.5.5 release. * Add potion effects support. * Add item enchantment support. * Add pvp lookup methods for claim and playerdata. * Add 'block-tileentity-id-list' used to override mod block id's that are used for many TE's. - Ex. IC2 uses a base block id 'ic2:te' for all TE's. When the id is detected during block/item usage, it will be converted to the actual id. * Add TileEntity registry to better support hybrid servers. * Add '/claiminfo' UUID click support to copy text to chat. * Add support for overriding option 'player-command-exit/enter' on player. * Add command description translation support. * Add zh_HK language support. * Fix event cause not clearing on push. * Fix abandon claim within town returning funds to owner in economy mode. * Fix player afk detection during claim block task. * Fix async chunk load during visual revert. * Fix '/gd claim we' command. * Fix advanced flag GUI toggle with definitions. * Fix rent sign update not checking all children claims. * Fix rent sign not being updated when cancelled via '/claimrent cancel'. * Fix '/claimsell' on admin claim. * Fix NPE when attempting to purchase an admin claim for sale. * Fix command description translations. * Fix isInvulnerable NPE on 1.8.8 servers. * Fix '/abandonworld' exiting when no economy data found for player. * Fix '/deletealladmin' only deleting admin claims in current world when passing no world argument. * Fix '/claimcontract' and '/claimexpand' NPE in economy mode. * Fix GD claim enter/exit prefix. The prefix will now use '[<playername>]'. Note: This can be configured in lang file under 'claim-prefix-enter' and 'claim-prefix-exit' * Clean up advanced flag GUI code. * Disable /buyblocks command when economy-block-cost is <= 0 * Deny town claim abandon if basic claims exist owned by owner. * Allow to input string as option value. * Improve pvp source contexts. * Clean up '/acb' command code. * (Bukkit) Add potion splash protection support. * (Bukkit) Fix tamed entities being hit by projectiles. * (Bukkit) Fix enderman block place protection. * (Hybrid) Fix wrong EnumCreatureType being registered for entities. * (Hybrid) Add TileEntity registry. * (Hybrid) Add mod command support for 'command-execute' flag. * (Sponge) Add PlaceHolderAPI support. * (Sponge) Add Nucleus v2 support. * (Sponge) Add IgniteEntityEvent support. * (Sponge) Fix '/cpp' and '/cpg' command. * (Sponge) Fix player block placement deny not sending message. Fixes #4 Fixes #200, Fixes #206, Fixes #222 Fixes #232, Fixes #237, Fixes #267 Fixes #269, Fixes #276, Fixes #296 Fixes #310, Fixes #311, Fixes #317 Fixes #324, Fixes #333, Fixes #334 Fixes #335, Fixes #336, Fixes #347
2020-12-28 23:28:12 +01:00
String prop = property.replace("=", ":");
if (prop.equals("type:invalid")) {
// ignore
continue;
}
contexts.add(new Context(ContextKeys.STATE, prop));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
}
2019-07-24 05:31:17 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (NMSUtil.getInstance().isBlockCrops(block)) {
if (isSource) {
contexts.add(ContextGroups.SOURCE_CROPS);
2019-07-24 05:31:17 +02:00
} else {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
contexts.add(ContextGroups.TARGET_CROPS);
2019-07-24 05:31:17 +02:00
}
Update for 1.5.9 release. * Fix playerdata getting wrong accrued claim block value if world context existed while in global mode. * Fix Citizen NPC's being denied entry to claim when flag 'enter-claim' is false. * Fix some zh_HK translations. * Fix NPE during potion splash. * Fix enderman-grief flag definition. * Fix villager-trade flag definition. * Fix villager-farm flag definition. * Fix timing NPE in EntityEventHandler. * Fix owner name showing for enter/exit prefix in wilderness/admin claims. * Fix untamed animals being denied when attacking eachother. * Add 'claim-block-task' setting in global.conf to control whether block accrue task runs. * Add animal-block-modify flag definition. * Add ravager-block-break flag definition. * Add silverfish-block-infest flag definition. * Add new visual config setting 'cuboid-level-visuals-2d' under visual category to control whether cuboid visuals should be show during inspection of 2d claims with owner min/max level between 0-255. * Add ru_RU translations for new flag definitions. * Remove 'ForSale' click function in '/claiminfo' as it is no longer needed. * Rewrite EntityChangeBlockEvent handling. Handler will now use the proper block flag when handling source/target block changes. * (Sponge) Fix 'flowing_water' spam in gddebug. * (Sponge) Add ice form/melt detection. * (Sponge) Fix NPE in Nucleus listener. * (Sponge) Fix rent sign interval. * (Sponge) Fix compatibility with LittleTiles mod. * (Sponge) Fix inability to disable modification/investigation tool in config. * (Sponge) Fix some more debug spam during block pre event.
2021-01-08 19:59:00 +01:00
} else if (NMSUtil.getInstance().isBlockPlant(block)){
if (isSource) {
contexts.add(ContextGroups.SOURCE_PLANTS);
} else {
contexts.add(ContextGroups.TARGET_PLANTS);
}
2019-07-24 05:31:17 +02:00
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return contexts;
2019-07-24 05:31:17 +02:00
}
public String getIdentifierWithoutMeta(String targetId) {
Matcher m = PATTERN_META.matcher(targetId);
String targetMeta = "";
if (m.find()) {
targetMeta = m.group(0);
targetId = StringUtils.replace(targetId, targetMeta, "");
}
return targetId;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
private Set<Context> populateEventSourceTargetContext(Set<Context> contexts, String id, boolean isSource) {
if (!id.contains(":")) {
id = "minecraft:" + id;
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
contexts = this.populateTagContextsForId(contexts, id, isSource);
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
// always add source/target any contexts
contexts.add(ContextGroups.SOURCE_ANY);
contexts.add(ContextGroups.TARGET_ANY);
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
final String[] parts = id.split(":");
final String modId = parts[0];
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (isSource) {
this.eventSourceId = id.toLowerCase();
contexts.add(new Context("source", this.eventSourceId));
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
contexts.add(new Context("source", modId + ":any"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
} else {
this.eventTargetId = id.toLowerCase();
contexts.add(new Context("target", this.eventTargetId));
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
contexts.add(new Context("target", modId + ":any"));
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
return contexts;
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
public Set<Context> populateTagContextsForId(Set<Context> contexts, String id, boolean isSource) {
if (GriefDefenderPlugin.getInstance().getTagProvider() == null) {
return contexts;
}
final Set<Context> tagContexts = GriefDefenderPlugin.getInstance().getTagProvider().getTagMap().get(id);
if (tagContexts == null) {
return contexts;
}
for (Context context : tagContexts) {
if (isSource) {
contexts.add(new Context(ContextKeys.SOURCE, "#" + context.getKey() + ":" + context.getValue()));
if (context.getKey().equalsIgnoreCase("minecraft")) {
contexts.add(new Context(ContextKeys.SOURCE, "#" + context.getValue()));
}
} else {
contexts.add(new Context(ContextKeys.TARGET, "#" + context.getKey() + ":" + context.getValue()));
if (context.getKey().equalsIgnoreCase("minecraft")) {
contexts.add(new Context(ContextKeys.TARGET, "#" + context.getValue()));
}
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return contexts;
}
2019-07-24 05:31:17 +02:00
private String populateEventSourceTarget(String id, boolean isSource) {
if (this.blacklistCheck) {
return id;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (!id.contains(":")) {
2019-07-24 05:31:17 +02:00
id = "minecraft:" + id;
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
String[] parts = id.split(":");
if (parts != null && parts.length == 3) {
if (parts[0].equals(parts[1])) {
id = parts[1] + ":" + parts[2];
}
}
2019-07-24 05:31:17 +02:00
if (isSource) {
this.eventSourceId = id.toLowerCase();
} else {
this.eventTargetId = id.toLowerCase();
}
return id;
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> clearAllFlagPermissions(Subject subject) {
2019-07-24 05:31:17 +02:00
CompletableFuture<PermissionResult> result = new CompletableFuture<>();
if (subject == null) {
result.complete(new GDPermissionResult(ResultTypes.SUBJECT_DOES_NOT_EXIST));
return result;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
GDFlagPermissionEvent.ClearAll event = new GDFlagPermissionEvent.ClearAll(subject);
2019-07-24 05:31:17 +02:00
GriefDefender.getEventManager().post(event);
if (event.cancelled()) {
result.complete(new GDPermissionResult(ResultTypes.EVENT_CANCELLED, event.getMessage().orElse(null)));
return result;
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
for (Map.Entry<Set<Context>, Map<String, Boolean>> mapEntry : PermissionUtil.getInstance().getPermanentPermissions((GDPermissionHolder) subject).entrySet()) {
2019-07-24 05:31:17 +02:00
final Set<Context> contextSet = mapEntry.getKey();
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
for (Context context : contextSet) {
if (context.getValue().equals(subject.getIdentifier())) {
PermissionUtil.getInstance().clearPermissions((GDPermissionHolder) subject, context);
}
2019-07-24 05:31:17 +02:00
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
}
2019-07-24 05:31:17 +02:00
result.complete(new GDPermissionResult(ResultTypes.SUCCESS));
return result;
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> clearFlagPermissions(Set<Context> contexts) {
return clearFlagPermissions(GriefDefenderPlugin.DEFAULT_HOLDER, contexts);
2019-07-24 05:31:17 +02:00
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> clearFlagPermissions(Subject subject, Set<Context> contexts) {
2019-07-24 05:31:17 +02:00
CompletableFuture<PermissionResult> result = new CompletableFuture<>();
if (subject == null) {
result.complete(new GDPermissionResult(ResultTypes.SUBJECT_DOES_NOT_EXIST));
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
GDFlagPermissionEvent.Clear event = new GDFlagPermissionEvent.Clear(subject, contexts);
2019-07-24 05:31:17 +02:00
GriefDefender.getEventManager().post(event);
if (event.cancelled()) {
result.complete(new GDPermissionResult(ResultTypes.EVENT_CANCELLED, event.getMessage().orElse(null)));
return result;
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
PermissionUtil.getInstance().clearPermissions((GDPermissionHolder) subject, contexts);
2019-07-24 05:31:17 +02:00
result.complete(new GDPermissionResult(ResultTypes.SUCCESS));
return result;
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> setFlagPermission(Flag flag, Tristate value, Set<Context> contexts) {
return setPermission(GriefDefenderPlugin.DEFAULT_HOLDER, flag, value, contexts);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> setPermission(Subject subject, Flag flag, Tristate value, Set<Context> contexts) {
2019-07-24 05:31:17 +02:00
CompletableFuture<PermissionResult> result = new CompletableFuture<>();
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
GDFlagPermissionEvent.Set event = new GDFlagPermissionEvent.Set(subject, flag, value, contexts);
2019-07-24 05:31:17 +02:00
GriefDefender.getEventManager().post(event);
if (event.cancelled()) {
result.complete(new GDPermissionResult(ResultTypes.EVENT_CANCELLED, event.getMessage().orElse(null)));
return result;
}
return PermissionUtil.getInstance().setPermissionValue((GDPermissionHolder) subject, flag, value, contexts);
2019-07-24 05:31:17 +02:00
}
// internal
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public CompletableFuture<PermissionResult> setPermission(Claim claim, GDPermissionHolder subject, Flag flag, String target, Tristate value, Set<Context> contexts) {
2019-07-24 05:31:17 +02:00
if (target.equalsIgnoreCase("any:any")) {
target = "any";
}
CompletableFuture<PermissionResult> result = new CompletableFuture<>();
if (flag != Flags.COMMAND_EXECUTE && flag != Flags.COMMAND_EXECUTE_PVP) {
String[] parts = target.split(":");
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (!target.startsWith("#") && parts.length > 1 && parts[0].equalsIgnoreCase("minecraft")) {
2019-07-24 05:31:17 +02:00
target = parts[1];
}
if (target != null && !GriefDefenderPlugin.ID_MAP.contains(target)) {
result.complete(new GDPermissionResult(ResultTypes.TARGET_NOT_VALID));
return result;
}
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
contexts.add(new Context(ContextKeys.TARGET, target));
GDFlagPermissionEvent.Set event = new GDFlagPermissionEvent.Set(subject, flag, value, contexts);
2019-07-24 05:31:17 +02:00
GriefDefender.getEventManager().post(event);
if (event.cancelled()) {
result.complete(new GDPermissionResult(ResultTypes.EVENT_CANCELLED, event.getMessage().orElse(null)));
return result;
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
final GDPermissionUser user = GDCauseStackManager.getInstance().getCurrentCause().first(GDPermissionUser.class).orElse(null);
CommandSender commandSource = user != null && user.getOnlinePlayer() != null ? user.getOnlinePlayer() : Bukkit.getConsoleSender();
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
result.complete(CommandHelper.addFlagPermission(commandSource, subject, claim, flag, target, value, contexts));
2019-07-24 05:31:17 +02:00
return result;
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Tristate getFlagPermissionValue(Flag flag, Set<Context> contexts) {
return getPermissionValue(GriefDefenderPlugin.DEFAULT_HOLDER, flag, contexts);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Tristate getPermissionValue(GDPermissionHolder subject, Flag flag, Set<Context> contexts) {
return PermissionUtil.getInstance().getPermissionValue(subject, flag.getPermission(), contexts);
2019-07-24 05:31:17 +02:00
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Map<String, Boolean> getFlagPermissions(Set<Context> contexts) {
return getFlagPermissions(GriefDefenderPlugin.DEFAULT_HOLDER, contexts);
2019-07-24 05:31:17 +02:00
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Map<String, Boolean> getFlagPermissions(Subject subject, Set<Context> contexts) {
2019-07-24 05:31:17 +02:00
if (subject == null) {
return new HashMap<>();
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return PermissionUtil.getInstance().getPermissions((GDPermissionHolder) subject, contexts);
2019-07-24 05:31:17 +02:00
}
public static GDPermissionManager getInstance() {
return instance;
}
static {
instance = new GDPermissionManager();
}
@Override
public Optional<String> getOptionValue(Option option, Set<Context> contexts) {
return Optional.empty();
}
@Override
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public Optional<String> getOptionValue(Subject subject, Option option, Set<Context> contexts) {
2019-07-24 05:31:17 +02:00
return Optional.empty();
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, OfflinePlayer player, Option<T> option) {
return getInternalOptionValue(type, player, option, (ClaimType) null);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, OfflinePlayer player, Option<T> option, Claim claim) {
final GDPermissionHolder holder = PermissionHolderCache.getInstance().getOrCreateHolder(player.getUniqueId().toString());
if (claim != null) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return this.getInternalOptionValue(type, holder, option, claim, claim.getType(), new HashSet<>());
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return this.getInternalOptionValue(type, holder, option, (ClaimType) null);
2019-07-24 05:31:17 +02:00
}
public <T> T getInternalOptionValue(TypeToken<T> type, OfflinePlayer player, Option<T> option, ClaimType claimType) {
final GDPermissionHolder holder = PermissionHolderCache.getInstance().getOrCreateHolder(player.getUniqueId().toString());
return this.getInternalOptionValue(type, holder, option, null, claimType, new HashSet<>());
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option) {
return this.getInternalOptionValue(type, holder, option, (ClaimType) null);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option, Claim claim) {
if (claim != null) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return this.getInternalOptionValue(type, holder, option, claim, claim.getType(), new HashSet<>());
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return this.getInternalOptionValue(type, holder, option, (ClaimType) null);
2019-07-24 05:31:17 +02:00
}
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option, Set<Context> contexts) {
return getInternalOptionValue(type, holder, option, null, null, contexts);
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option, Claim claim, Set<Context> contexts) {
return getInternalOptionValue(type, holder, option, claim, null, contexts);
2019-07-24 05:31:17 +02:00
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option, ClaimType claimType) {
return this.getInternalOptionValue(type, holder, option, null, claimType, new HashSet<>());
}
public <T> T getInternalOptionValue(TypeToken<T> type, GDPermissionHolder holder, Option<T> option, Claim claim, ClaimType claimType, Set<Context> contexts) {
if (holder != GriefDefenderPlugin.DEFAULT_HOLDER && holder instanceof GDPermissionUser) {
final GDPermissionUser user = (GDPermissionUser) holder;
final GDPlayerData playerData = (GDPlayerData) user.getPlayerData();
Update for 1.5.9 release. * Fix playerdata getting wrong accrued claim block value if world context existed while in global mode. * Fix Citizen NPC's being denied entry to claim when flag 'enter-claim' is false. * Fix some zh_HK translations. * Fix NPE during potion splash. * Fix enderman-grief flag definition. * Fix villager-trade flag definition. * Fix villager-farm flag definition. * Fix timing NPE in EntityEventHandler. * Fix owner name showing for enter/exit prefix in wilderness/admin claims. * Fix untamed animals being denied when attacking eachother. * Add 'claim-block-task' setting in global.conf to control whether block accrue task runs. * Add animal-block-modify flag definition. * Add ravager-block-break flag definition. * Add silverfish-block-infest flag definition. * Add new visual config setting 'cuboid-level-visuals-2d' under visual category to control whether cuboid visuals should be show during inspection of 2d claims with owner min/max level between 0-255. * Add ru_RU translations for new flag definitions. * Remove 'ForSale' click function in '/claiminfo' as it is no longer needed. * Rewrite EntityChangeBlockEvent handling. Handler will now use the proper block flag when handling source/target block changes. * (Sponge) Fix 'flowing_water' spam in gddebug. * (Sponge) Add ice form/melt detection. * (Sponge) Fix NPE in Nucleus listener. * (Sponge) Fix rent sign interval. * (Sponge) Fix compatibility with LittleTiles mod. * (Sponge) Fix inability to disable modification/investigation tool in config. * (Sponge) Fix some more debug spam during block pre event.
2021-01-08 19:59:00 +01:00
// Prevent world contexts being added when checking for accrued blocks in global mode
if (option != Options.ACCRUED_BLOCKS || GriefDefenderPlugin.getGlobalConfig().getConfig().playerdata.useWorldPlayerData()) {
PermissionUtil.getInstance().addActiveContexts(contexts, holder, playerData, claim);
}
2019-07-24 05:31:17 +02:00
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
Set<Context> optionContexts = new HashSet<>(contexts);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (!option.isGlobal() && (claim != null || claimType != null)) {
// check claim
if (claim != null) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
// check override
if (claim.isAdminClaim()) {
optionContexts.add(ClaimContexts.ADMIN_OVERRIDE_CONTEXT);
} else if (claim.isTown()) {
optionContexts.add(ClaimContexts.TOWN_OVERRIDE_CONTEXT);
} else if (claim.isBasicClaim()) {
optionContexts.add(ClaimContexts.BASIC_OVERRIDE_CONTEXT);
} else if (claim.isWilderness()) {
optionContexts.add(ClaimContexts.WILDERNESS_OVERRIDE_CONTEXT);
}
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (!claim.isWilderness()) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
optionContexts.add(ClaimContexts.USER_OVERRIDE_CONTEXT);
}
optionContexts.add(((GDClaim) claim).getWorldContext());
optionContexts.add(ClaimContexts.GLOBAL_OVERRIDE_CONTEXT);
T value = this.getOptionActualValue(type, holder, option, optionContexts);
if (value != null) {
return value;
}
// check claim owner override
optionContexts = new HashSet<>(contexts);
optionContexts.add(((GDClaim) claim).getWorldContext());
optionContexts.add(claim.getOverrideClaimContext());
value = this.getOptionActualValue(type, holder, option, optionContexts);
if (value != null) {
return value;
}
optionContexts = new HashSet<>(contexts);
optionContexts.add(claim.getContext());
value = this.getOptionActualValue(type, holder, option, optionContexts);
if (value != null) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return value;
}
}
// check claim type
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (claimType != null) {
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
optionContexts = new HashSet<>(contexts);
optionContexts.add(claimType.getContext());
final T value = this.getOptionActualValue(type, holder, option, optionContexts);
if (value != null) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return value;
}
}
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
optionContexts = new HashSet<>(contexts);
// Check only active contexts
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
T value = this.getOptionActualValue(type, holder, option, optionContexts);
2019-07-24 05:31:17 +02:00
if (value != null) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return value;
2019-07-24 05:31:17 +02:00
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
if (claim != null) {
optionContexts.add(claim.getDefaultTypeContext());
value = this.getOptionActualValue(type, holder, option, optionContexts);
if (value != null) {
return value;
}
optionContexts.remove(claim.getDefaultTypeContext());
2019-07-24 05:31:17 +02:00
}
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
optionContexts.add(ClaimContexts.GLOBAL_DEFAULT_CONTEXT);
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
if (claim != null && !claim.isWilderness()) {
optionContexts.add(ClaimContexts.USER_DEFAULT_CONTEXT);
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
}
value = this.getOptionActualValue(type, holder, option, optionContexts);
2019-07-24 05:31:17 +02:00
if (value != null) {
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
return value;
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
2019-07-24 05:31:17 +02:00
1.3.1 Update * Fix wrong type being displaying in /claiminfo. * Fix claim teleport in nether. * Fix claim visuals in/out of liquids. * Fix inventory check on interaction. * Fix walkspeed, gamemode, and weather options not resetting back to default on claim exit. * Fix option gui not displaying decimals for doubles. * Fix entity dupe on schematic restore. * Fix claim schematic creation dates on load. * Fix wither causing damage when spawned by players. * Fix ice/snow form flags. * Fix visuals not showing on snow. * Fix inability to attack tameable entities with no owner. * Fix claim cleanup task exiting prematurely. * Fix scaffolding not breaking fully. * Fix Flag GUI preset/advanced translations. * Fix '/cog <group>' not displaying options for group. * Fix option GUI toggle value hover. * Fix block burn across blocks not triggering block-spread. * Fix monsters such as phantom and ghast not being ignored during entity-damage checks. * Fixed tamed entity protection when source is not entity. * Fix snow-melt showing up as block-modify instead of block-break * Fix player buckets not checking place or break. * Fix 'fire-spread' and 'vehicle-use' flag definitions. * Fix NPE when changing claim type * Fix visuals loading unloaded chunks. * Fix player options not being set while in claim. * Fix isTileInventory check. * Fix user playerdata in PlaceHolderProvider. * Fix claim resize exploit. * Fix flag definitions GUI not showing inheritance values. * Fix entity explosion getting wrong user sometimes. * Fix tracking data not always being saved. * Fix #crops tag not working. * Fix tnt chain explosions. * Add 'player-fly-speed' option. * Add support for decimal values in option GUI. * Add missing translation when deleting all player claims. * Add restore claim in progress message. * Add pl_PL language support. Thanks to Maul for contribution * Add permission 'griefdefender.admin.bypass.pvp-creative' to bypass pvp creative protection. * Add permission 'griefdefender.user.claim.rent.base' for new '/claimrent' command. * Add permission 'griefdefender.user.claim.rent.sign' to control rent sign usage. * Add permission 'griefdefender.user.claim.sell.sign' to control sell sign usage. * Add flag definition 'turtle-egg-hatch' * Add flag definition 'falling-block-break' . * Add flag definition 'fire-entity-damage'. * Add flag/option enable control to respective configs. * Add group context support for flag definitions. * Add new context gd_claim_default=user and gd_claim_override=user which applies to all claim types except wilderness and admin. * Add owner override support with gd_claim_override=claim context. You can use this context to have owners be affected in claims. They also have the ability to toggle these. * Add villager-trade and villager-farm definitions. * Add /claimtax command. * Add /claimrent command. Note: To create a rental via command ex. /claimrent 10h - creates rental for $10 per hour ex. /claimrent 10h 5 - creates rental for $10 per hour w/ max 5 days. * Add claim restore functionality for 1.14+ servers. Note: To restore a claim, use /claimrestore * Add toggle support for isExpired in /claiminfo * Add Rent/Sell signs. * Add item frame rotation protection. * Add support for 'AsyncWorldEdit'. * Add /claimrent command for displaying rentable claims. * Add PvP config to manage pvp control. * Add PvP protection when flying during PvP. * Add PvP protection when in creative mode. * Add override support for options. * Add gd_claim_override=claim support for /cf command. * Add entity-damage logs for monster damage. * Add tracking support for piston item spawns. * Add client visual queue to avoid sending too much traffic in a single tick. Default 12 block changes per tick. See 'client-visuals-per-tick' in global.conf to change. * Add 'filler-spacing' to visual config. Default 10 * Add explosion surface blacklists for block/entities. * Add new flag 'inventory-item-move' * Add falling block tracking. * Add rent-schematic-restore-admin for controlling rent restores in admin claims. * Add explosion-cancel-block-limit for controlling explosion block size limit in devents. * Enhance claim visual functionality. * Refactor visual backend to be more efficient with server resources. * Ensure block transactions are never sent more than once to client during a single visual update. * Further enhance visual functionality with left/right clicks. * Improve '/gddebug' by adding a fully functional filter. Ex. '/gddebug record creeper' would show all actions with creeper. Ex. '/gddebug record claim' will show only claim you are standing in. * Cleanup option permission lookups. * Implement visual API. * Improve claim getChunks call. * Improve context display in debug paste. * Allow renters to interact with living entities. * Allow bank/tax systems to be used separately. * Allow pistons to be protected in wilderness. * Confirm buttons will now be invalidated after first click. * Deny owner item spawns in claim that is rented and can restore. * Deny '/giveblocks' on self. * Check max accrued blocks during /giveblocks. * Only adjust accrued blocks when using /giveblocks. * Optimize tracking data saves. * Force last active date save on player login. * Ignore drowning damage. * Move 'pvp' user definition to admin. * Change 'player-health-regen' option default to 0. * Change 'player-walk-speed' option default to 0. * Change 'tax-rate' option default to 0.1 * Change 'fall-entity-damage' to global default context. * Change 'fall-player-damage' to global default context.
2020-06-06 01:26:14 +02:00
// Check default holder
if (holder != GriefDefenderPlugin.DEFAULT_HOLDER) {
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return getInternalOptionValue(type, GriefDefenderPlugin.DEFAULT_HOLDER, option, claim, claimType, contexts);
}
return option.getDefaultValue();
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
private <T> T getOptionActualValue(TypeToken<T> type, GDPermissionHolder holder, Option option, Set<Context> contexts) {
if (option.multiValued()) {
List<String> values = PermissionUtil.getInstance().getOptionValueList(holder, option, contexts);
if (values != null && !values.isEmpty()) {
return (T) values;
}
}
String value = PermissionUtil.getInstance().getOptionValue(holder, option, contexts);
if (value != null) {
return this.getOptionTypeValue(type, value);
}
return null;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
private <T> T getOptionTypeValue(TypeToken<T> type, String value) {
if (type.getRawType().isAssignableFrom(Double.class)) {
return (T) Double.valueOf(value);
}
if (type.getRawType().isAssignableFrom(Integer.class)) {
if (value.equalsIgnoreCase("undefined")) {
return (T) Integer.valueOf(-1);
}
Integer val = null;
try {
val = Integer.valueOf(value);
} catch (NumberFormatException e) {
return (T) Integer.valueOf(-1);
}
return (T) Integer.valueOf(value);
}
if (type.getRawType().isAssignableFrom(String.class)) {
return (T) value;
}
if (type.getRawType().isAssignableFrom(Tristate.class)) {
if (value.equalsIgnoreCase("true")) {
return (T) Tristate.TRUE;
}
if (value.equalsIgnoreCase("false")) {
return (T) Tristate.FALSE;
}
int permValue = 0;
try {
permValue = Integer.parseInt(value);
} catch (NumberFormatException e) {
}
if (permValue == 0) {
return (T) Tristate.UNDEFINED;
}
return (T) (permValue == 1 ? Tristate.TRUE : Tristate.FALSE);
}
if (type.getRawType().isAssignableFrom(CreateModeType.class)) {
if (value.equalsIgnoreCase("undefined")) {
return (T) CreateModeTypes.AREA;
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
if (value.equalsIgnoreCase("volume")) {
return (T) CreateModeTypes.VOLUME;
}
if (value.equalsIgnoreCase("area")) {
return (T) CreateModeTypes.AREA;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
int permValue = 0;
try {
permValue = Integer.parseInt(value);
} catch (NumberFormatException e) {
}
if (permValue == 0) {
return (T) CreateModeTypes.AREA;
}
return (T) (permValue == 1 ? CreateModeTypes.VOLUME : CreateModeTypes.AREA);
}
Finish implementing options for next major release. * Fixed '/cfg' and '/cog' commands. * Fixed 'create-mode' not working as intended. * Fixed 'any' usage with flag commands. * Fixed 'command-execute' usage. * Fixed 'command-execute-pvp' usage. * Fixed option removal/save with LP v5. * Added context support for controlling user flag command usage. * Added context support to option GUI. * Added permission 'griefdefender.user.claim.command.flag.arg' which controls if a user can use flag command with arguments. * Added permission 'griefdefender.user.claim.command.flag.gui' which controls if a user can use flag GUI. * Added new group context '#all' which can be used to represent all sources or targets. * Removed 'max-claim-inspection-distance' from config as it is now controlled by 'radius-inspect' option. * Removed 'combat-timeout' from config as it is now controlled by 'pvp-combat-timeout' option. * Implemented the folloing new options 'player-command-enter' - Handles executing commands when a player enters a claim. 'player-command-exit' - Handles executing commands when a player exits a claim. Note: both command options support the following placeholders : %player%, %owner%, %uuid%, %world%, %server%, %location% 'player-gamemode' - Used to determine the gamemode of a player when entering a claim. 'player-deny-godmode' - Used to determine if a player can be in godmode when entering a claim. 'player-walk-speed' - Controls the player walk speed when entering a claim. 'player-weather' - Controls player local weather when entering a claim. 'pvp-combat-command' - Used to determine if a player can use commands during PvP combat. 'pvp-combat-teleport' - Used to determine if a player can teleport during PvP combat. 'pvp-combat-timeout' - Used to determine how many seconds PvP combat is considered to continue after the most recent damage. 'radius-inspect' - Controls the radius in blocks to search within when inspecting for claims. 'spawn-limit' - Used to control the spawn limit for a specific set of entities in a claim. * Only save once when toggling flag definitions that include multiple definitions.
2019-12-31 00:25:55 +01:00
if (type.getRawType().isAssignableFrom(WeatherType.class)) {
if (value.equalsIgnoreCase("downfall")) {
return (T) WeatherTypes.DOWNFALL;
}
if (value.equalsIgnoreCase("clear")) {
return (T) WeatherTypes.CLEAR;
}
return (T) WeatherTypes.UNDEFINED;
}
if (type.getRawType().isAssignableFrom(GameModeType.class)) {
if (value.equalsIgnoreCase("adventure")) {
return (T) GameModeTypes.ADVENTURE;
}
if (value.equalsIgnoreCase("creative")) {
return (T) GameModeTypes.CREATIVE;
}
if (value.equalsIgnoreCase("spectator")) {
return (T) GameModeTypes.SPECTATOR;
}
if (value.equalsIgnoreCase("survival")) {
return (T) GameModeTypes.SURVIVAL;
}
return (T) GameModeTypes.UNDEFINED;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
if (type.getRawType().isAssignableFrom(Boolean.class)) {
return (T) Boolean.valueOf(Boolean.parseBoolean(value));
}
return (T) value;
}
// Uses passed contexts and only adds active contexts
public Double getActualOptionValue(GDPermissionHolder holder, Option option, Claim claim, GDPlayerData playerData, Set<Context> contexts) {
if (holder != GriefDefenderPlugin.DEFAULT_HOLDER) {
if (playerData != null) {
playerData.ignoreActiveContexts = true;
}
PermissionUtil.getInstance().addActiveContexts(contexts, holder, playerData, claim);
}
final String value = PermissionUtil.getInstance().getOptionValue(holder, option, contexts);
if (value != null) {
return this.getDoubleValue(value);
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return Double.valueOf(option.getDefaultValue().toString());
2019-07-24 05:31:17 +02:00
}
private Double getDoubleValue(String option) {
if (option == null) {
return null;
}
double optionValue = 0.0;
try {
optionValue = Double.parseDouble(option);
} catch (NumberFormatException e) {
}
return optionValue;
}
public Optional<Flag> getFlag(String value) {
if (value == null) {
return Optional.empty();
}
value = value.replace("griefdefender.flag.", "");
String[] parts = value.split("\\.");
if (parts.length > 0) {
value = parts[0];
}
return FlagRegistryModule.getInstance().getById(value);
}
public Optional<Option> getOption(String value) {
if (value == null) {
return Optional.empty();
}
value = value.replace("griefdefender.", "");
String[] parts = value.split("\\.");
if (parts.length > 0) {
value = parts[0];
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
return GriefDefender.getRegistry().getType(Option.class, value);
2019-07-24 05:31:17 +02:00
}
public Component getEventMessage() {
return this.eventMessage;
}
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
@Override
public CompletableFuture<PermissionResult> clearOptions() {
// TODO Auto-generated method stub
return null;
}
@Override
public CompletableFuture<PermissionResult> clearOptions(Set<Context> contexts) {
// TODO Auto-generated method stub
return null;
}
@Override
public Tristate getFlagPermissionValue(Flag flag, Subject subject, Set<Context> contexts) {
// TODO Auto-generated method stub
return null;
}
@Override
public CompletableFuture<PermissionResult> setFlagPermission(Flag flag, Subject subject, Tristate value,
Set<Context> contexts) {
// TODO Auto-generated method stub
return null;
}
@Override
public CompletableFuture<PermissionResult> setOption(Option option, String value, Set<Context> contexts) {
return PermissionUtil.getInstance().setOptionValue(GriefDefenderPlugin.DEFAULT_HOLDER, option.getPermission(), value, contexts);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
@Override
public CompletableFuture<PermissionResult> setOption(Option option, Subject subject, String value, Set<Context> contexts) {
return PermissionUtil.getInstance().setOptionValue((GDPermissionHolder) subject, option.getPermission(), value, contexts);
Update for 1.2.0 release. * Implement custom flag system to allow admins to create any flag they desire with contexts. See wiki for more info. * Rewrite option and flag GUI's to be more user friendly. * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling * Refactor option system to support generics. * Add many new options. See https://github.com/bloodmc/GriefDefenderAPI/blob/master/src/main/java/com/griefdefender/api/permission/option/Options.java * Add new permission 'griefdefender.user.claim.option' to control what options user's can use in their claims. Ex. If a user tries to use 'player-deny-fly', GD will check 'griefdefender.user.claim.option.player-deny-fly' * Added the following permissions to allow admins to designate a player to manage options 'griefdefender.admin.claim.command.option.group.{type}' 'griefdefender.admin.claim.command.option.player.{type}' * Add new claim restore setting 'auto-schematic-restore'. This setting will allow servers to have newly created claims auto-generate a schematic. When these claims expire, the auto-generated schematic will be used for restore. Note: This setting is only designed for newly created worlds where players cannot build in the wilderness. Use with caution and read comments carefully. * Add new message setting 'enter-exit-chat-type'. This setting is used to control the default chat type (Chat/ActionBar/Title) used when sending enter/exit claim messages to players. Note: This can be overridden by plugins. * Add support for controlling raids. You can find the new toggle in /raid * Add various GP command aliases to make it easier for users transitioning to GD * Add confirmations for all claim delete commands. * Add GPFlags migrator. Note: When the GP Bukkit migrator is enabled, GD will automatically look for GPFlags data and migrate with claim data. * Add support for EntityCombustByBlockEvent, EntityCombustByEntityEvent, and EntityDamageByBlockEvent. * Add EssentialsX hook to deny '/fly' command when 'player-deny-flight' is true for a user * Add event result cache. * Add contexts to hover in '/cf' command * Add /givepet command * Add confirmations to abandon and delete commands * Add support for /sellblocks in economy mode * Add new messages for economy mode * Fix NPE during checkSizeLimits * Fix interactions with custom inventories. * Fix custom flags not showing up in '/cf' command. * Fix interact-inventory denying action when interact-block-secondary is true * Fix interact-inventory not checking entity ids. * Fix shovel location being reset with insufficient blocks * Fix GP Bukkit migrator not handling subdivisions properly. * Fix 'block-break' flag being ignored in wilderness * Fix invalid playerdata UUID files being loaded causing errors in console. * Fix HashSet error in TaxApplyTask * Fix 'command-execute' flag * Fix PvP setting in /claiminfo. * Fix claim overrides not checking default group. * Fix various message issues * Fix 'minecraft:air' showing up as used_item context. * Fix EntityChangeBlockEvent user tracking. * Fix abandonclaims not returning blocks to player. * Fix players not being able to use pet inventories in other claims. * Fix players being kicked when using gd callbacks. * Fix '/cf' display issues * Fix '/cf' mod id not being set properly with contexts * Fix '/cf' item id context lookups * Fix '/scb' command * Fix '/gddebug' start/end time. * Fix economy plugin detection * Fix economy mode buy/sell not applying proper funds * Fix ClaimBlocks task not depositing funds while in economy mode * Prevent /buyblocks working in economy mode * Remove economy mode check from /scb and /acb * Rewrite option and flag GUI's to be more user friendly. * Improve PermissionHolderCache * Refactor permission handling to support more permission plugins. * Refactor permission lookups to use storage directly for better context handling Note: '/lp verbose' will no longer be able to track GD flag lookups. * Increase cache to 30min * Change gddebug paste site to griefdefender.github.io
2019-08-23 22:49:00 +02:00
}
@Override
public <T> Optional<T> getOptionValue(TypeToken<T> type, Option<T> option, Set<Context> contexts) {
String value = PermissionUtil.getInstance().getOptionValue(GriefDefenderPlugin.DEFAULT_HOLDER, option, contexts);
if (value != null) {
return Optional.of(this.getOptionTypeValue(type, value));
}
return Optional.empty();
}
@Override
public <T> Optional<T> getOptionValue(TypeToken<T> type, Subject subject, Option<T> option, Set<Context> contexts) {
String value = PermissionUtil.getInstance().getOptionValue((GDPermissionHolder) subject, option, contexts);
if (value != null) {
return Optional.of(this.getOptionTypeValue(type, value));
}
return Optional.empty();
}
@Override
public <T> T getActiveOptionValue(TypeToken<T> type, Option<T> option, Subject subject, Claim claim,
Set<Context> contexts) {
return this.getInternalOptionValue(type, (GDPermissionHolder) subject, option, claim, claim.getType(), contexts);
}
2019-12-19 23:43:16 +01:00
@Override
public CompletableFuture<PermissionResult> setFlagDefinition(Subject subject, FlagDefinition flagDefinition, Tristate value) {
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
Set<Context> contexts = new HashSet<>(flagDefinition.getContexts());
Set<Context> defaultContexts = new HashSet<>();
Set<Context> overrideContexts = new HashSet<>();
String groupStr = null;
final Iterator<Context> iterator = contexts.iterator();
while (iterator.hasNext()) {
final Context context = iterator.next();
if (context.getKey().equalsIgnoreCase("gd_claim_default")) {
defaultContexts.add(context);
} else if (context.getKey().equalsIgnoreCase("gd_claim_override")) {
if (context.getValue().equalsIgnoreCase("claim")) {
iterator.remove();
continue;
}
overrideContexts.add(context);
} else if (context.getKey().equalsIgnoreCase("group")) {
groupStr = context.getValue();
}
}
GDPermissionHolder holder = GriefDefenderPlugin.DEFAULT_HOLDER;
if (groupStr != null) {
if (PermissionUtil.getInstance().hasGroupSubject(groupStr)) {
holder = PermissionHolderCache.getInstance().getOrCreateGroup(groupStr);
if (holder == null) {
holder = GriefDefenderPlugin.DEFAULT_HOLDER;
}
}
2019-12-19 23:43:16 +01:00
}
Update for 1.5.0 * Fix blockstate id lookup not using proper id when block data was different than actual block. * Fix block-break showing air as target when source block broke on its own. * Fix race condition when migrating GP Bukkit playerdata. * Fix race condition during flag definition saves. * Fix wrong owner showing in claim when non-owner changes claim type. * Fix explosions causing no sound when cancelling event. * Fix rent min message showing max. * Fix rent min payment not being applied as credit. * Fix rent restore not working on rent end. * Fix sell sign not working when rent system was disabled. * Fix '/abandonall' not giving all money back when using economy mode. * Fix '/claimsell' requiring for sale to be turned on. * Fix '/givepet' taming pets without owner. * Fix explosion sounds not triggering on cancel. * Fix pvp 'allow-fly' only affecting creative mode. * Fix confirmation message not showing after abandoning a subdivision. * Fix wrong location being checked when placing water/lava with bucket. * Fix dynmap owner style colors not being used. * Fix NPE when using /reload. * Fix ghost claim overlap error when creating claim. * Fix user showing up as cause when using rtp. * Fix high memory usage caused by GDClaimManager fastutil usage. * (Bukkit) Fix NPE during InventoryMoveItemEvent. * (Sponge) Fix explosion-surface being triggered with no settings. * Refactor CompletableFuture handling when applying LP permissions and meta to avoid race conditions. * Remove owner override context for flag definition 'fire-spread' as it doesn't affect global overrides. * Change flag definition 'turtle-egg-hatch' target from 'air' to 'turtle-egg-hatch' * Change flag definition 'snow-melt' target from 'air' to 'snow' * Change onPlayerInteractBlockSecondary event priority from lowest to low in order to support plugins that need to cancel early. * Add support for CustomItems. Any customitem used in game will show up in debug as customitems:<item_id>. You can also use customitems for modification and investigation tool in config. * Add support for Slimefun4. Any slimefun item/block used in game will show up in debug as slimefun:<id>. You can also use slimefun items for modification and investigation tool in config. * Add '/acball' command for adjusting all online players' bonus blocks. * Add '/claiminvestigate' command to investigate claims. * Add '/claimtool' to toggle claim tool usage. * Add source/target any contexts to flag definitions. * Add 'piston-protection-in-claims' setting to control piston protection within claims. * Add pvp setting 'combat-logout' to determine if a player should be killed on logout during combat. Default 'false'. * Add `projectile-impact-entity` to `endcrystal-use` flag definition. * Add aquatic target for `monster-animal-damage` flag definition. * Add `restrict-world-max-height` to determine if claiming should be restricted to world max height. Default 'true'. * Add ability to control dynmap color settings by claim type. * Add permission griefdefender.user.claim.command.info.teleport.inside which controls whether a player can ONLY teleport within the claim they are in. This is useful if players become trapped. Note: This does not allow players to teleport to any other claim except the one they are in. It can only be used if the player cannot build in claim. * Add permission griefdefender.user.claim.command.info.others.creation-date to control whether a player sees creation date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.last-active to control whether a player sees last active date in /claiminfo * Add permission griefdefender.user.claim.command.info.others.claim-uuid to control whether a player sees claim uuid in /claiminfo * All flag definitions will now persist. * Refresh player option cache on permission change. * Show TP info in '/claiminfo' when player does not have TP permission. * (Sponge) Use 'tnt' as identifier instead of 'primedtnt' to match bukkit. * (Sponge) Use 'item_frame' as identifier instead of 'itemframe' to match bukkit.
2020-08-16 06:39:38 +02:00
CompletableFuture<PermissionResult> result = new CompletableFuture<>();
if (!defaultContexts.isEmpty()) {
result = PermissionUtil.getInstance().setFlagDefinition(holder, flagDefinition, flagDefinition.getDefaultValue(), defaultContexts, true);
}
if (!overrideContexts.isEmpty()) {
result = PermissionUtil.getInstance().setFlagDefinition(holder, flagDefinition, flagDefinition.getDefaultValue(), overrideContexts, false);
}
PermissionUtil.getInstance().save(holder);
return result;
2019-12-19 23:43:16 +01:00
}
2019-07-24 05:31:17 +02:00
}