Commit Graph

16 Commits

Author SHA1 Message Date
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 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 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 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 b8c3bfe820 Fix users accessing trust without permission. 2020-01-16 19:28:19 -05:00
bloodshot ab6db04328 Add chat recording feature for all command GUI's.
* Improve '/trustlist' command.
  Note: This command now supports adding and removing trusted users and
  groups.
* Improve '/claiminfo' command.
  Note: Trusted users will now link to the improved '/trustlist' command.
* Fix sizing for various GUI's. All GUI's should now fill screen.
2020-01-08 23:59:26 -05:00
bloodshot d5213a3d64 Various enhancements.
* Add '/claimreserve' command for administrators to reserve claim names.
* Add support for untrusting specific type via all untrust commands.
* Add #pet context support.
* Hide teleport button if player does not have access to teleport.
* Fix pagination error when swapping between menu's.

Fixes #8
Fixes #25
Fixes #26
Fixes #91
Fixes #93
2020-01-06 16:24:24 -05:00
bloodshot 4ca3d78709 More fixes for 1.2.2 release.
* Fix claim inheritance.
* Fix getPermissionValue not continuing after matching contexts.
* Fix messages being sent to players during entity attacks.
* Fix item frame protection.
* Fix safe teleport being used for /claimspawn (temp fix)
* Fix safe teleport ending above nether.
* Fix PvP toggle not showing proper default value in /claiminfo.
* Fix a few issues with option GUI.
* Add /claimexpand <amount> [direction] and /claimcontract <amount> [direction] to resize claims without shovel.
* Add support for VehicleMoveEvent.
* Don't listen to InventoryOpenEvent. Handle inventory via interacts instead.
* Reset claim visuals on resize.
* Remove 'gd_claim_type' context as it is no longer needed.
2019-09-03 13:59:12 -04:00
bloodshot e9377d4935 Final fixes for 1.2.0 release.
* Fix user custom flag GUI init not showing USER group.
* Fix item frame protection during explosions.
* Fix entity-spawn not being triggered with slime splits.
* Fix 'SouthCorners' lang translation in /claiminfo.
* Fix 'explosion-entity' flag.
* Fix shovel visual not hitting leaves.
* Add explosion pre support.
* Add extra teleport check for claim corners.
* Add additional overlay/style for custom flags.
* Add javadocs for PermissionProvider.
* Add many improvements to custom flag GUI.
2019-08-25 04:19:31 -04:00
bloodshot 6991d6395c 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 16:49:00 -04:00
bloodshot 39af6e2430 Move all used text to language file to support translations.
* Add WorldGuard migrator.
Note: This does not support custom flags atm.
* Add message cache for all messages that do not use parameters.
* Refactor option permission lookups.
* Update kyori text dependencies.
* Minor cleanup.
2019-07-30 19:35:48 -04:00
bloodshot af5fade803 Fix /claiminfo displaying public and wilderness owner incorrectly. 2019-07-28 10:27:25 -04:00
bloodshot 347419a7fd Fix group trust.
* Fix claim type messages not being formatted properly.
2019-07-28 09:35:10 -04:00
bloodshot ba39de90ab Refactor message system.
en_US lang will be delivered with assets and will no longer be generated.

The remaining translation files de_DE, ru_RU, and zh_CN have been
removed as they will need to be translated in the new format.

Thanks to Glare for the help making this happen. Closes #9
2019-07-27 01:37:06 -04:00
bloodshot 8a8d4dd08c Add bukkit source. 2019-07-23 23:31:17 -04:00