Commit Graph

661 Commits

Author SHA1 Message Date
dordsor21
7c174ee6b3
Return to static "sections" in CharBlocks.
- Synchronise (lock) outside the static object
 - Reduces object creation
2021-01-05 13:51:26 +00:00
dordsor21
bfd04e4155
Revert "~1/3 faster history writing with small caching"
This reverts commit 836b7a9750.
2021-01-05 00:50:26 +00:00
dordsor21
836b7a9750
~1/3 faster history writing with small caching 2021-01-04 21:25:29 +00:00
Alexander Söderberg
3f0b9a2a92
Reorder BuildInClipboardFormat and document changed JNBT classes (#807)
* Get rid of FastSchematicReader/Writer and document changed JNBT classes

This commit includes changes from upstream to the schematic classes
(`com.sk89q.worldedit.extent.clipboard.io`). It also documents the JNBT
classes, specifying what has been changed in FAWE. This was done in preparation
for the upcoming move to adventure-nbt.

The PlotSquared schematic handler classes will now use SpongeSchematicReader/Writer rather than FastSchematicReader/Writer.

This is yet untested and the entire branch is a W.I.P.

* Fix JNBT mutability misuse in FAWE

FAWE previously had mutable compound and list tags. The previous commit changed that, and this commit will fix misuse of the tag API.

I've tried to identify the places where mutability was assumed, but I might have missed something. This needs quite extensive testing.

This is yet another change which increases upstream compatibility in FAWE.

* Fix FAWE_Spigot_<..>#getEntity

* Fix JNBT usage in the AsyncBlockState code

* Readd FastSchematicReader/Writer and add a new schematic format (`FAST`)

* Update dead repository

* Implement missing AsyncChunk#getTileEntities

* handle entities properly and add "brokenentity" format

* Fix fast schematic reader
lazily reading means it's read in order of appearance in the inputstream so we need to read schematic version first (skip past everything) and then reset the stream

* Fix p2 FAWE

* Go back to fast schematics in P2/CompressedSchematicTag (#819)

* Fix compile

Co-authored-by: N0tMyFaultOG <mc.cache@web.de>
Co-authored-by: Alexander Söderberg <Sauilitired@users.noreply.github.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: Aurora <aurora@relanet.eu>
2021-01-04 19:18:23 +01:00
dordsor21
39b0da2b99
we do want to synchronise across the chunk when loading sections 2021-01-01 17:19:14 +00:00
dordsor21
42346b429b
Don't synchronise across the entire edit for a single ChunkSection load (speed boost) 2021-01-01 16:48:17 +00:00
dordsor21
fbfe3221d7
Fix fast schematic reader/writer
- Have both sponge and fast r/w available but default to "fast"
 - Correctly "offset" entities in the schematic, and add a legacy mode for loading old FAWE schematics with entities required.
 - Lazily reading means it's read in order of appearance in the inputstream so we need to read schematic version first (skip past everything) and then reset the stream. Fixes #740
 - Add an FAWEVersion to the metadata
 - Correctly actually return a BlockArrayClipboard when required. Fixes #454
2021-01-01 15:01:35 +00:00
dordsor21
82f640d132
fix loading Fawe.properties 2020-12-31 17:45:07 +00:00
dordsor21
df48b7e81d
stop bottling clipboard sizes for no reason 2020-12-31 15:01:54 +00:00
dordsor21
7444c643a1
Switch to IncendoPaster "library" 2020-12-19 16:18:57 +00:00
dordsor21
e8f0c0e6ea
allow count to access "full" chunks if counting air 2020-12-17 22:05:32 +00:00
dordsor21
d379b0af9b
fix //image ane image brush
fixes #208 and fixes #698
2020-12-17 20:19:54 +00:00
dordsor21
b57c472b86
Save the get blocks to the set chunk after history is written when post-processing 2020-12-17 14:09:54 +00:00
dordsor21
d5005a04e3
Return air if attempt to retrieve block from outside range
Fixes #682
2020-12-16 19:08:00 +00:00
dordsor21
aeccce24a9
fix #550 2020-12-16 17:38:15 +00:00
dordsor21
3a3bf7382d
Update block NBT to include the coordinates when saving to history
fixes #708 and fixes #655
2020-12-16 16:59:16 +00:00
dordsor21
e4709eb6dc
idk why I did &3
half fixes #769
2020-12-16 12:34:54 +00:00
Ivan Volkov
bfc657d3f6
Schem file limits (#773)
* added filesize/file count checks for /schematic save

* fixed /schematic save, added filesize component to /schematic list

* improved /schematics list total filesize output
need to add automatic conversion into Mb in the future

* temporary fix for page wrap from MessageBox

* reverted changed to MessageBox

* applied FAWE's checkstyle where applicable

* crude fix for worldedit MessageBox line wrapping happening sometimes

* small visual adjustments

* Update worldedit-core/src/main/java/com/boydti/fawe/config/Settings.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/boydti/fawe/config/Settings.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/boydti/fawe/config/Settings.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* Update worldedit-core/src/main/java/com/boydti/fawe/config/Settings.java

Co-authored-by: NotMyFault <mc.cache@web.de>

* fixed settings variable names

* Improved `/schematic save` success/error notifications
fixed local variable names

* removed unneeded comment

* fixed typo

* made schematics in subdirectories count towards file limit

Co-authored-by: NotMyFault <mc.cache@web.de>
2020-12-12 23:38:44 +01:00
dordsor21
ae39f7bba3
use full chunks for distr and account for __RESERVED__ blocks
fixes #759
2020-12-11 16:13:09 +00:00
dordsor21
ff7c972ea6
Don't try to be clever with bitwise
Fixes #769
2020-12-11 12:55:38 +00:00
dordsor21
be44e1449c
remove mutability in clipboards (particularly clipboard pattern)
fixes #776
2020-12-11 11:34:56 +00:00
N0tMyFaultOG
b728989355 Refactor Jars to ThirdPartyManager 2020-11-01 20:56:45 +01:00
Matt
781c1e943b
Fixed dumb typo 2020-10-31 22:09:13 -04:00
Matt
9fd872a49e
Fixed dumb typo 2020-10-31 22:08:45 -04:00
Matt
985fd90ef7
Update Jars.java (#730) 2020-10-31 22:05:31 -04:00
Matt
65c0b8905f
Update SilentPlayerWrapper.java (#729) 2020-10-31 22:00:14 -04:00
Matt
0746c1185f
Update FaweVersion.java (#728) 2020-10-31 21:56:21 -04:00
NotMyFault
478ab167fa
Shift region logger to debug 2020-10-24 09:55:49 +02:00
dordsor21
c6ef1bc1de
Full support for 3D biomes (#714)
* Full support for 3D biomes
Since we're only supporting 1.15+ there's no need to try anything other than compatibility

* this is not part of the PR

* Clipboards should still always be y 0 for biomes
(this "bug" has existed for ages)
2020-10-22 22:18:16 +01:00
NotMyFault
28f5a7072d
Merge pull request #707 from IronApollo/biome-regen
Implement biome-specific regen
2020-10-22 10:57:49 +02:00
N0tMyFaultOG
d3600e4225 Remove dead config entries 2020-10-15 18:23:10 +02:00
IronApollo
e6b083554b Implement biome-specific regen
- initial biome-specific regen implementation
- RegenOptions modified to include biomeType option (null if not specified)
- Matched upstream's regen command
2020-10-13 22:43:11 -04:00
NotMyFault
b86e452b80
Add jvm flags to debugpaste 2020-10-13 15:14:55 +02:00
N0tMyFaultOG
67cc5fb984 Merge branch 'logging' into main 2020-10-09 10:03:13 +02:00
Hannes Greule
4407749219
Reimplement l2d, l3d, existing and buffer pattern (#684)
* Reimplement l2d, l3d, existing and buffer pattern
Also smaller translation improvements and cleanup

* Allow aliases in RichParser
2020-10-08 16:39:15 +01:00
dordsor21
70c40ae077
Merge branch 'main' of github.com:IntellectualSites/FastAsyncWorldEdit into main 2020-10-07 15:53:09 +01:00
dordsor21
def986710f
Remove deep synchronisation that is a very plausible cause of circular locking.
This may be a fix for #685
2020-10-07 15:52:48 +01:00
Hannes Greule
5800c0bc96
Fix copypaste brush (#688) 2020-10-07 15:32:05 +02:00
MattBDev
728ced8c06 Merge branch 'main' into logging 2020-10-06 14:47:28 -04:00
MattBDev
f5a42c63a7 Better logger support 2020-10-06 14:44:33 -04:00
Hannes Greule
f71ca32140
Reimplement biome pattern (#681)
* Reimplement biome pattern

* Improve suggestions and messages
2020-10-05 20:00:35 +01:00
Matt
96dcb95b7c
Javadoc and Formatting fixes. (#619)
Javadoc and Formatting fixes.

Also, extremely minor code changes which have been tested.
This commit is only part one of two commits that aim to fix problems with formatting in our project. In part two I will modify the Google Java Style Guide (since it closely matches our code style) for our project so there is guidance on how to format and document. 

* Updated PlotSquared URL
* Removed plugin acronyms
* Fixed a typo
* Fixed grammar
* Use modern block id's
* Update YouTube video URL
2020-10-05 13:41:41 -04:00
dordsor21
fc606ff5ff
use concurrent hashmap for thread processor cache 2020-10-04 18:34:15 +01:00
N0tMyFaultOG
9f232a9690 Enhance debugpaste information 2020-10-04 16:52:43 +02:00
dordsor21
1f02287caa
trim get where chunk SET is remembered from a previous session 2020-10-03 15:53:49 +01:00
dordsor21
6332b8c965
This ought to be false by default for now 2020-09-28 11:18:16 +01:00
dordsor21
82bcc0e9a5
Allow "post processing" of chunks (#658)
* begin allowing "post processing" of chunks
 - restores legacy capability to continue saving edits in the background after sending the chunks
 - speeds up the edit clientside
 - nail in the coffin of the terrible and staticly coded coreedit
 - We should totally make IronGolem work so Core* is no longer used by anyone

* begin allowing background history saving

* Handle post processors in queues properly

* Use futures for postprocessing so we're not waiting for them needlessly

* better use of closed boolean

* Reword
2020-09-28 11:13:02 +01:00
dordsor21
855389c785
Allow parallelisation of masks (#636)
* Allow parallelisation of masks
Increasing performance improvement with increased masking complexity and edit size.

* Address comments
 - Rename Mask#clone to Mask#copy
 - Rename Mask2D#copy to Mask2D#copy2D
 - Correct formatting

* cx -> centerX

* Make various operations relying on a single SingleThreadQueueExtent instance (mainly brushes) thread safe
2020-09-25 15:00:42 +01:00
dordsor21
5e67c1b658
Squash errors and debug to aid fixing #652 properly 2020-09-22 11:34:45 +01:00
dordsor21
3b660756f6
Fix #647 2020-09-21 17:10:33 +01:00