Commit Graph

14 Commits

Author SHA1 Message Date
bloodshot e281231d87 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-03-10 21:25:04 -05:00
bloodshot 5ec34d4a17 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 13:59:00 -05:00
bloodshot 671d63a09b 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 17:28:12 -05:00
bloodshot 11d9f1f278 More improvements and fixes.
* Add '/trapped' command to assist players when stuck.
  - Use setting 'player-trapped-cooldown' in 'global.conf' to configure the cooldown of this command. Default '300' seconds.
  - Use option 'player-teleport-delay' to add a delay when used.
* Add '/unlockdrops' command to unlock protected item drops after death.
  - Use option 'player-item-drop-lock' to control item drop protection on death.
  - Use option 'pvp-item-drop-lock' to control item drop protection on pvp death.
  Note: In order to use this feature, one of the item drop options must be enabled in 'options.conf'
* Add setting 'explosion-surface-block-level' to control surface block level during explosions. Fixes #280
* Verify chunk is loaded before sending block change to player. Fixes #309
* Remove 'player-deny-flight' option cache. Fixes #308
* Improve player afk location handling.
* Improve option config lookups.
* Update GriefDefenderAPI.
2020-11-17 02:22:52 -05:00
bloodshot 6b056d936e Fix explosions not respecting inheritance. Fixes #265
* Remove 'explosion-cancel-block-limit' as it breaks inheritance
  functionality.
2020-11-13 18:05:51 -05:00
bloodshot e8e57c5f5d 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 00:39:38 -04:00
bloodshot 26efaf2b73 Update for 1.4.7
* Fix multi-server permissions overwriting eachother when same contexts were used.
* Fix economy resize claim message showing too many decimals for balance.
* (Bukkit) Fix chunk tracking data not respecting world container argument.
* (Bukkit) Fix deny messages not appearing for bucket interactions.
* (Bukkit 1.16) Fix interact-block-secondary being triggered on non-interactable blocks.
* (Sponge) Fix enter/exit messages being triggered by non-players.
* (Sponge) Fix 'interact-entity-primary' not cancelling event if set to false.
* (Sponge) Fix wrong id used for 'item-drop' flag.
* (Sponge) Fix enderpearl being lost when teleport is cancelled.
* (Sponge) Fix bucket protection.
* Add greeting/farewell/name click support in /claiminfo.
* Add 'player-endportal-use' and 'player-netherportal-use' flag definitions.
* Remove 'player-portal-use' flag definition.
* Cache player options during movement to avoid constant LP lookups.
* Improve teleport handling.
* Ignore air blocks during explosions.
* Set block-modify to true by default for vanilla compatibility.
* The 'portal-use' flag is no longer used and has been disabled by default.
* (Sponge) 'entity-chunk-spawn' flag is disabled by default to avoid wrong usage.
* (Sponge) Ignore items and projectiles during MoveEntityEvent.
2020-07-04 21:06:59 -04:00
bloodshot d40116763b Update for 1.4.5
* Fix duplicate permission check.
* (Bukkit) Improve BlockPhysicsEvent performance.
* (Sponge) Only check collide-block if block is collidable.
2020-06-28 21:55:22 -04:00
bloodshot 5c8354563c Update for 1.4.3 release.
* Fix claim default permission lookups.
* (Sponge) Fix collide-block listener not cancelling event.
2020-06-26 20:28:48 -04:00
bloodshot 61a9d8efd1 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-05 19:27:53 -04:00
bloodshot f801c065f3 Refactor Flag Definition System. Fixes #123
The flag definition system has had a major rehaul.
The following improvements have been made :
- Support for default values that can be applied on startup.
- All definitions have been moved to its own file 'flags.conf'.
- The 'enabled' setting now works as expected.
- GUI has been updated to show all relevant context/flag information.
- Admin definitions will now display the direct result of a definition.
  Note: The final active result will show on hover.
- User definitions will only display the result of the current claim.
  Note: User's can see extra info on hover.
  Note: If a user definition has been overridden, it won't be toggable.

* Add Context/Location improvements to GDDebug.
  - Users will now be able to expand location/context columns for more
  information.
* Add version check to use proper id for flag definitions.
* Move options from 'global.conf' to its own file 'options.conf'.
* Ignore suffocation for entity damage checks.
* Fix monster projectile's not checking monster source.
* Fix 'used_item' not showing up for buckets.
* Fix flag GUI sort when changing value.
* Fix town tag not showing properly on sponge. Fixes #201
* Change permission 'griefdefender.user.claim.command.flag.arg' to
  admin.
2020-05-05 15:55:32 -04:00
bloodshot 436f053fbe 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-30 18:27:37 -05:00
bloodshot f1479a505f sponge: Fix block place handler not checking all transactions. 2019-12-23 22:56:58 -05:00
bloodshot 557f09a4de Add sponge support. 2019-11-24 17:01:05 -05:00