Commit Graph

755 Commits

Author SHA1 Message Date
dordsor21
f69b1bfb21
properly load nms chunk for lighting operations 2021-01-13 17:09:18 +00:00
dordsor21
b4d7562b87
Looks like automagical relighting (#838)
Fixes #686
2021-01-11 19:29:16 +00:00
dordsor21
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
dordsor21
bd079421a3
fix wna/loading on non-paper servers 2021-01-10 12:37:41 +00:00
dordsor21
6bc3dd2293
Fix wna when used internally 2021-01-09 21:27:55 +00:00
dordsor21
89cc2f9d9f
Large memory use reduction when PostProcessing history 2021-01-05 15:03:47 +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
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
dordsor21
580cb4a91e
add chunk tickets and don't force sync sending chunk packets 2021-01-01 18:04:30 +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
606cfa5cbc
we don't need to "update" when copying sections 2021-01-01 16:07:57 +00:00
dordsor21
59c227b49a
actually fix AsyncBlock 2020-12-31 15:32:00 +00:00
dordsor21
935130aa0e
Fix AsyncBlock 2020-12-31 15:22:29 +00:00
Alexander Söderberg
71059505d1 Implement missing AsyncChunk#getTileEntities 2020-12-27 22:19:04 +01:00
dordsor21
6e49427b26
fix WNA 2020-12-27 21:03:09 +00:00
dordsor21
3c5041ddb7
Fix uploading/download P2 schematics with /plot save|load 2020-12-24 15:47:02 +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
884ec322b8
Ensure chunk sections are reloaded for every edit/chunk read
Add an option for force-reloading the cached chunk sections when a layer is updated
2020-12-17 22:04: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
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
N0tMyFaultOG
1bdac416d0
Add missing upstream methods 2020-12-02 17:12:04 +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
N0tMyFaultOG
b728989355 Refactor Jars to ThirdPartyManager 2020-11-01 20:56:45 +01: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
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
N0tMyFaultOG
67cc5fb984 Merge branch 'logging' into main 2020-10-09 10:03:13 +02: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
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
N0tMyFaultOG
9f232a9690 Enhance debugpaste information 2020-10-04 16:52:43 +02: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
dordsor21
13cfd638d6
Fix incorrtect field references 2020-09-29 10:11:29 +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
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
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