Jesse Boyd
4267bf1c27
Fix biome masking
2016-08-17 15:01:32 +10:00
Jesse Boyd
a2589d4493
More work on optimized MCA reader
...
+ Fix for 1.7.10 gson import error
2016-08-17 12:10:03 +10:00
Jesse Boyd
aeb13960a4
*Will work on this later
2016-08-16 20:55:26 +10:00
Jesse Boyd
08f35d420a
Fix strange schem load issue + start work on MCRExtent
2016-08-16 18:49:56 +10:00
Jesse Boyd
424bcc5d05
Fix 1.8 tile sending
2016-08-16 16:41:29 +10:00
Jesse Boyd
fb33ecf71e
*Fix for other clipboard implementations
2016-08-15 11:39:44 +10:00
Jesse Boyd
fb9bdeca7d
Fix writing tiles to schematics
2016-08-15 10:09:05 +10:00
Jesse Boyd
8ab28115a4
Fixes #236
2016-08-15 09:20:56 +10:00
Jesse Boyd
eb62377c0f
Optimizations for BukkitQueue_All
...
This queue is used to place blocks when no (fast) NMS one is found.
- Exploits a bug in vanilla relight algorithm for faster placement
2016-08-14 20:55:17 +10:00
Jesse Boyd
80045cfa6c
Properly wait for queue to flush
...
- Ensuring the queue is flushed may wait slightly longer than necessary
2016-08-14 14:26:46 +10:00
Jesse Boyd
3a3fcca8b0
Various
...
Remove numerical versioning
Fix queue relighting concurrency
Fixed fixlighting async error
Fixes for 1.7.10 + thermos
Fixed non disk schematic loading
2016-08-14 10:26:51 +10:00
Jesse Boyd
4ccfab5908
Use original prefix for system messages
2016-08-12 15:14:47 +10:00
Jesse Boyd
9519fde6bd
Fixes #209
2016-08-12 11:28:51 +10:00
Jesse Boyd
600219eb08
Fixes #214
2016-08-12 10:57:09 +10:00
Jesse Boyd
d0b5dab2a0
Various
...
Rename Favs jar and print error on failed load
LocalSession history on disk size limit per player (in MB)
Possible fix for ForgeEssentials incompatibility
2016-08-11 21:34:56 +10:00
Jesse Boyd
35883cfb16
Fixes #228
2016-08-10 17:32:05 +10:00
Jesse Boyd
5c0ae62b17
Various
...
Keep chunks loaded for at least 10s
Optimizations for 1.10
Fix cast for 1.8
Memory/Disk Optimizations for relighting large areas in unloaded chunks
Fix for clipboard entities
2016-08-10 17:18:55 +10:00
Jesse Boyd
1ed87eabbc
Various
...
Per world session history index when using disk
Configurable clipboard/history save locations
Fixed and optimized packet sending
History caching optimizations (instant now)
2016-08-09 14:32:51 +10:00
Jesse Boyd
7cf334d881
Fixes #224
2016-08-07 17:19:08 +10:00
Jesse Boyd
514b28caa4
Rollback changes
2016-08-07 07:19:02 +10:00
Jesse Boyd
c98d07039d
Buffered random access clipboard compression + schematic -> clipboard streaming
...
Also adds CPUOptimizedClipboard which has no extra compression
Note: Performance degrades if access is actually random (the buffering
optimizes sequential r/w)
Removing stream in favor of clipboard compression / disk
- In order to stream a schematic, it would need to be fully read 3 times
as tags are not ordered (dimensions -> block ids -> data + tiles +
entities)
- Much faster just using disk / memory as an intermediate step
2016-08-06 16:42:40 +10:00
Jesse Boyd
c11087334f
Fix inspect alias
2016-08-05 17:37:17 +10:00
Jesse Boyd
8e5e2ccafa
Don't wrap null player
2016-08-05 10:39:20 +10:00
Jesse Boyd
bde226e7cd
Fix NPE
2016-08-05 10:31:16 +10:00
Jesse Boyd
5eff53f1f8
Remove duplicate method
2016-08-04 20:01:47 +10:00
Jesse Boyd
5725e3bdd3
* Wrong limit used
2016-08-04 19:48:11 +10:00
Jesse Boyd
895de11a09
Fix entity mask + More work on rollback
2016-08-04 19:46:38 +10:00
Jesse Boyd
e5ebccd053
All commands translatable + Start on inspect brush
...
+ Disable AWE if present as otherwise both don't load
2016-08-03 19:23:31 +10:00
Jesse Boyd
1ca5798e9d
Begin rollback optimizations + other
...
Store rollback summary in database (option)
API improvements
Load before AWE
2016-08-03 14:43:27 +10:00
Jesse Boyd
39acae08aa
Minor API changes
2016-08-02 17:00:01 +10:00
Jesse Boyd
7c06899111
Fix fixliquid.
2016-08-01 16:41:21 +10:00
Jesse Boyd
ffc23f4020
Minor PS fix + undo fastmode error
2016-07-31 09:58:28 +10:00
Jesse Boyd
1835748d85
1 seems to have issues right now
2016-07-27 08:29:59 +10:00
Jesse Boyd
3d15022167
*remove debug msg
2016-07-27 08:04:56 +10:00
Jesse Boyd
ff60177dcc
Working async relighting
2016-07-27 08:03:51 +10:00
Jesse Boyd
23b67b3f56
[BREAKING] Is it breaking if it's already broken?
2016-07-26 10:08:32 +10:00
Jesse Boyd
06275e8d3d
[Bleeding] Lighting changes + broken
2016-07-26 10:04:19 +10:00
Jesse Boyd
4bde477206
Various
...
Fix forge multiworld
Add NMS setLight (sky/block)
Fix clipboard on disk start index
Fix cmd block data
2016-07-25 08:25:07 +10:00
Jesse Boyd
d562b6cf66
Update forge classes
2016-07-23 08:57:15 +10:00
Jesse Boyd
0849948f77
Minor change to relight chunk load
2016-07-16 04:38:45 +10:00
Jesse Boyd
c52c1bee27
Relight improvements + ports
...
6 lighting modes (0-5), see config
forge194
forge110
bukkit1710
(untested)
2016-07-15 09:53:30 +10:00
Jesse Boyd
ef06ca3b19
Proper NBT streaming + random access optimizations
2016-07-13 19:00:15 +10:00
Jesse Boyd
342c106e8c
Increase default history size
2016-07-12 18:08:26 +10:00
Jesse Boyd
87f79f9fa6
Various fixes
...
Fix undo
Fix blockshub hook
API improvements
Added worldedit from console
Fixed async world loading for paperspigot
Some minor optimizations
Added some extra translations
2016-07-12 17:54:00 +10:00
Jesse Boyd
9ed6880d1d
Various
2016-07-10 23:37:18 +10:00
Jesse Boyd
f202a563fc
Tweak no region message
2016-06-30 22:40:19 +10:00
Jesse Boyd
227ac22d15
Fix data for id=9
2016-06-30 22:11:58 +10:00
Jesse Boyd
51a8b41399
Translate navigation
2016-06-29 20:44:04 +10:00
Jesse Boyd
af6c80901a
Update some classes
2016-06-29 15:25:27 +10:00
Jesse Boyd
b56a6d4b7c
Fixes #168
2016-06-29 03:15:06 +10:00
Jesse Boyd
1867a41d8a
Fixes #166
2016-06-29 03:03:27 +10:00
Jesse Boyd
ff59a61046
*Fix history limit
2016-06-29 01:56:56 +10:00
Jesse Boyd
a521cb9ac3
Prevent chunk unload during async relight + delay tasks
2016-06-28 22:09:47 +10:00
Jesse Boyd
478cbbf393
Per player history size (in MB)
2016-06-28 20:22:31 +10:00
Jesse Boyd
e8ae5ca119
Fixes #166
2016-06-27 23:56:11 +10:00
Jesse Boyd
a21390c9cf
Minor fix
2016-06-27 18:40:19 +10:00
Jesse Boyd
3f6abb1c6f
Close after write
2016-06-24 16:22:38 +10:00
Jesse Boyd
2c0a47c60f
Fix chunk listener items and tweak p2 mask.
2016-06-24 15:38:30 +10:00
Jesse Boyd
cf397524ff
Fix other forge compile issues
2016-06-22 16:02:50 +10:00
Jesse Boyd
27d5e9e1aa
Add cmd brush
2016-06-21 23:47:40 +10:00
Jesse Boyd
2e0a37c1de
*
2016-06-21 22:28:22 +10:00
Jesse Boyd
615c51d948
Add voxel shortperm
2016-06-21 21:38:58 +10:00
Jesse Boyd
e4b1cc376b
Document some stuff
2016-06-21 20:35:09 +10:00
Jesse Boyd
52024b4c2e
Compression tweak
2016-06-21 17:03:43 +10:00
Jesse Boyd
8555276a78
Various
...
Fixed slow bukkit api placer (if no NMS placer exists) (it will try to
stay above 18.5 TPS)
Added more messages to translations
Added copy brush
Added resizable clipboard builder (API)
Added image download
2016-06-21 15:53:52 +10:00
Jesse Boyd
990d2fcbb0
Fix logging
2016-06-20 15:36:10 +10:00
Jesse Boyd
598928053d
Fix rollback
2016-06-20 14:57:39 +10:00
Jesse Boyd
0d7c0474cc
Various fixes
2016-06-20 14:06:14 +10:00
Jesse Boyd
706b44a26a
Fixed schematic exporting (mostly)
2016-06-20 01:34:02 +10:00
Jesse Boyd
4c59ffc371
Various
...
Fixed entity copy, tree gen, snow height, reload history limit,
2016-06-19 12:24:28 +10:00
Jesse Boyd
fa090ee6bf
Fixes #135 (superpickaxe)
2016-06-18 11:13:06 +10:00
Jesse Boyd
d6da78251e
Tweak parallel startset
2016-06-17 23:20:49 +10:00
Jesse Boyd
3bab344656
Fix hasFastMode and combine stages
2016-06-17 16:38:29 +10:00
Jesse Boyd
97a0126fd1
Sync regen to the calling thread
2016-06-17 15:26:18 +10:00
Jesse Boyd
9bf2d2b0c3
Various
...
Update to PS 3.4.1
- Added various optimizations for PlotSquared
- Support full schematic exporting (includes NBT now)
Added compression level option:
0 is no compression
1-9 = varying levels of compression at the expense of CPU
3 = Good fast compression
5 = Good high compression
8 = Lots of compression (going further has diminishing returns)
Add EditSession builder (for extra control over optimizations)
Added compression option to FaweChangeSet constructor
Added FAWE format (used for history / clipboard on disk)
Various minor optimizations
TODO bug fixes
2016-06-16 20:25:21 +10:00
Jesse Boyd
7bc7f5841f
Clipboard upload/download
2016-06-10 18:47:55 +10:00
Jesse Boyd
942e32d827
Add size restrictions
2016-06-10 13:16:10 +10:00
Jesse Boyd
d6902866c4
Add structure format
...
(for structure blocks)
2016-06-10 13:10:40 +10:00
Jesse Boyd
92ccbfcdcd
Fixes #147
2016-06-10 05:10:56 +10:00
Jesse Boyd
40c6e781a6
Update to 1.10
2016-06-09 17:50:19 +10:00
Jesse Boyd
0c8291bbc8
forge message color
2016-06-07 07:50:12 +10:00
Jesse Boyd
b30007a4e4
Fix for forge
2016-06-06 18:46:02 +10:00
Jesse Boyd
ed08bf8a9c
Fixes fixlighting
...
Relates to #140
2016-06-06 17:04:16 +10:00
Jesse Boyd
62e40bd9b6
Fixes for unused EditSessions clogging queue
2016-06-06 10:58:13 +10:00
Jesse Boyd
c1b22fbb21
Fixes #136
2016-06-04 03:33:28 +10:00
Jesse Boyd
3c0a2bd67e
Superpickaxe async
2016-05-31 00:30:16 +10:00
Jesse Boyd
cc4f654941
debug failed queue initialization
2016-05-30 00:24:24 +10:00
Jesse Boyd
a05ae2e550
Various fixes for VS / WE
2016-05-28 08:37:16 +10:00
Jesse Boyd
b168d1b336
Various
...
Fix entity y value not within chunk
Fix combined stages CPUOptimizedHistory not restoring air in existing
sections on undo
Change EditSession to wait for completion on flush (you should be
flushing it async)
Added setting for edit session history with no session
2016-05-26 05:29:55 +10:00
Jesse Boyd
4ac02d6297
Fixes #121
2016-05-23 23:00:33 +10:00
Jesse Boyd
e8d76e3f3a
VS history on disk/undo/rename perform to //p
2016-05-23 06:38:59 +10:00
Jesse Boyd
8a91f09192
Fix vs mask
2016-05-23 05:01:29 +10:00
Jesse Boyd
c950b7554d
async bukkit wrappers / vs hook / api changes
2016-05-23 03:37:55 +10:00
Jesse Boyd
a4353bb760
Forge fix
...
Fixes #119
Close #120
2016-05-22 20:36:05 +10:00
Jesse Boyd
958f40fcbf
Make API methods static
2016-05-22 17:51:28 +10:00
Jesse Boyd
ba2f9159b6
Get entities sync
2016-05-20 23:49:09 +10:00
Jesse Boyd
6993e4d8ed
Fixes #111
2016-05-20 18:20:53 +10:00
Jesse Boyd
987ea4110a
*forgot this
2016-05-20 18:17:19 +10:00
Jesse Boyd
37f2ef9765
Avoid duplicate wrapping
2016-05-20 18:16:26 +10:00
Jesse Boyd
6c14c13ceb
Fix move / 19R2 entity packet sending
2016-05-20 18:14:21 +10:00
Jesse Boyd
9e128b8d0c
Fix entity create/remove
2016-05-20 04:43:28 +10:00
Jesse Boyd
54864b73d2
Various
...
centralize error handling
fix tile entities (undo/redo)
2016-05-19 17:41:55 +10:00
Jesse Boyd
ee38591c37
fix
2016-05-17 20:11:00 +10:00
Jesse Boyd
90b5bb2801
block registration / p2
2016-05-17 20:00:08 +10:00
Jesse Boyd
183fcccc64
Stair/Rod rotation
2016-05-15 03:01:15 +10:00
Jesse Boyd
0bc703e1b9
Forge/Sponge 3.5.0
2016-05-14 23:38:07 +10:00
Jesse Boyd
00c685cd93
Various
...
add git revision to jar
fix fixlighting
fix fallback bukkit queue
(currently not stable for forge/sponge)
2016-05-13 18:19:18 +10:00
Jesse Boyd
b5a8eb2176
Various
...
update to 1.9.4
progress notifications
lighting fixes
optimizations
Only stable for bukkit 1.8/1.9
2016-05-13 18:19:18 +10:00
Jesse Boyd
1d5765e8cc
Various
...
fix pom
combine stages
work on efficient handling tiles / entities in changeset
other minor restructuring
(Currently only stable for bukkit 1.8 with
Settings.COMBINE_HISTORY_STAGE=true)
2016-05-06 08:59:21 +10:00
Jesse Boyd
c599e75fa6
Have NullExtent extend FaweRegionExtent instead (more uses)
2016-05-02 13:19:25 +10:00
Jesse Boyd
d7f121f8a9
Fix regen
2016-05-02 13:14:13 +10:00
Jesse Boyd
bf0903246b
Use clipboard instead
2016-05-02 13:06:23 +10:00
Jesse Boyd
a7cc08a882
cap height at 255
2016-05-02 12:09:21 +10:00
Jesse Boyd
9f0602f2ec
Various
...
Fixes #89
brush fixes
optimizations
restructure
etc
2016-05-02 12:04:28 +10:00
Jesse Boyd
ea6840535a
fix translation problem
2016-05-01 21:11:16 +10:00
Jesse Boyd
024d46be78
Various
...
Fixes #68
Fixes #69
Fixes #80
Fixes #70
Fixes #72
added heightmap brush
2016-05-01 11:10:39 +10:00
Jesse Boyd
b9f2671166
Fix gravity brush expecting blocks to be set instantly
2016-04-30 17:07:37 +10:00
Jesse Boyd
19c0e03989
Various
...
Fixes #71
Fixes #65
Fixes #81
Fixes #73
Fixes center for opposite sign x/z
2016-04-30 12:49:23 +10:00
Jesse Boyd
06a548e09e
Various
...
Fixes #62
Fixes #63
Fixes #64 (maybe)
Fixes #66
Fixes #61
Fixes #67
Minor cleanup
2016-04-30 07:24:59 +10:00
Jesse Boyd
3b9408d381
Various
2016-04-28 15:00:49 +10:00
Jesse Boyd
4ec9ed3a8d
Various
2016-04-28 08:10:17 +10:00
Jesse Boyd
72bd48a57d
Fixes #58
2016-04-27 09:09:01 +10:00
Jesse Boyd
aec27d0e09
Set command optimizations
2016-04-27 05:51:22 +10:00
Jesse Boyd
9a3daaa383
Fixes #44
2016-04-26 11:15:48 +10:00
Jesse Boyd
143847816f
Fix brush iterations
2016-04-26 08:39:19 +10:00
Jesse Boyd
8609741555
Lazy copying
...
> /lazycopy
> 92083901 block(s) were not copied. I'll do it later, promise!
Basically it will copy it on the fly whenever you decide to do something
with it e.g. paste or save it as a schematic.
2016-04-26 08:08:10 +10:00
Jesse Boyd
57696f25f4
Finish clipboard on disk
2016-04-26 04:14:41 +10:00
Jesse Boyd
644dfc512a
*correct id
2016-04-25 07:07:27 +10:00
Jesse Boyd
362490938c
Added option clipboard on disk
2016-04-25 06:59:25 +10:00
Jesse Boyd
912ea44cc8
Fixes
...
Fixes #51
Fixes #49
2016-04-25 04:54:32 +10:00
Jesse Boyd
0da4f6f63a
Fixes #48
2016-04-25 02:20:26 +10:00
Jesse Boyd
053d7a6482
Restructure
2016-04-24 06:41:07 +10:00
Jesse Boyd
14dd048662
API and brush improvements.
2016-04-23 02:11:46 +10:00
Jesse Boyd
70362d348f
Fix for forest / bump version
2016-04-22 09:12:38 +10:00
Jesse Boyd
e158b4d222
Minor tweaks
2016-04-22 07:10:41 +10:00
Jesse Boyd
fd37adaac8
I realize that you won't be able to see all 512
2016-04-22 06:12:40 +10:00
Jesse Boyd
d38db03600
Rollback optimizations / features
2016-04-22 05:59:24 +10:00
Jesse Boyd
7e0964c118
Use default bukkit block placer if NMS fails
...
The default block placer uses only the Bukkit API to perform changes.
- It's a bit laggy for larger changes
- Still a lot faster than normal WorldEdit
2016-04-22 01:41:41 +10:00
Jesse Boyd
a7763cd8fd
Add support for FactionsOne
2016-04-21 15:53:37 +10:00
Jesse Boyd
bf7d066520
History on disk rollback command
...
Useful for undoing specific edits.
2016-04-21 14:07:28 +10:00
Jesse Boyd
652a983907
Workaround for CoreProtect logging
2016-04-21 09:40:14 +10:00
Jesse Boyd
e5590ed12f
Queue optimizations + WorldGuard global region
2016-04-21 07:53:06 +10:00
Jesse Boyd
9f289f8fac
Debug failed chunk load.
2016-04-21 05:05:11 +10:00
Jesse Boyd
de08ef85d7
Fix limits / add cancellation messages
2016-04-21 04:22:47 +10:00
Jesse Boyd
c1acacc208
Add bindings for different architectures
2016-04-20 23:59:21 +10:00
Jesse Boyd
bdec0b7ef4
Delete old history
2016-04-20 10:06:35 +10:00
Jesse Boyd
01d5601b5b
Fix for CuboidClipboard rotation
2016-04-20 09:03:50 +10:00
Jesse Boyd
03a2dfec3f
Fix method signiture for CuboidClipboard
2016-04-20 07:17:24 +10:00
Jesse Boyd
a8e335e23c
Various
...
- delete session on logout
- load session on world change (disk)
- set default chunk wait to 100ms
2016-04-20 06:30:34 +10:00
Jesse Boyd
33f3cb6ba5
Optional async relighting
2016-04-20 04:11:09 +10:00
Jesse Boyd
505e99b488
Optimizations for 1.9
2016-04-20 01:22:36 +10:00
Jesse Boyd
e535f8adc9
Lastmask / preciousstones fix
2016-04-19 06:48:58 +10:00
Jesse Boyd
f8e1bb0b71
Use blocking queue
2016-04-19 05:07:50 +10:00
Jesse Boyd
9cf4f6c9f0
More optimizations!
...
Schematics now load in a fraction of a time. (took me 5.13 seconds to
load a 102,572,228 block schematic)
Also made some minor optimizations here and there.
2016-04-18 04:54:27 +10:00
Jesse Boyd
d6ad027fc8
Fix block rotation corrupting block cache
2016-04-17 05:15:21 +10:00
Jesse Boyd
e413318fb7
Fix regen for non cuboid / vp2 / clear sessions on logout
2016-04-16 22:31:20 +10:00
Jesse Boyd
72933df640
Add allowed extents section to config
2016-04-16 19:31:18 +10:00
Jesse Boyd
04e281e72d
Fix deform
2016-04-16 18:16:08 +10:00
Jesse Boyd
3f9e202f3a
clipboard optimizations
...
Encode the block as a single byte if possible
Don't bother storing air
Use the block cache where possible
2016-04-15 18:39:36 +10:00
Jesse Boyd
aa06bc19d2
Workaround for WorldEdit's sign bug
2016-04-15 06:29:30 +10:00
Jesse Boyd
e87f804236
Fixes #28
2016-04-15 02:30:02 +10:00
Jesse Boyd
5097f0cf63
Fixes #30
...
The CuboidRegion class will now queue blocks in layers for a chunk
before moving onto the next chunk. This results in higher cache hits for
history enabled queues. It also allows the block placer to start earlier
during preprocessing with edits affecting > 64 (configurable) chunks.
Note: with history on disk enabled, this means near unlimited sized
edits (for certain commands) might be feasible.
2016-04-15 00:18:22 +10:00
Jesse Boyd
caa0e475ad
Have regen respect protection
2016-04-14 19:22:13 +10:00
Jesse Boyd
9f57b89756
Fixes #27 (/up and /ceil)
...
Also change the commands to go through the editSession so it can be
restricted/undone
2016-04-14 18:27:02 +10:00
Jesse Boyd
04dab97460
Added regen for forge ( #23 )
2016-04-14 18:07:51 +10:00
Jesse Boyd
fff311a99f
Fixes #23
2016-04-14 07:31:02 +10:00
Jesse Boyd
5b3e0973f2
Fixes #21
2016-04-13 20:04:01 +10:00
Jesse Boyd
42654bd784
Various
...
fix a few async issues (nbt setting/cut/plotsquared hook)
fixes #1
allow some debug options to be configurable (chunk wait / buffer size)
add region restriction option
2016-04-07 06:19:17 +10:00
Jesse Boyd
ab4af2741f
Prefix
2016-04-06 03:02:15 +10:00
Jesse Boyd
fb4ed9362d
Various
...
per player limits
- max blocks
- max checks
- max fails
- max entities
- max blockstates
Also add command limit
Fix negative coord compression issue
2016-04-06 01:11:24 +10:00
Jesse Boyd
ba04eb9fc8
Cleanup / persistent history
2016-04-05 02:07:36 +10:00
Jesse Boyd
0dfbd44c72
Faster compression
...
Using java's inbuilt compression algorithms (gzip or deflator both) was
a bit too slow for me.
Fawe is now using the LZ4 compression algorithm, which is super fast. So
fast that I decided to add a default 1 pass of compression to history.
Enabling further compression will do an additional high LZ4 compression.
2016-04-04 18:39:00 +10:00
Jesse Boyd
fb15a425a7
Queue, editsession and history optimizations
...
Streamlined the queue so now the queue doesn't need to be fetched on
each block
Removed block reording from editsession as it alone takes half a
second/million blocks
Replaced block fetch from history extent with optimized algorithm.
2016-04-04 04:03:35 +10:00
Jesse Boyd
0c55e3c7cb
Clipboard compression
...
Reduce the size of the clipboard by encoding the BaseBlock as a short
array, with an accompanying map for nbt.
2016-04-03 17:13:22 +10:00
Jesse Boyd
d11bb1ac0a
Fix for nbt
2016-04-03 05:19:14 +10:00
Jesse Boyd
789098dc79
Finish with sponge depend
...
Also fix 1.8 issue for kh498
2016-04-03 02:50:50 +10:00
Jesse Boyd
fb8863cd06
Start work on forge port
2016-04-02 16:58:42 +11:00
Jesse Boyd
a924dcd66a
Fix errors
2016-04-02 15:25:04 +11:00
Jesse Boyd
e71fd64e9c
Add gradle project
2016-04-02 15:06:24 +11:00