Commit Graph

15 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 bd8d13d0b7 Fix GDChunk memory leak. Fixes #313
* Bump GD API on Sponge.
2020-11-23 17:32:43 -05:00
bloodshot 4db8346de1 Another round of fixes.
* Fix NPE when creating subdivision using WorldEdit. Fixes #297
* Fix NPE when executing '/claimrent info' in non-rented claims. Fixes
  #300
* Fix TrustClaimEvent Add/Remove events not triggering. Fixes #234
* Fix TransferClaimEvent not being cancellable. Fixes #233
* Fix WE CUI visuals not showing when calling visual apply.
* Fix visualization types not changing on setType call.
* Add '%owneruuid%' support to DynmapProvider. Fixes #271
* Update GriefDefenderAPI for TransferClaimEvent fix.
2020-11-13 22:03:57 -05:00
bloodshot 06939181a7 Update for 1.4.4
* Fix /deletealladmin NPE
* Fix claim greeting showing in parent when leaving subclaim
* Fix claims being removed in current world when using world argument with abandonall and deleteall commands.
* Fix abandonclaim with ignoreclaims giving claimblocks/money to source player and not claim owner.
* Fix interact-item-secondary being triggered on left-click.
* Fix /gdreload NoSuchMethodError on 1.14/1.15 servers.
* Fix WECUI causing visual fillers to not show.
* Update kotlin-stdlib, okio, and okhttp3 libs.
* Add new visual config setting 'hide-fillers-when-using-wecui'.
* Use unmodifiable map instead of immutable copy getChunksToClaimMap.
* (Bukkit) Fix investigate claim loading chunks.
* (Sponge) Fix NoClassDefFoundError when using gddebug command.
* (Sponge) Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified.
* (Sponge) Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'.
2020-06-27 20:01:34 -04:00
bloodshot 343dfe9566 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:16:08 -04:00
bloodshot fa2b986f26 1.3.2 Update
* Fix tags not being added to contexts.
* Fix interact-entity-secondary using wrong source if item was in hand.
* Fix create limit check on shovel create start.
* Fix spawn-limit crashing server when checking wilderness limits.
* Fix sell signs being broken by non-trusted.
* Fix EntityChangeBlockEvent using owner of monster damage.
* Fix ClassCastException with WildTP.
* (Sponge) Fix schematic NPE on reload.
* Add workaround for VehicleDamageEvent passing null when source is block.
* Add bypass option support for trusted users.
* Optimize getChunks call.
* Cache user perk option lookups.
* Cache user bypass option lookups.
2020-06-07 23:02:24 -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 23e7daab72 Move playerdata file format to permissions as meta.
All file player data which stores accrued and bonus claim block totals
will now be stored with permissions as meta. This allows servers that
share permissions data across multiple servers to also provide the same
GD player data across servers if configured to do so.

In order to migrate the file player data, the following must be
configured :

1. Under the 'playerdata' section in 'global.conf', the
'context-storage-type' needs to be set to 'global', 'server', or
'world'. Read comment for more information.
2. Under the 'migrator' section in 'global.conf', the 'playerdata'
setting needs to be set to true. Make sure to read the comment carefully
as there are things to check before turning on the migrator.

As always, backup your permissions data before enabling the migrator.

Note: GD will no longer use the file player data. If you do not
migrate, all players will have 0 accrued and 0 bonus claim blocks.
Simply enable the migrator and follow the steps above to maintain the
current player data.
2020-01-25 01:07:02 -05: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 772a8d077e Update LuckPermsProvider to v5. 2019-12-28 12:35:03 -05:00
bloodshot 82c5131f01 Update API for sponge. 2019-12-19 18:21:03 -05:00
bloodshot 557f09a4de Add sponge support. 2019-11-24 17:01:05 -05:00