Commit Graph

6159 Commits

Author SHA1 Message Date
e94e3b7b05 Only forcefully submit a chunk if we hold the monitor.
- Properly ensures we don't try to submit chunks that already have a monitor (prevent the FAWE-freezing)
 - We can't detect if "no" threads hold the chunk's monitor, but equally that would also be kinda very bad practice.
2021-01-13 18:18:25 +00:00
eaa9872294 Revert this for now as it had unintended consquences 2021-01-13 17:36:50 +00:00
97209d5680 better locking of lighting and use correct method for relight without removing first
Fixes #847
2021-01-13 17:24:14 +00:00
b066ca8349 only relight blocks that have light 2021-01-13 17:10:08 +00:00
b1e8c6c3ba Synchronizing on accessing a lock is pointless. 2021-01-13 17:09:44 +00:00
f69b1bfb21 properly load nms chunk for lighting operations 2021-01-13 17:09:18 +00:00
b4d7562b87 Looks like automagical relighting (#838)
Fixes #686
2021-01-11 19:29:16 +00:00
74a2f02003 put MCEdit before sponge and query by file extension.
Massively reduces loading time a few addon plugins that are literally only trying to get the format of a schematic
2021-01-11 16:02:50 +00:00
ddb41a9669 With "queueing" enabled, FAWE may start attempting to place chunks before the operation is finished.
This is unnacceptable for recursive operations, thus the queue should be disable in these cases
Fixes #842
2021-01-11 15:06:55 +00:00
fa8660c7a9 More verbosely check for "scaled" in AffineTransform and override all required methods in BlockTransformExtent
- fixes #462
2021-01-11 14:21:56 +00:00
5903178c53 Fix rotate/flip applying in the wrong order
- pretty cheat fix, but it reverts to legacy FAWE behaviour
2021-01-11 13:18:24 +00:00
ae6a1f1be4 Correct rounding bevhaviour for Vector3 -> BlockVector3
- fixes #512
2021-01-10 20:49:38 +00:00
0b727d9760 Fix for OPs when "not in a region" 2021-01-10 18:51:07 +00:00
831c6f6854 fix NPE with null sourcemask on move 2021-01-10 17:36:41 +00:00
846443291f allowed regions can be null 2021-01-10 17:14:40 +00:00
febf5b0175 Slight change to wna caching
- We don't want to flush if we're setting from the main thread, as that's going to be another plugin doing it
 - It's better to have a concurrent error thrown than use a concurrent set, so concurrency issues can actually be fixed rather than handled unsafely
 - Only send chunk packets up to once a tick (it really doesn't use any memory to cache IntPairs).
2021-01-10 17:11:55 +00:00
278e9d5991 Set source masks that include the editsession's allowed regions to ForwardExtentCopies
Fixes #710
2021-01-10 14:59:21 +00:00
edc7e9028b disableQueue stops buffering, switch to enableQueue to buffer when "//move"ing
fixes #738
2021-01-10 13:22:47 +00:00
bd079421a3 fix wna/loading on non-paper servers 2021-01-10 12:37:41 +00:00
aab9958932 Fixes #221
If WE wants to add it as well, it's up to them. I asked but wiz was hostile about it.
2021-01-09 21:52:50 +00:00
6bc3dd2293 Fix wna when used internally 2021-01-09 21:27:55 +00:00
6f0180447f Don't ParallelQueueExtent if the editsession is created on the main thread. 2021-01-09 17:48:57 +00:00
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
716c22c589 Update dependency gradle to v6.8 (#835)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-08 20:18:27 +01:00
3accbb84dd Don't talk about CP 2021-01-08 14:38:41 +00:00
febcf5f76f display potentially unsafe extent message in console if no Actor 2021-01-08 14:28:09 +00:00
6b3fe20c61 revert to upstream slf4j so it's present in IDE 2021-01-08 14:24:58 +00:00
9058ecdf34 Slight performance improvement during dependency resolution 2021-01-07 21:31:24 -05:00
cbf22b8306 Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit 2021-01-06 17:06:02 -05:00
9d2c631035 **BaseBlocks are immutable 2021-01-06 21:13:32 +00:00
d691cf40f3 Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit 2021-01-06 13:34:42 -05:00
8f74186e14 *BaseBlocks are immutable 2021-01-06 18:15:59 +00:00
7afddcc411 Fix more NBT mutability issues 2021-01-06 18:00:40 +00:00
653d362806 Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit 2021-01-06 12:53:34 -05:00
1b870c5d78 Upstream/add missing y variable to generate biome (#824)
* Add the missing y variable to generate biome

* Remove unused imports

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-01-06 16:57:59 +00:00
e40e86df5f Add some more __internal__ <-> air logi
Fixes #831
2021-01-06 16:40:28 +00:00
336b90be15 Also fix CPUOptimizedClipboard 2021-01-06 13:39:25 +00:00
280ade9994 fix NBT in memory optimized clipboard 2021-01-06 13:29:52 +00:00
91de441403 No need to check WorldEdit schematics for bad entities 2021-01-05 17:21:35 +00:00
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
89cc2f9d9f Large memory use reduction when PostProcessing history 2021-01-05 15:03:47 +00:00
7c174ee6b3 Return to static "sections" in CharBlocks.
- Synchronise (lock) outside the static object
 - Reduces object creation
2021-01-05 13:51:26 +00:00
aece0229c4 Properly repeat extents for negative coordinates (#825)
An extent's content was returned flipped when applied for negative positions, as e.g. `Math.abs(-2) % 3` returns 2 instead of 1 (as 1 + -1 * 3 = -2)

(cherry picked from commit b0cf5dd2bf1b9bcbf1c7efff0fe25de7ee9a2090)
2021-01-05 14:01:11 +01:00
bfd04e4155 Revert "~1/3 faster history writing with small caching"
This reverts commit 836b7a9750.
2021-01-05 00:50:26 +00:00
836b7a9750 ~1/3 faster history writing with small caching 2021-01-04 21:25:29 +00:00
916c080310 5000th commit: Fix //download 2021-01-04 19:10:10 +00:00
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
efcca5b66f it's better not to bother with tickets to avoid tickets not being removed all the time 2021-01-01 19:49:11 +00:00
580cb4a91e add chunk tickets and don't force sync sending chunk packets 2021-01-01 18:04:30 +00:00
39b0da2b99 we do want to synchronise across the chunk when loading sections 2021-01-01 17:19:14 +00:00