Commit Graph

2012 Commits

Author SHA1 Message Date
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
renovate[bot]
7928479046
Update dependency de.schlichtherle:truezip to v6.8.4 (#793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-21 10:55:46 +01:00
renovate[bot]
2f23643635
Update dependency org.slf4j:slf4j-api to v1.7.30 (#803)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-21 10:47:07 +01:00
renovate[bot]
f6cbde6386
Update dependency org.yaml:snakeyaml to v1.27 (#804)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-21 10:44:31 +01:00
renovate[bot]
2eb4f14724
Update dependency com.plotsquared:PlotSquared-Core to v5.13.3 (#791)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-12-20 23:35:57 +01: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
94a14b03b6
fix brush size 0/1 2020-12-17 15:26:17 +00:00
dordsor21
236e3c3f6f
correctly set changes to editsession for line/spline
fixes #696
2020-12-17 15:02:49 +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
f347e0f5f5
update some utility commands
fixes #557
2020-12-16 19:23:41 +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
dordsor21
6676d77aaa
Stop writing corrupt tile entities to schematics
also make some stuff definitely immutable.
2020-12-13 21:06:36 +00:00
Ivan Volkov
04ba545aa2
NullPointer fix for /schematic list (#781)
* fixed null pointer

* fixed rest of similarly caused null pointers

* checkstyle
2020-12-13 15:20:10 +01: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
26e3e56988
Don't allow blocks as brushes
fixes #748
2020-12-11 17:02:54 +00:00
dordsor21
ae39f7bba3
use full chunks for distr and account for __RESERVED__ blocks
fixes #759
2020-12-11 16:13:09 +00:00
dordsor21
3717351d61
//setbiome should be 3D as well 2020-12-11 12:55:49 +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
Aurora
11f50f8b53
Add 1.16 tree types (#757) 2020-11-23 18:04:34 +00:00
libraryaddict
2ccc234608
Correct typo from max world height of 265 to 256 2020-11-17 21:06:03 +13:00
NotMyFault
2a5b385578
Fix missing stacker tool message 2020-11-16 13:31:49 +01:00
N0tMyFaultOG
60f3224318 Deprecate the non-Pattern methods in EditSession and fix a recursion loop
eca310cf8f16240fabc0259f4f615cfa2d37909a

Co-Authored-By: Matthew Miller <mnmiller1@me.com>
2020-11-13 22:42:03 +01:00
N0tMyFaultOG
5d283e1a17 Fix variable argument functions in expressions
204ef7a708466d8739e5dcbfbc4794b57cabab0f

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 22:35:53 +01:00
N0tMyFaultOG
a32b4a1345 Fixed undo/redo not working from console/commandblock
65fbe09c35e9affa71d0ce7c20fa5ebd0f1c8365

Co-Authored-By: Matthew Miller <mnmiller1@me.com>
2020-11-13 22:25:47 +01:00
N0tMyFaultOG
cb088ff3e5 Remove Y limits if a region has no world
0cb1eea55b311473c9468f608a0090b93cf5de91

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 22:10:43 +01: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
N0tMyFaultOG
d44cceb1e9 Fix //chunk text and clarify the y-index in the help text.
e0b8b4856d22bc3edc7879e291a5502b79664fc3

Co-Authored-By: wizjany <568161+wizjany@users.noreply.github.com>
2020-11-13 22:01:12 +01:00
N0tMyFaultOG
560ab289a7 Move connections to neighbors update
e575ffef2c790ec2eb6f3fe121d44ddca850914c

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 22:00:01 +01:00
N0tMyFaultOG
d2fbd40021 Lower-case registry arguments in converter
8377a6bdacb4d5e0b0af2d97e097e3d946cf1a0d

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 21:56:27 +01:00
N0tMyFaultOG
0d2c4c0825 Make block positions copy on click for //size
6925d3715a6c6992d01ab1d4b5564bb9535b6711

Co-Authored-By: Lewis B <17665267+lewisjb@users.noreply.github.com>
2020-11-13 21:54:46 +01:00
N0tMyFaultOG
679b9d203d Add -w flag to butcher for water mobs
beb784e0ffe1d8a8cf678912dbd6207e96afcfc8

Co-Authored-By: Lewis B <17665267+lewisjb@users.noreply.github.com>
2020-11-13 21:46:11 +01:00
N0tMyFaultOG
9cd05bc5a1 Use /tool in /toggleeditwand description
e320833961734c68a9d783bc9e3e77458e4c54d3

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 21:37:36 +01:00
Octavia Togami
9fbbcdb3f7 Make /toggleeditwand translatable
56182ad0793b79fe53927c1363be92a42e3af14d

Co-Authored-By: Octavia Togami <2093023+octylFractal@users.noreply.github.com>
2020-11-13 21:36:38 +01:00
N0tMyFaultOG
0ee1321546 Add missing permissions 2020-11-13 21:08:57 +01:00
Hannes Greule
6ae2275990 Register GenerationCommands 2020-11-09 11:51:36 +01:00
Hannes Greule
428f8e201d
Upstream changes (#717)
* Perform part of the move of //fast to //perf (#1377)

This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!

* Names via Translation (#1268)

* Deprecate BiomeRegistry, etc.

* Update some libraries, e.g. text

* Move to new translation renderer

* Revert "Deprecate BiomeRegistry, etc."

This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.

This was not a good idea for potential mod shenanigans.

* Move BiomeData#getName to BiomeRegistry, use i18n

* Use getRichName instead of getName

* Implement getRichName for NullBiomeRegistry

* Add getRichName for blocks

* Relocate net.kyori.minecraft

* Update adapters for getRichBlockName

* Add getRichName for items

* Update adapters for getRichItemName

* Update adapters JAR for merge

(cherry picked from commit cfd26253b6fb59ff6c65a0157a6780be7db4ea5a)

* Follow-up fixes for 92f877679622a27b16b9e5cd61cfec1a6545be33

* Don't send deprecation warning and improve info message

* Fix click command for perf box

(cherry picked from commit 7ee60060c31df2f8b41212b430a0875312189339)

* update R3 adapter§

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Aurora <aurora@relanet.eu>
2020-11-09 10:38:10 +01: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
Hannes Greule
30863c36e7
Fix confirm deadlock and confirm permissions/limits (#718) 2020-10-22 01:28:07 -04:00
Hannes Greule
097f3ec473
Reimplement #offset mask (#712) 2020-10-20 13:37:21 +01: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
NotMyFault
f95cf0a9ca
Add missing translation strings 2020-10-13 15:00:46 +02:00
Aurora
4127e83749 Don't paste ComplexEntityParts 2020-10-12 14:05:46 +02:00
wea_ondara
b5f41501e4 fix tabcomplete for brushes and possible many other commands 2020-10-12 12:26:26 +02:00
wea_ondara
6d45169d9d fix tabcomplete for biomes and tree types, fixes #457 2020-10-12 12:26:26 +02: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
NotMyFault
3c40c53f66
Add missing aliases 2020-10-09 10:13:13 +02:00
N0tMyFaultOG
67cc5fb984 Merge branch 'logging' into main 2020-10-09 10:03:13 +02:00
MattBDev
c4c50da4f9 Merge branch 'main' of https://github.com/IntellectualSites/FastAsyncWorldEdit into main 2020-10-08 21:47:41 -04:00
MattBDev
af3c723e0d Rename FAWE Threads to be more identifiable. 2020-10-08 21:47:34 -04:00
dordsor21
0c9f00b6ba
Update worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java
Co-authored-by: NotMyFault <mc.cache@web.de>
2020-10-08 21:15:48 +01:00
dordsor21
5b97c0abcd
Several fixes to actual, probable and possible synchronocity issues (#691)
* Several fixes to actual, probable and possible synchronocity issues
 - Ensure that all edits are queued onto the same AsyncNotifyQueue by actually delegating to the parent player in PlayerProxy
 - Ensure that the order editsessions are being remembered on the LocalSession is being respected by using a fair ReentrentLock
 - Ensure a chunk cannot be called when an update is being called

* Don't add locks to GetBlocks
2020-10-08 21:15:05 +01: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
weaondara
116c5d17c5
Fix //jumpto (#689)
* fix jumpto command

* imports

* Formatting

Co-authored-by: Aurora <aurora@relanet.eu>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
2020-10-08 16:38:31 +01:00
dordsor21
2c27b9c02a
Correctly queue edits
Synchronising on the LocalSession ends up being dangerous as it's a craftbukkit thread, leading to blocking issues if something goes wrong in an edit, made worse by the fact craftbukkit threads like to interfere with each other sometimes, and also cause OOMs and hanging when there are too many of them.
2020-10-08 10:53:57 +01: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
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
b06d943f7c
There's no need to duplicate everything when copying the intersection masks, as the Set and array should be the same. (#680)
* There's no need to duplicate everything when copying the intersection masks, as the Set and array should be the same.

* do the same for Union mask
2020-10-04 19:49:45 +02: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
NotMyFault
346762d93b
Add heightmapinterface alias 2020-10-02 17:28:49 +02:00
dordsor21
40717c23c4
If extent is world when pasting clipboard, cretae editsession
fixes #583
2020-10-01 15:02:34 +01:00
dordsor21
318eca364d
We ought to always clear (close) the clipboard on logout
Fixes #672
2020-09-30 10:56:07 +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
bd4a3a3efd
Fix inconsistency with legacy regarding loading schematics from URL 2020-09-26 22:20:47 +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
65747bf8f8
accessing clipboards should not be synchronized to LocalSession (#653)
* accessing clipboards should not be synchronized to LocalSession
I believe this may be the issue causing thread locks when wrapping new players. If we're attempting to run a synchronised method within the LocalSesison when initialising it, it may go wrong..?

* nullcheck within synchronisation
2020-09-25 15:02:09 +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
Aurora
3f1e8fa4d4
Fixes unsafe memory access using cross server clipboards (#651)
Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>
2020-09-24 18:10:43 +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
Aurora
3b2fe2ffde
Fix toggle permission (#644)
* Fixes #529
* fix superperms perm toggling

Co-authored-by: @weaondara <wea_ondara@alpenblock.net>
2020-09-21 17:07:35 +02:00
Aurora
806916d6e8
Fix entity rotation (#642)
* fix entity rotation
fixes #577 
Co-authored-by: wea_ondara <wea_ondara@alpenblock.net>
2020-09-20 16:33:07 +02:00
dordsor21
845c32bd18
Fix #639
looks like we too speedy
2020-09-19 20:46:46 +01:00
dordsor21
be0e33746c
Ensure the block actually can be waterlogged when checking for waterlogged status.
Fixes #632
Fixed #633
2020-09-19 16:54: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
218f570cb1
Fix LimitExtent and processing of Plot regions
Fixes #627
Fixes #609
2020-09-18 17:40:55 +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
NotMyFault
4f6c904615
Merge pull request #617 from IronApollo/vault-fix
Fix vault, remove 1.14 and DummyFawe
2020-09-16 18:06:57 +02:00
N0tMyFaultOG
241e85e491 Strip 1.14 2020-09-16 16:01:49 +02:00
IronApollo
f5f5a55b4c Fix limits 2020-09-16 14:11:26 +01:00
dordsor21
07a5ef5ab4
Fix incorrect x/y/z stuff;
Fixes #616
Fixes #614
2020-09-14 20:17:55 +01:00
dordsor21
3d2052b0c8
Better skylight handling and fix opacity on materials 2020-09-14 18:33:35 +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
Hannes Greule
0685881f64
Implement SupplyingExtent (#613) 2020-09-14 11:20:26 +01:00
dordsor21
4243e8e86b
Begin working on improved lighting to better match 1.14's "new" light… (#611)
* Begin working on improved lighting to better match 1.14's "new" lighting engine
I guess the "new" lighting engine is somewhat old now lol
Also implement the remove first stuff to fixlight

* And then make it work
2020-09-13 15:36:36 +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
Josh Knight
4a18147125
Merge pull request #600 from IronApollo/mask-work
Reimplement Masks + Fixes
2020-09-08 16:21:20 -04:00
MattBDev
2fcf4bdf7e Updated Gradle 2020-09-08 15:34:53 -04:00
IronApollo
dc465f7d3c Reformat, fix RichParser suggestions 2020-09-07 21:46:54 -04:00
IronApollo
7929320611 Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into mask-work 2020-09-07 21:45:05 -04:00
Aurora
ddff407f18 Fix convert function in AbstractDirectionConverter 2020-09-07 20:18:31 +02: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
Octavia Togami
1d05da75d8 Regenerate list classes from MCUtils
(cherry picked from commit da4d70fab5c5e5efe242260b5d09ca273f944c55)
2020-09-03 12:46:17 +01: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