Commit Graph

381 Commits

Author SHA1 Message Date
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
6676d77aaa
Stop writing corrupt tile entities to schematics
also make some stuff definitely immutable.
2020-12-13 21:06:36 +00:00
dordsor21
ae39f7bba3
use full chunks for distr and account for __RESERVED__ blocks
fixes #759
2020-12-11 16:13:09 +00:00
N0tMyFaultOG
197389bd32 Improve requireTag exception messages
e15d7993ada7b26784471bdb0e9550228724d900

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 22:09:36 +01: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
Aurora
3c6280b11e
Re-Implement //regen (#598)
* start reimplementing regen command

* start reimplementing regen command

* Formatting and logic tweaks.

Regen will now throw exceptions but they are not caught yet.
ConversionSessions will now be closed when no longer being used instead of left open.

* fix //regen crashing server

* added //regen support for 1.16.1 and 1.15.2

* cleanup

* Update the issue template

* improve performance of regen by a factor of 40, approx 1.2 millon blocks/second

* Update the issue template

* Update the issue template & add a config (#640)

* Update the issue template

* Add a config.yml to the issue template

* improve performance of regen by a factor of 40, approx 1.2 millon blocks/second

* Fix entity rotation (#642)

* fix entity rotation
fixes #577 
Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>

* Fix toggle permission (#644)

* Fixes #529
* fix superperms perm toggling

Co-authored-by: @weaondara <wea_ondara@alpenblock.net>

* Fix #647

* Squash errors and debug to aid fixing #652 properly

* cleanup imports

* cleanup imports 2

* cleanup imports 3

* cleanup imports 4

* add patch by @SirYwell

* aysnc world gen with features and stuff and some minor issues

* optimizations, full chunkstatus, block populators

* optimizations, cleanup

* optimizations

* fix feature regeneration, fix temp folder deletion

* cleanup

* make chunk gen multithreaded

* fix precomputation of chunk lists for RegionLimitedWorldAccess again

* added regenerator abstraction, fix aioobe while running through chunk stati

* remove override for getChunkAt in freshnmsworld

* don't use concurrent chunk gen if custom chunk generators do not support it

* distinct between generator types

* improve regen speed for overworlds

* mix

* Add message that regen might take a while

* use a shared map for FastAreaLazy, cleanup imports

* use custom concurrency levels for chunk stati and process accordingly

* implement new regen in 1.15.2 and 1.16.1 as well

Conflicts:
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_16_R1.java

* woops

* further abstraction, finalized regen impl

* Formatting

* Fix some typos, remove debug

* replace wildcard imports

* cleanup debug

* braces

* serr -> logger

* move regen impls to seperate classes

* fix world init for 1.16.1

* fix world init for 1.15.2

* fix world init for 1.15.2 #2

* use original world name for regeneration

* Update Regen_v1_15_R2.java

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_15_R2.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* Update worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/FAWE_Spigot_v1_16_R1.java

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>

* improve documentation, use parallel task count for fawe settings

* fix compile

Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>
Co-authored-by: MattBDev <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
2020-10-10 11:57:12 +02:00
N0tMyFaultOG
67cc5fb984 Merge branch 'logging' into main 2020-10-09 10:03:13 +02:00
weaondara
a64a1ab09e
Fix schem loading of sponge schems with dataversion == 1 (#690)
* fix sponge schem loading with schem version 1
2020-10-07 21:11:57 +02:00
MattBDev
f5a42c63a7 Better logger support 2020-10-06 14:44:33 -04: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
40717c23c4
If extent is world when pasting clipboard, cretae editsession
fixes #583
2020-10-01 15:02:34 +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
68deed1469
schematics are just fun 2020-09-26 21:56:38 +01:00
dordsor21
1766c62278
Attempt to recover from incorrectly-extensioned schematic reads (#660)
* Attempt to recover from incorrectly-extensioned schematic reads
 - Should help avoid #605 (I'm assuming this is the issue)
 - Possible issues with the InputStream being closed/pre-read or so? Thoughts:?

* more verbose checking in the first place
2020-09-25 15:15:00 +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
aed6807eb2
comment 2020-09-18 18:54:14 +01:00
dordsor21
cf750ba00c
Correct tag name for writing and add compatibilty for created corrupt schematics 2020-09-18 18:31:42 +01:00
dordsor21
9c34702a47
Correct tag name for tile entities 2020-09-18 18:29:36 +01:00
dordsor21
fc91c3b56e
Clone mutable regions given to clipboards
Fixes #630
2020-09-18 15:02:25 +01:00
dordsor21
07a5ef5ab4
Fix incorrect x/y/z stuff;
Fixes #616
Fixes #614
2020-09-14 20:17:55 +01:00
dordsor21
d6c9a887ac
Fixlighting now also calculates heightmaps
Fixes #386 and #438 seems fixed, but that might be something else that fixed?
2020-09-14 14:19:23 +01:00
Matt
d00899e177
More support for 3D biomes (#608)
* More support for 3D biomes

* Resolved merge conflicts
2020-09-12 15:31:42 +02:00
Matt
de199a0e59
More work on masks (#607)
* Add a #air mask, the opposite of #existing (#1511)

(cherry picked from commit 84fa2bbbc63de7bece01f41c0d5cb7d85cf129e6)

* Remove unused methods in Mask.java

* Remove `test(Extent, BlockVector3)` from Masks.

This was a poorly planned idea. This should save some memory too.

Authored-by: Matthew Miller <mnmiller1@me.com>
2020-09-11 21:13:31 +02:00
Octavia Togami
f7e1f70e19 Replace BlockStates reading with new 1.16 logic (#1413)
* Replace BlockStates reading with new 1.16 logic

* Account for running on older platforms

Splits out the new reading to AnvilChunk16, uses data version to detect
the appropriate version.

* Move data versions to Constants

Also fixes some logic hiccups that become obvious with the new names.

* Fix LegacyMapper DFU handling

* Fix factor indexing

(cherry picked from commit 8c171f0929e8530aab1731d122649adc58c5161f)
2020-09-02 11:25:50 -04:00
Octavia Togami
28767d6e0f Officially propagate GPL downwards to all files
(cherry picked from commit f2ce020da059718e34342c149172944dfd02b775)
2020-09-01 16:30:43 -04:00
MattBDev
a9d37fc6e5 Added BiomeMask.java and updated minor parts of miscellaneous files 2020-08-24 22:04:56 -04:00
MattBDev
02886b0387 Updated the WorldEdit license using find and replace 2020-08-24 21:31:47 -04:00
NotMyFault
1e070b3a71
Merge pull request #518 from aurorasmiles/fixEntities
start reimplementing entities
2020-08-21 18:27:25 +02:00
MattBDev
79b5612311 Upstream merge of the region package and things that may have broken with it. 2020-08-18 15:48:31 -04:00
wea_ondara
f24ad69f8f fix entity paste location offsets 2020-07-26 19:05:32 +02:00
Aurora
b411ea9af4 Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into fixEntities 2020-07-26 19:03:46 +02:00
wea_ondara
a38c82304a fix rotation of entities in clipboard 2020-07-26 18:26:21 +02:00
wea_ondara
50971ee311 fix entity undo 2020-07-26 15:52:51 +02:00
MattBDev
3bc692ff11 Part 1 of upstream merge and format 2020-07-13 22:50:59 -04:00
Aurora
94b1233d98
implement entities in paste -e 2020-07-03 19:52:55 +02:00
Aurora
9fc2387f11
Revert "start reimplementing entities"
This reverts commit aac02ceea1.
2020-07-01 14:54:11 +02:00
Aurora
b96d45e4e6
merge 1.16 2020-07-01 14:46:25 +02:00
Matthew Miller
4604aa5920 Additional work towards 1.16 compatibility
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.

Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
2020-06-29 22:08:16 -04:00
Matthew Miller
82adab77b4 Additional work towards 1.16 compatibility
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.

Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
2020-06-26 22:14:19 -04:00
Aurora
aac02ceea1
start reimplementing entities 2020-06-25 22:13:34 +02:00
IronApollo
238c56a3c6 Revert "Revert matt's changes"
This reverts commit bfcc6184ad.
2020-06-13 14:41:36 -04:00
N0tMyFaultOG
bfcc6184ad Revert matt's changes
Let's not break Fawe, thanks
2020-06-13 18:48:57 +02:00
MattBDev
1eacb91267 Make extent public (unsafe) 2020-06-12 21:45:49 -04:00
dordsor21
bdc14c10c7
Fix relight and removelight (#475)
* Start work on lighting engine (does not build)

* Implement getLighting

* Setting, flushing light etc works. Getting light should be working..?

* Better queue/chunk handling

* Use correct location for lighting update

* Correct set location, remove debug

* cleanup a little

* Fix fixlight

* Apply to all versions for the numpties

* Remove lighting extent if not using

* Actually bitmask blocks when setting in chunks

* Initialise Maps and Dequeues with inital size

* format

* Documentation maybe
2020-05-27 11:45:08 +01:00
dordsor21
5be11c541b Put the synchronisation higher up the food chain 2020-05-14 22:32:32 +01:00
dordsor21
2ccda85772 Fix #468
That's not how it works
2020-05-13 22:36:08 +01:00
dordsor21
32c30f45fe don't read __reserved__ 2020-05-12 11:00:54 +01:00
dordsor21
999b063762 Don't write reserved to schematics 2020-05-12 10:58:43 +01:00
dordsor21
3abf964620 Better logic for selecting schematic format.
- You had to specifically use //schem load <schematic>.schematic mcedit to load legacy schematics, now if you're loading .schematic it assumes you're wanting mcedit format
 - If you end up attempting to load an mcedit schematic with the sponge reader it now throws an exception.
2020-05-05 16:16:27 +01:00
MattBDev
aeb2820d89 Add debug message to addProcessor 2020-04-27 19:17:23 -04:00