Commit Graph

470 Commits

Author SHA1 Message Date
dordsor21
54712e268a
Synchronize access to Bukkit#createBlockData to prevent occasional ConcurrentModification exceptions
- This isn't actually used anymore given the previous commit, however it's still best to keep it safe.
2021-01-14 12:47:02 +00:00
dordsor21
6bc3dd2293
Fix wna when used internally 2021-01-09 21:27:55 +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
6e49427b26
fix WNA 2020-12-27 21:03:09 +00:00
N0tMyFaultOG
9f2baf71f7
Remove unnecessary version check
Due the provided scope and api-version it won't load on older versions anyway
2020-12-21 19:43:23 +01:00
dordsor21
e08fda0ac2
cache the correct number of blocks for FAWE
fixes #747
2020-12-17 22:06:32 +00:00
dordsor21
61fd8c0de5
Update generate tree to match upstream 2020-12-16 17:20:33 +00:00
dordsor21
56cf49c167
Send chunks if they're in the paper no-tick-distance
Fixes #766 and #677
2020-12-11 15:36:42 +00:00
N0tMyFaultOG
3af1f45b4c
Add note about outdated java version 2020-12-08 00:12:39 +01:00
Aurora
0c941465b1
Change Method on 1.16 R2 2020-12-07 17:21:02 +01:00
Aurora
3b201536a8
Maybe we should actually load the 1.16.4 adapter as well (#764) 2020-12-02 13:55:24 +00: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
NotMyFault
48ee33847c
Identify as Fawe when using an outdated version 2020-11-11 17:37:59 +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
Aurora
49052d73ce
Update FAWE to 1.16.4 (#734)
* Start work on 1.16.4, doesn't compile yet

* Update FAWE to 1.16.4

* Update GitHub ci build to 1.16.4

* Fix AsyncChunk

* Update issue template for 1.16.4

Co-authored-by: dordsor21 <dordsor21@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
2020-11-03 19:46:54 +01:00
NotMyFault
28f5a7072d
Merge pull request #707 from IronApollo/biome-regen
Implement biome-specific regen
2020-10-22 10:57:49 +02:00
IronApollo
27f16d97b3 Optimize biome retrieval 2020-10-14 23:10:55 -04:00
dordsor21
5508b415c9
Allow nullable BukkitPlayers for whatever reason WorldGuard needs them for I guess? (#706) 2020-10-14 19:56:16 +01: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
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
d42e152348 Update adapters 2020-10-09 22:39:36 +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
88e64a0632
Simplify further as using ConcurrentHashMap 2020-10-01 17:08:29 +01:00
dordsor21
197e08a937
use ConcurrentHashMap 2020-10-01 16:48:02 +01:00
dordsor21
987ab7d2b6
reduce the amount of synchronisation/locks being used unneecessarily and add nullcheck 2020-10-01 14:33:34 +01:00
Aurora
48cd763d3b
fix performance issues in BukkitPlayer permission (#665)
* fix performance issues in BukkitPlayer permission stuff

* Put PermissionAttachmentManager in seperate file

Co-authored-by: @weaondara
2020-09-28 19:11:28 +02: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
N0tMyFaultOG
371460a1ce Relocate metrics 2020-09-16 16:10:00 +02:00
N0tMyFaultOG
241e85e491 Strip 1.14 2020-09-16 16:01:49 +02:00
IronApollo
a49ce02bd0 Delete DummyFawe on startup 2020-09-15 19:18:16 -04:00
IronApollo
cd5691b819 Fix styling 2020-09-15 19:07:52 -04:00
IronApollo
64a71600f9 Add DummyFawe detector 2020-09-14 22:10:37 -04:00
IronApollo
4af36217b1 Merge branch '1.16' into vault-fix 2020-09-14 21:19:52 -04:00
IronApollo
9431f7c189 Fix Vault integration + remove DummyFAWE 2020-09-14 21:18:06 -04:00
dordsor21
3d2052b0c8
Better skylight handling and fix opacity on materials 2020-09-14 18:33:35 +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
Aurora
dd85fc254f
actually do the file path stuff how it's supposed to work 2020-08-30 11:45:37 +02:00
Aurora
add1d96313
Update WorldEditPlugin.java 2020-08-25 21:36:19 +02:00
Aurora
38007ed1d5
reimplement 1.16.1 support 2020-08-25 17:09:31 +02:00
MattBDev
48d9044366 Fix ItemTypes 2020-08-24 23:01:45 -04:00
MattBDev
02886b0387 Updated the WorldEdit license using find and replace 2020-08-24 21:31:47 -04:00
MattBDev
ce078aad70 Updated many exception classes 2020-08-24 21:29:34 -04:00
MattBDev
75a18b9d5b Update BukkitImplLoader 2020-08-24 21:20:18 -04:00
MattBDev
fd8cf1ebba Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.16 2020-08-24 21:17:53 -04:00
N0tMyFaultOG
91c7390734 Fix paperlib 2020-08-24 19:53:51 +02:00
MattBDev
525da53462 Update WorldEditPlugin 2020-08-24 12:54:22 -04:00
MattBDev
fd336feb46 Upstream merge of TranslationManager and ResourceLoader 2020-08-24 12:38:30 -04:00
Aurora
07c5e65166
fix critical error 2020-08-23 18:31:33 +02:00
Aurora
7cf88aff65
fix 1.16.2 support 2020-08-23 18:28:51 +02:00
N0tMyFaultOG
6cb8352686 1.16.2
- My IJ is broke but this should work. Dunno if I got all nms changes, but we will see.
2020-08-23 17:18:29 +02:00
NotMyFault
1e070b3a71
Merge pull request #518 from aurorasmiles/fixEntities
start reimplementing entities
2020-08-21 18:27:25 +02:00
aurorasmiles
7f0fd182bb
Add comment regarding createentitiy 2020-08-19 11:06:04 +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
Aurora
3aa041aa7e Merge remote-tracking branch 'upstream/1.16' into fixEntities 2020-08-16 17:01:45 +02:00
N0tMyFaultOG
bbff5c60b2 Fix metrics 2020-08-14 15:04:06 -04:00
wea_ondara
ae23794b43 fix //cut -e 2020-07-29 22:43:52 +02:00
Aurora
b411ea9af4 Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into fixEntities 2020-07-26 19:03:46 +02:00
dordsor21
72269e08e6
Force sync teleports with trySetPosition
Fixes #542
2020-07-24 20:29:08 +01:00
MattBDev
3bc692ff11 Part 1 of upstream merge and format 2020-07-13 22:50:59 -04:00
MattBDev
2a493ac9c6 Update trySetPosition 2020-07-13 13:09:03 -04:00
Octavia Togami
4c299bc0b8 Replace setPosition with trySetPosition (#1403)
Allows cancellation information to be fed back into the ascend/descend
algorithms.

(cherry picked from commit 71e104bcb187a5313e88dda5df79059c8ffbc1fe)
2020-07-10 13:22:48 -04:00
Aurora
bc45a112ee Merge branch '1.16' of https://github.com/IntellectualSites/FastAsyncWorldEdit into fixEntities 2020-07-03 19:54:08 +02:00
Aurora
94b1233d98
implement entities in paste -e 2020-07-03 19:52:55 +02:00
dordsor21
63bc151f6c
Hopefully allow for unloaded world to be referenced after GC.
Possibly fixes #504
2020-07-03 13:27:26 +01:00
Aurora
34298f7dee
Add back the getEntity Stuff since it seems to work fine 2020-07-01 19:28:38 +02:00
Aurora
9fc2387f11
Revert "start reimplementing entities"
This reverts commit aac02ceea1.
2020-07-01 14:54:11 +02:00
Aurora
6fc68da2ce
Revert "got paste -e working, still throws IllegalStateException but idc"
This reverts commit 54008be1a2.
2020-07-01 14:52:50 +02:00
Aurora
b96d45e4e6
merge 1.16 2020-07-01 14:46:25 +02:00
Octavia Togami
d232dc28e3 Cherry-pick WNA, minor changes. 1.16 VERY WIP
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.

Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
2020-06-29 22:08:16 -04: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
IronApollo
68679e007e Work towards 1.16 compatibility
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
2020-06-29 22:08:16 -04:00
Octavia Togami
b59b95c282 Cherry-pick WNA, minor changes. 1.16 VERY WIP
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.

Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
2020-06-29 22:05:41 -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
IronApollo
f2bc8d86fc Work towards 1.16 compatibility
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
2020-06-26 19:08:45 -04:00
Aurora
54008be1a2
got paste -e working, still throws IllegalStateException but idc 2020-06-26 13:52:18 +02:00
MattBDev
b7debce4d4 1.16.1 Prep work 2020-06-25 20:29:09 -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
7cc1994e20 Use StandardCharsets 2020-06-12 21:45:49 -04:00
MattBDev
3265a9e794 Remove unused regenerate method 2020-04-28 11:16:51 -04:00
dordsor21
318e367cf0 Correctly unregister player on quit and close clipboard if using disk. 2020-03-30 17:41:41 +01:00
Marco
342da647d7 Fixing that the PlayerDropItemEvent was not fired 2020-03-29 11:53:31 +02:00
IronApollo
fa738504a8 Fix some important chunk issues
This commit should properly synchronize the initialization of the adapter's ibdToStateOrdinal (the char array FAWE uses to convert NMS IBlockData objects to an internal ordinal for chunk operations) so references to this array do not push incorrect characters down the line.

Potentially fixes #373
Fixes #363
Fixes #332
2020-03-26 16:08:36 -04:00
MattBDev
e648b35b95 Small code quality changes 2020-03-24 12:32:36 -04:00
Matt
8f2c3df61b
Merge pull request #359 from tsao-chi-fork/patch-1
use JavaPlugin.getResource() instead of JarFile.getEntry()
2020-03-21 17:32:14 -04:00
MattBDev
45ac55185f Merge remote-tracking branch 'origin/1.15' into 1.15 2020-03-20 21:19:37 -04:00
thislooksfun
a22bcb1c2a
Fix tab completion 2020-03-19 17:23:11 -05:00
MattBDev
9f07894f28 Performance improvement based on case study by @me4502 2020-03-19 13:08:25 -04:00
ㄗㄠˋ ㄑㄧˊ
dcee873b57
fix typo 2020-03-11 13:35:37 +08:00
ㄗㄠˋ ㄑㄧˊ
39e1026400
use try-with-resources 2020-03-11 13:34:11 +08:00
ㄗㄠˋ ㄑㄧˊ
bd692917e6
remove unnecessary import 2020-03-10 12:36:16 +08:00
ㄗㄠˋ ㄑㄧˊ
fbb1078569
use JavaPlugin.getResource() instead of JarFile.getEntry() 2020-03-09 13:14:16 +08:00
MattBDev
915ab43f6e Cleanup unused code. 2020-03-05 16:07:20 -05:00
IronApollo
c9aebf17d8 Fix #320 ; optimize adapter imports 2020-02-20 21:28:28 -05:00
MattBDev
0047f20d5d Minor code quality changes
Changed Lock to subclass ReentrantLock since that is the only subclass DelegateLock should be using. The lock should also never be null so I added an annotation in the constructor.
I also removed some code and replaced it with PaperLib code to just clean up things a little bit.
2020-02-07 14:33:51 -05:00
MattBDev
5feac07bf0 Revert "Fixed commands not working"
This reverts commit 0b5eb903
2020-02-06 20:33:19 -05:00
MattBDev
f9e7b7300e Minor changes 2020-02-05 16:27:50 -05:00
MattBDev
3452fd5a63 Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-02-04 17:59:08 -05:00