Commit Graph

371 Commits

Author SHA1 Message Date
dordsor21
ae6a1f1be4
Correct rounding bevhaviour for Vector3 -> BlockVector3
- fixes #512
2021-01-10 20:49:38 +00:00
dordsor21
6bc3dd2293
Fix wna when used internally 2021-01-09 21:27:55 +00:00
dordsor21
31542ed4fa
Add 3D biomes to clipboards properly
- Also fix disk clipboard's size check, allowing for larger clipboards but with disabled biomes
2021-01-09 16:40:41 +00:00
dordsor21
9d2c631035
**BaseBlocks are immutable 2021-01-06 21:13:32 +00:00
dordsor21
8f74186e14
*BaseBlocks are immutable 2021-01-06 18:15:59 +00:00
dordsor21
7afddcc411
Fix more NBT mutability issues 2021-01-06 18:00:40 +00:00
dordsor21
e40e86df5f
Add some more __internal__ <-> air logi
Fixes #831
2021-01-06 16:40:28 +00:00
dordsor21
336b90be15
Also fix CPUOptimizedClipboard 2021-01-06 13:39:25 +00:00
dordsor21
280ade9994
fix NBT in memory optimized clipboard 2021-01-06 13:29:52 +00:00
dordsor21
6db588a19f
Don't allow FAWE to "deadlock" itself when post-processing history by switching to the primary ForkJoinPool
- With enough chunks waiting to write to history, it's possible to fill the secondary fork pool up with locked threads, and thus prevent any threads from actually writing their history.
2021-01-05 16:42:53 +00:00
dordsor21
89cc2f9d9f
Large memory use reduction when PostProcessing history 2021-01-05 15:03:47 +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
df48b7e81d
stop bottling clipboard sizes for no reason 2020-12-31 15:01: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
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
be44e1449c
remove mutability in clipboards (particularly clipboard pattern)
fixes #776
2020-12-11 11:34:56 +00: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
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
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
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
3b660756f6
Fix #647 2020-09-21 17:10:33 +01:00
dordsor21
fc91c3b56e
Clone mutable regions given to clipboards
Fixes #630
2020-09-18 15:02:25 +01:00
dordsor21
8e8bd810b5
Relight after completing P2 operations
teporarily fix #629
2020-09-18 12:38:17 +01:00
dordsor21
7375827844
implement getBiome(BlockVector3)
fixes #622
2020-09-18 11:52:49 +01:00
Matt
2e73746abe
Remove Kotlin (#625)
Shrinks the jar size since we no longer must bundle the Kotlin library. The downside is that some classes grew in size compared to their Kotlin versions.
Many contributors didn't care for Kotlin either.
2020-09-17 16:31:55 -04: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
Hannes Greule
0685881f64
Implement SupplyingExtent (#613) 2020-09-14 11:20:26 +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
IronApollo
1fa0777d3b Fix erosion and pull brushes
Fixes #559
2020-09-11 20:58:27 +02:00
IronApollo
dc465f7d3c Reformat, fix RichParser suggestions 2020-09-07 21:46:54 -04:00
IronApollo
6807ccd960 Reimplement Masks + Fixes
Masks Reimplemented:
    - Adjacent (~): Adjacent to a specific number of other blocks.
        - Example: ~[oak_log][1][4]
    - Extrema (#extrema): Restrict to near specific terrain extrema. The "-o" flag will only overlay existing terrain.
        - Example: #extrema[0d][45d][-o]
    - ROC Angle (#roc): Restrict to near specific terrain slope rate of change. The "-o" flag will only overlay existing terrain.
        - Example: #roc[0d][45d][-o]
    - Surface (#surface): Restrict to surfaces (any solid block touching air).
        - Example: #surface
    - Wall (#wall): Restrict to walls (any block n,e,s,w of air).
        - Example: #wall

Other Changes:
    - Minor logic change to angle mask's overlay.
    - Fixed negating air mask.
    - Added overlay flag to angle (/) mask.
2020-09-06 18:42:43 -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
NotMyFault
75cbae8261
Merge pull request #568 from HazelTheWitch/fix-spline-sweep
Fixed NullPointerException in Spline and Sweep brush
2020-08-21 18:25:09 +02:00
NotMyFault
c8a9919c63
Merge pull request #569 from IntellectualSites/feature/better-noise
Feature/better noise
2020-08-21 18:20:30 +02:00
Hazel Trinity
c725dd0b18 Uses setDirection
SweepBrush.java should be correct
2020-08-19 10:13:41 -07: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
Hazel Trinity
73d70527f3 Signed angles 2020-08-16 16:05:09 -07:00
Hazel Trinity
5a482f4d38 Fixed argument exception
If someone knows better please tell
2020-08-16 15:40:53 -07:00
Hazel Trinity
054e60729b Slightly better angle calculation 2020-08-16 02:15:05 -07:00
Hazel Trinity
5c32cc17a2 Used Reparameterized Interpolation 2020-08-16 01:11:12 -07:00