Commit Graph

207 Commits

Author SHA1 Message Date
Martijn Melchers
80a8abf98e
Add issue templates for bugs & feature requests. (#312)
* Add issue templates

* Update issue templates

* Update bug_report.md

Removed bug label as I feel that should be something bloodshot adds if it's determined to be a valid bug.

Cleaned up the formatting and hide comments from coming through on issue submission using inline HTML comment tags.

* Update feature_request.md

Cleaned up formatting and hide comments using inline HTML commenting

Co-authored-by: kencinder <3614897+kencinder@users.noreply.github.com>
2020-11-23 21:03:40 -05:00
bloodshot
bd8d13d0b7 Fix GDChunk memory leak. Fixes #313
* Bump GD API on Sponge.
2020-11-23 17:32:43 -05:00
bloodshot
1541d0bb39 Fix wrong return in player pickup event. 2020-11-18 23:39:37 -05:00
bloodshot
91156f0722 Fix item locked meta not being removed on pickup.
* Fix '/claimcreate' error message on invalid type.
2020-11-18 20:31:00 -05:00
bloodshot
28622cf4f4 Update lang. 2020-11-18 11:28:42 -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
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
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
771d6eb7e5 Fix resizing cuboids to 1 block high. Fixes #264 2020-11-13 17:56:49 -05:00
bloodshot
afd3d4098e Add 'pvp_combat_active' placeholder. Fixes #306 2020-11-13 17:51:42 -05:00
bloodshot
96d3ca5c21 Fix fire-spread flag definition for users. 2020-11-13 17:39:02 -05:00
bloodshot
720c37b5dd Fix player-deny-flight not resetting on teleport. 2020-11-13 17:37:52 -05:00
bloodshot
ffcc534e35 Fix PvP option not working in claims. 2020-11-13 17:03:31 -05:00
bloodshot
57e8f41eb6 Fix PvP protection.
* Players attacking within a protected claim with no longer be protected
  if in PvP combat.
* The 'pvp-combat-timeout' will now reset properly when engaging in PvP.
* Update PermissionsEx lib.
2020-11-13 16:56:25 -05:00
bloodshot
6a2ebf2e5b Fix world configs not using lowercase name on reload. 2020-11-08 22:42:55 -05:00
bloodshot
2121e09e91 Bump to 1.5.4-DEV for next development cycle. 2020-11-08 22:30:59 -05:00
bloodshot
22e6e7246c Update for 1.5.3 release.
* Add MC 1.16.4 support.
* Fix 'permission-build' es_ES translation.
* Remove debug in SlimefunProvider.
2020-11-04 01:51:51 -05:00
bloodshot
569dd608df Check slimefun block storage during player interacts.
This should solve protection issues when a player interacts with a block
that has no corresponding TileEntity.

* Improve SlimefunProvider lookups.
* Fix slimefun item_name context.
2020-10-30 11:54:12 -04:00
bloodshot
0ac8ad89d8 Don't check isInteractable for slimefun blocks. 2020-10-29 17:30:10 -04:00
bloodshot
ff974c216d Fix town creation cost in economy mode. Fixes #289 2020-10-11 15:16:37 -04:00
bloodshot
ba722f7e52 Fix NPE during InventoryMoveItemEvent. Fixes #285 2020-10-11 15:12:15 -04:00
bloodshot
c93dad7bea Bump to 1.5.3-DEV for next development cycle. 2020-10-11 15:05:39 -04:00
bloodshot
04d82b5a65 Update for 1.5.2 release.
* Add support for MC 1.16.3
2020-09-10 23:47:19 -04:00
bloodshot
3dd074145d Update for 1.5.1 release. 2020-09-10 19:29:03 -04:00
bloodshot
0819a53e71 Fix wrong command permission for /claimcontract. Fixes #279 2020-09-10 19:12:55 -04:00
bloodshot
03f2226e9c Fix wrong permission with cuboid subdivision creation. Fixes #277 2020-09-10 19:09:11 -04:00
bloodshot
2de749037d Revert WECUI visuals on logout. Fixes #272 2020-09-10 19:06:09 -04:00
bloodshot
221399d93b Fix town children not transferring to new owner. 2020-08-30 17:26:40 -04:00
bloodshot
d65a8a5f86 Fix '/cpp' command applying permission to wrong user. 2020-08-30 17:22:22 -04:00
bloodshot
b5b61b8b7a Fix flag definition GUI not checking definition permission group. 2020-08-30 16:38:15 -04:00
bloodshot
d2f5fb3ffd Fix economy default option values. Fixes #254 2020-08-30 16:08:16 -04:00
PolyacovYury
135da4e798 Update ru_RU translations. 2020-08-30 15:59:21 -04:00
bloodshot
465db2b1d3 Update pl_PL translations.
Thanks to Maul_PL for contribution.
2020-08-30 15:43:43 -04:00
bloodshot
de072d3fa5 Fix town creation over untrusted claims. 2020-08-30 15:29:58 -04:00
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