Commit Graph

2037 Commits

Author SHA1 Message Date
NotMyFault
51487135bb
Adding a try-catch for some edge scenario Fawe failing to grab Mojang assets 2021-03-22 18:17:46 +01:00
dordsor21
d224d6ea32
Add synchronization to CharBlocks (#963)
similar to ChunkHolder, it represents an internal chunk for which operations should not be accepted by multiple threads at once.

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-03-15 18:33:21 +00:00
Hannes Greule
20424b081c Allow none as image in height brush, fixes #969 2021-03-14 22:00:05 +01:00
Hannes Greule
d974164204
Switch from PropertyKey enum to class (#971)
* Switch from PropertyKey enum to class

* Fix generic toArray
2021-03-14 19:38:11 +00:00
NotMyFault
bc64eaff1c
Merge upstream 2021-03-13 10:59:17 +01:00
NotMyFault
6476345e44
Implement missing methods 2021-03-12 12:23:44 +01:00
NotMyFault
5acd1d7b95
Improve note about loading invalid schematics via FSR and SSR 2021-03-08 16:34:16 +01:00
NotMyFault
99ea64fa4e
Add a couple of permissions 2021-03-06 20:22:39 +01:00
dordsor21
7a0dc39eb7
Apply a lot of synchronization to ChunkHolder (#941)
This is basically the main "chunk" class for internal FAWE. Chunk operations should (and are) almost always single-threaded operations, however, under certain circumstances it is possible for the chunk to be "called" (flushed: written to the world and sent to the player) from a separate thread. This would specifically occur from SingleThreadQueueExtent when there are a lot of chunks being loaded in memory by FAWE (where the chunk would then be submitted to a multi-threaded queue). It would therefore be possible for a thread accessing the chunk to attempt to access it in the middle of the call, which can lead to a number of issues, and it is my opinion that the most frequent of these is the NPE seen during lighting operations, where new chunks can be accessed/loaded very quickly, increasing the likelihood for the aforementioned synchronisation issue to occur.

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2021-03-03 15:26:00 +01:00
NotMyFault
6bd866bdf7
Making renovate happy
Closes #940
Closes #933
Closes #931
2021-02-27 15:52:50 +01:00
NotMyFault
0b65533294
Show a message with install instructions when running the jar file
Co-Authored-By: Matthew Miller <mnmiller1@me.com>
2021-02-25 22:58:17 +01:00
NotMyFault
4af3cc6e4c
Closes #929 2021-02-22 11:13:08 +01:00
NotMyFault
4a6af7182a
Improve per-player schematic declaration 2021-02-22 10:47:34 +01:00
Aurora
e550189cb8
Add more debug output to find a error (#924) 2021-02-19 20:19:19 +01:00
NotMyFault
80b6a100e8
Switch to vanity url 2021-02-16 23:49:04 +01:00
NotMyFault
0a721b18ce
Implement methods 2021-02-14 19:56:05 +01:00
MattBDev
20304bf7ad Cherry-pick build-script changes from upstream 2021-02-11 12:00:28 -05:00
MattBDev
8981a5c484 Merge remote-tracking branch 'origin/main' 2021-02-11 11:45:11 -05:00
NotMyFault
eead11f32a
Fixes #265 2021-02-08 13:20:56 +01:00
dordsor21
5f83643d88
Couple of command fixes
fixes #899
2021-02-05 23:20:15 +00:00
NotMyFault
3df080abe4
Add note if clipboard >= Integer.MAX_VALUE 2021-02-05 13:21:15 +01:00
Octavia Togami
8b1f043dc5 Update so many dependencies, merge Forge/Fabric for final jar (#1651)
* Update so many dependencies, merge Forge/Fabric for final

* Clean up contrib docs for Gradle change

* Fix setting compat flags while using toolchain

* Fix deprecation in doc printer

* Restore proper forge JAR name

* Add dist classifier for mod jar

* Properly relocate new bStats

* Fix jar used from fabric

* Fix fabric bom

* Dup the shaded classes for consistency

* Sync Forge/Fabric log4j versions, de-dup

* Downgrade both log4j. This will work

* Update some plugins as well

* Drop the fabric force stuff

* Use duplicate strategy to directly merge jar
2021-02-04 17:45:49 -05:00
MattBDev
f3d4621589 Minor build script changes 2021-02-04 17:06:49 -05:00
NotMyFault
ac16c9a2ba Minor upstream merge 2021-02-03 23:08:39 +01:00
NotMyFault
3e37a66a12
Leave a better note about EOL versions 2021-02-01 22:40:27 +01:00
NotMyFault
818a75b809
Update dependency com.github.luben:zstd-jni to v1.4.8-2 2021-01-28 15:48:01 +01:00
dordsor21
287aa9dd8b
Remove bad default copy method in AbstractMask 2021-01-28 14:23:00 +00:00
dordsor21
485781f711
Merge branch 'main' of github.com:IntellectualSites/FastAsyncWorldEdit 2021-01-28 13:13:10 +00:00
dordsor21
781f39f71a
Properly define /ore arguments
Fix #885
2021-01-28 12:54:55 +00:00
N0tMyFaultOG
9cfcaa7605
Improve texture util if version is missing
This could defo be done cleaner, but it works for now.
2021-01-21 20:20:09 +01:00
N0tMyFaultOG
487d817542
Merge branch 'main' into renovate/com.google.code.gson-gson-2.x 2021-01-21 16:59:18 +01:00
Renovate Bot
e9da3daf9e
Update dependency it.unimi.dsi:fastutil to v8.4.4 2021-01-21 12:53:43 +00:00
Renovate Bot
692a844759
Update dependency com.google.code.gson:gson to v2.8.6 2021-01-21 12:53:35 +00:00
N0tMyFaultOG
c35ebd7b53
Only scan used repositories 2021-01-21 13:07:17 +01:00
N0tMyFaultOG
1c4339ce1c
Replace dead links 2021-01-20 13:56:19 +01:00
MattBDev
06dc92b7ce Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit
 Conflicts:
	worldedit-bukkit/build.gradle.kts
2021-01-18 15:59:51 -05:00
MattBDev
2ce493ae68 Miscellaneous improvements to build scripts. 2021-01-18 15:58:50 -05:00
dordsor21
c218743fa8
Fix some coordinate errors
- Fixes WorldGuard weirdness
 - Fixes #860
2021-01-18 15:37:14 +00:00
dordsor21
798b4cdd4e
Fix #806 2021-01-15 20:16:46 +00:00
dordsor21
b450a0af80
Fix confirm for some commands that give AutoValue_CommandParametersImpl from the getgo 2021-01-14 20:08:43 +00:00
dordsor21
b18c646bce
AbstractExtentMasks should have the correct extent.
- Fixes #843
2021-01-14 16:54:38 +00:00
dordsor21
fa69c79160
lock when editing the chunks cache in SingletThreadQueueExtent
- Long2ObjectLinkedOpenHashMap is not thread-safe and should not be used from multiple threads at once
 - Fixes #851
2021-01-14 15:42:38 +00:00
dordsor21
3034419918
Send before history is safe 2021-01-14 14:48:13 +00:00
dordsor21
3136fb460b
Revert "actually delegate in AbstractDelegateExtent"
This reverts commit 761d05ac19.
2021-01-14 14:39:50 +00:00
dordsor21
761d05ac19
actually delegate in AbstractDelegateExtent
fixes #843
2021-01-14 14:38:37 +00:00
dordsor21
af34bd4e57
the material seems to hold state data for some reason.
- This requires a more complicated fix. Reverting this change for now
2021-01-14 13:42:37 +00:00
dordsor21
5e1289494e
Delegate to blocktype for obtaining a BlockState's material 2021-01-14 12:45:11 +00:00
dordsor21
ac73478827
Fix bad/needless code
- Fixes #852
2021-01-14 12:39:57 +00:00
dordsor21
fd1ed63703
Don't confirm twice every time
- I channelled my inner Jesse on this one.
2021-01-13 23:50:29 +00:00
dordsor21
05d7558873
Don't print stack trace of FaweExceptions from submitted chunks
Addresses #353
2021-01-13 20:30:22 +00:00
dordsor21
be9866ddb3
Fix a lot of FAWE-freezing properly
- Add a "loadPrivately" method to be used when GetChunks are called to avoid synchronocity issues with super classes being used on different threads
 - Synchronise the call method so we're not attempting to call whilst also loading/updating
2021-01-13 19:02:51 +00:00
dordsor21
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
dordsor21
eaa9872294
Revert this for now as it had unintended consquences 2021-01-13 17:36:50 +00:00
dordsor21
97209d5680
better locking of lighting and use correct method for relight without removing first
Fixes #847
2021-01-13 17:24:14 +00:00
dordsor21
b066ca8349
only relight blocks that have light 2021-01-13 17:10:08 +00:00
dordsor21
b1e8c6c3ba
Synchronizing on accessing a lock is pointless. 2021-01-13 17:09:44 +00:00
dordsor21
b4d7562b87
Looks like automagical relighting (#838)
Fixes #686
2021-01-11 19:29:16 +00:00
dordsor21
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
dordsor21
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
dordsor21
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
dordsor21
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
dordsor21
ae6a1f1be4
Correct rounding bevhaviour for Vector3 -> BlockVector3
- fixes #512
2021-01-10 20:49:38 +00:00
dordsor21
0b727d9760
Fix for OPs when "not in a region" 2021-01-10 18:51:07 +00:00
dordsor21
831c6f6854
fix NPE with null sourcemask on move 2021-01-10 17:36:41 +00:00
dordsor21
846443291f
allowed regions can be null 2021-01-10 17:14:40 +00:00
dordsor21
278e9d5991
Set source masks that include the editsession's allowed regions to ForwardExtentCopies
Fixes #710
2021-01-10 14:59:21 +00:00
dordsor21
edc7e9028b
disableQueue stops buffering, switch to enableQueue to buffer when "//move"ing
fixes #738
2021-01-10 13:22:47 +00:00
dordsor21
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
dordsor21
6bc3dd2293
Fix wna when used internally 2021-01-09 21:27:55 +00:00
dordsor21
6f0180447f
Don't ParallelQueueExtent if the editsession is created on the main thread. 2021-01-09 17:48:57 +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
3accbb84dd
Don't talk about CP 2021-01-08 14:38:41 +00:00
dordsor21
febcf5f76f
display potentially unsafe extent message in console if no Actor 2021-01-08 14:28:09 +00:00
dordsor21
6b3fe20c61
revert to upstream slf4j so it's present in IDE 2021-01-08 14:24:58 +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
Aurora
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
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
91de441403
No need to check WorldEdit schematics for bad entities 2021-01-05 17:21:35 +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
7c174ee6b3
Return to static "sections" in CharBlocks.
- Synchronise (lock) outside the static object
 - Reduces object creation
2021-01-05 13:51:26 +00:00
Hannes Greule
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
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
dordsor21
916c080310
5000th commit: Fix //download 2021-01-04 19:10:10 +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
b60d9ef6d5
Fix #787 2020-12-23 17:26:26 +00:00
N0tMyFaultOG
7236f1d6fa
Update zStandard jni 2020-12-22 11:57:12 +01:00
Renovate Bot
bbc0ea0f35
Update dependency com.github.luben:zstd-jni to v1.4.8-1 2020-12-21 20:06:43 +00:00
N0tMyFaultOG
44f15da5a3
Update Paster 2020-12-21 15:57:57 +01:00
renovate[bot]
be05ae9230
Update dependency net.java.truevfs:truevfs-profile-default_2.13 to v0.12.2 (#796)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-21 11:40:00 +01:00