Commit Graph

223 Commits

Author SHA1 Message Date
Andriy Kushnir 601ee8654f
Fixed missing initialization for startCorner/endCorner fields in ChangeClaimEvent.Resize (#261)
* Fixed missing initialization for startCorner/endCorner fields in ChangeClaimEvent.Resize

* Fixed initialization of startCorner/endCorner in Claim#resize()

Signed-off-by: Andriy Kushnir (Orhideous) <me@orhideous.name>

Co-authored-by: FireShine <m.pomeshchikov@mail.ru>
2020-08-30 15:05:58 -04:00
bloodshot f258fb95e1 Bump to 1.5.1-DEV for next development cycle. 2020-08-30 14:56:15 -04: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 a496b7fd6c Update for 1.4.6
* Fix dispenser handling. The item-spawn flag will now be used.
* Fix '/abandonworld' NPE with offline users.
* Fix entity damage listener ignoring monster permission checks.
* Fix player-damage, damage-animals, and pvp flag definitions not including projectile-impact-entity.
* Fix wrong target id used for armorstand, enderpearl, and endercrystal flag definitions.
* Fix vanilla functionality breaking with entity-damage and projectile-impact-entity defaulting to false.
  These flags will now default to true with definitions handling protection scenarios.
  This should fix various compatibility issues such as zombies not being able to attack villagers.
* Add /gdblocktransfer to transfer ALL player accrued/bonus claimblocks into currency for economy mode use.
* Add /gdconfirm to confirm chat confirmations.
* Add 'player-villager-damage' admin flag definition.
* Add 'entity-armorstand-damage' admin flag definition.
* Add 'entity-itemframe-damage' admin flag definition.
* Change 'fire-spread' flag definition context from gd_claim_default=global to gd_claim_override=global.
* Improve /playerinfo UI.
* Disable /sellblocks while in economy mode.
* (Bukkit) Rewrite piston protection.
2020-07-02 16:33:38 -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 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 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 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 1639945a1d 1.3.4 Update
* Fix deleteChunkHash NPE.
* Ignore '/claimrent' command in wilderness.
2020-06-08 17:50:17 -04:00
bloodshot cf2d6047cb 1.3.3 Update
* Fix startup NPE with 1.8.8 and 1.12.2.
* Fix another bug related to ghost claims.
* Fix withers using owner for block break.
* Fix ice being ignored.
* Fix context exception when using wilderness in default/override flag
  definition.
* Add support for multiple default/override contexts in flag definitions.
* Move chat input handling to lowest event priority.
* (Sponge) Fix debug not turning off properly.
* (Sponge) Fix walk/fly speed checks by rounding result.
2020-06-08 15:19:09 -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 53176a7f90 Allow pistons to be protected in wilderness. 2020-05-07 03:27:31 -04:00
bloodshot 67e5641d40 Add tracking support for piston item spawns.
This will allow servers to stop piston farms spawning items.

Ex. If you want to stop pistons from spawning items in all basic claims
you would enter the following command

'/cf item-spawn any false context[source=piston, override=basic]'
2020-05-07 03:21:14 -04:00
bloodshot d6b2958580 Allow default flags to be removed in claim tab by admins. 2020-05-07 00:48:55 -04:00
bloodshot 973c45d1ee Fix build error. 2020-05-06 22:54:48 -04:00
bloodshot 0f1882c387 Fix 'fire-spread' and 'vehicle-use' flag definitions. 2020-05-06 22:51:41 -04:00
bloodshot be212c8761 bukkit: Fix player buckets not checking place or break. 2020-05-06 22:48:03 -04:00
bloodshot 0893621bb3 Fix invalid context when using group key in command. 2020-05-06 12:32:18 -04:00
bloodshot 7c9df62c44 Fix pvp user flag definition.
* Show active result for user flag gui.
* Improve layout for active result.
2020-05-06 02:09:00 -04:00
bloodshot 9116bf5722 Revert flag definition description fix.
If descriptions are showing wrong language. Wipe the 'flags.conf' to
regenerate from lang file.
2020-05-05 17:56:13 -04:00
bloodshot 1813bd06f4 Fix flag definition description translations.
* Add missing description from 'block-trampling'.
2020-05-05 17:46:27 -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 8391686828 Remove old meta check in cf command. Fixes #159 2020-05-02 13:12:46 -04:00
bloodshot 823fc88a21 Fix claim create limit checks not using type.
* Fix lava/water not forming cobblestone.
2020-05-01 19:53:47 -04:00
bloodshot 9221f7f50f Force chat record timeout on player logout. 2020-04-30 21:17:07 -04:00
bloodshot d8e6acce55 Force chat command input timeout on logout.
Fixes #196
2020-04-30 21:11:51 -04:00
bloodshot 69b37bc95c Fix trust GUI not showing text without chat perm.
Fixes #178
2020-04-30 18:28:40 -04:00
bloodshot 051632eba6 Prevent TP if world is not loaded. Fixes #191 2020-04-30 18:26:35 -04:00
bloodshot c3b6e3b6fb Fix wrong data passed in block form/spread events.
* Fix entity block damage being ignored in wilderness.
* Fix owners not being able to damage untamed animals.

Fixes #195
Fixes #174
Fixes #167
2020-04-30 12:57:33 -04:00
Jesse McKee 3dbce18e82
Allows claims to update on dynmap (#173)
Change from Sponge event listeners to Kyori listeners
2020-04-20 11:57:14 -04:00
kencinder bfc5e08c38
Fix enderman-grief preset (#172) 2020-04-20 11:56:24 -04:00
bloodshot 6f96c90d9d Add support to clear claim names. Fixes #158 2020-04-09 17:59:46 -04:00
bloodshot d043037d26 Fix NPE during pvp protection checks. 2020-04-09 15:57:49 -04:00
bloodshot e79100c6f1 Ignore observers during block tracking. Fixes #164 2020-04-09 15:32:27 -04:00
bloodshot 17ac028d7c sponge: Add username underscore debug fix. 2020-04-09 15:28:11 -04:00
bloodshot 9df1cbc7f9 Fix username underscores in debug. Fixes #143 2020-04-09 15:22:11 -04:00
bloodshot b69255db4b sponge: Fix accrued and initial block migration.
Fixes #156
2020-04-09 13:53:01 -04:00
kencinder a0727494e1
Fixes for #154 (#162)
* Update GDFlagDefinitions
2020-04-08 01:35:47 -04:00
bloodshot c1e5843482 Add perm check when changing claim type to town.
* sponge: Fix expiration cleanup interval not being passed to task.
2020-03-31 01:58:08 -04:00
Hutchy 80964978bc
Fixed NPE when checking username (#153) 2020-03-31 00:50:13 -04:00
Hutchy 189187fd25
Added dynmapProvider toggle (#144) 2020-03-27 17:33:13 -04:00
bloodshot 9434871d17 sponge: Fix claim getPlayers method. Fixes #150 2020-03-27 17:26:25 -04:00
Hutchy ab9250d67e
Fixed null check running before Dynmap API fully loads (#137) 2020-03-11 12:37:55 -04:00
bloodmc 371aa8aa4d
Update README.md 2020-03-08 00:53:13 -05:00
Bryce Browner 258441bdcb
Update metadata versions, description strings, and README.md (#129) 2020-03-08 00:43:10 -05:00
Bryce Browner 21a30b7984
Fixed sponge claim migrator to find GP config directory via API (#130) 2020-03-08 00:32:09 -05:00
Hutchy 27c4b80954
Entity-Riding and safe teleports (#126)
* Fixed dismount being blocked

* Added safe teleports for flying and entity-riding

* Cancel move event on teleport
2020-03-07 23:42:59 -05:00
bloodshot c1acd88667 Remove LP user cache to fix rollback issues. 2020-02-25 18:45:19 -05:00