Commit Graph

1028 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
6676d77aaa
Stop writing corrupt tile entities to schematics
also make some stuff definitely immutable.
2020-12-13 21:06:36 +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
f88106886b Update website url 2020-11-16 13:53:25 +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
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
0a233e82a0 Update adapters for 1.16.4 2020-11-03 00:36:19 +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
dordsor21
218f570cb1
Fix LimitExtent and processing of Plot regions
Fixes #627
Fixes #609
2020-09-18 17:40:55 +01:00
dordsor21
8e8bd810b5
Relight after completing P2 operations
teporarily fix #629
2020-09-18 12:38:17 +01:00
N0tMyFaultOG
c7369e2cc0 Update plugin.yml 2020-09-16 16:12:20 +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
d741a8a905 Delete DummyFawe.src 2020-09-14 21:30:27 -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
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
Matt
d00899e177
More support for 3D biomes (#608)
* More support for 3D biomes

* Resolved merge conflicts
2020-09-12 15:31:42 +02:00
dordsor21
a8f53d6414
Use correct trustEdges value 2020-09-11 17:24:02 +01:00
N0tMyFaultOG
7baaed946e 1.16.3 2020-09-11 01:11:56 +02:00
wea_ondara
fec938dac2 just send PacketPlayOutChunkMap for chunk updates 2020-09-06 16:50:22 +02:00
N0tMyFaultOG
ec141ecb46 Merge branch '1.16' into update-adapters 2020-09-02 17:41:08 +02:00
N0tMyFaultOG
aa125b29d4 Update worldedit-adapters.jar 2020-09-02 17:31:27 +02: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
Aurora
dd85fc254f
actually do the file path stuff how it's supposed to work 2020-08-30 11:45:37 +02:00
NotMyFault
aa93f192c6
Merge pull request #587 from aurorasmiles/fixnms
improve performance of chunk updates for 1.16.2
2020-08-26 21:05:38 +02:00
wea_ondara
9515f3abfc fix for spigot boooooooooooooooooooooooooooooooooooooooooooo 2020-08-26 20:46:48 +02:00
wea_ondara
b117c35580 improve performance of chunk updates for 1.16.2 2020-08-26 20:15:23 +02:00
NotMyFault
32ee30d593
Merge pull request #585 from aurorasmiles/fixnms
Fixes NMS on 1.16.2
2020-08-26 16:24:37 +02:00
Aurora
f969403b54
Fix NMS for Chunk Updates on 1.16.2 2020-08-26 16:05:22 +02:00
Aurora
add1d96313
Update WorldEditPlugin.java 2020-08-25 21:36:19 +02:00
Aurora
041029168f
Fix NMS in 1.16.2. Still not working properly. 2020-08-25 20:43:07 +02:00
Aurora
38007ed1d5
reimplement 1.16.1 support 2020-08-25 17:09:31 +02:00
N0tMyFaultOG
e1f53934fa Fix nms 2020-08-25 15:19:33 +02:00
libraryaddict
87fe1a2a21 Fix builds for paper 1.16.2 2020-08-26 00:23:01 +12: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
49f1658f0b Merge remote-tracking branch 'origin/1.16' into 1.16 2020-08-18 15:50:00 -04: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
Aurora
313701a836 setup vault after loading 2020-08-15 15:34:40 +01: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
wea_ondara
50971ee311 fix entity undo 2020-07-26 15:52:51 +02:00
dordsor21
72269e08e6
Force sync teleports with trySetPosition
Fixes #542
2020-07-24 20:29:08 +01:00
dordsor21
d3ff4131a3
Fix incorrect light array reference.
Possibly fixes #531 and #535
2020-07-24 20:21:05 +01:00
dordsor21
28837c7106
Fix P2 clear area 2020-07-24 11:42:33 +01:00
MattBDev
3bc692ff11 Part 1 of upstream merge and format 2020-07-13 22:50:59 -04:00
MattBDev
1e80c0429a Merge remote-tracking branch 'origin/1.16' into 1.16 2020-07-13 13:09:55 -04:00
MattBDev
2a493ac9c6 Update trySetPosition 2020-07-13 13:09:03 -04:00
dordsor21
eb9ed098bb
use z not x 2020-07-11 12:41:33 +01:00
dordsor21
ef58cf567b
Clean up P2 v5 hook a little.
Should be a good step at removing any OOBs and incorrect-height-sets
2020-07-11 12:39:27 +01: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
dordsor21
33b2b634ac
Allow specific P2 queue hooks to be disabled 2020-07-09 22:14:24 +01:00
dordsor21
d92cded832
add biomes, and do it all at once using a clipboard. Crude, but eh 2020-07-04 12:45:00 +01: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
dordsor21
f1d4104480
Bunch of changes to help masks 2020-07-02 22:09:12 +01:00
dordsor21
18c9da372c
GetBlocks should default to air not reserved 2020-07-02 18:16:15 +01:00
dordsor21
b58877a57b
Use BlockType not BlockState 2020-07-02 14:51:09 +01:00
dordsor21
d3afc9c65d
Update to p2 5.12.2 and implement clear pipeline 2020-07-02 14:34:05 +01:00
dordsor21
ce406e404b
We shouldn't be setting REGENERATIVE_CLEAR to false 2020-07-01 19:46:43 +01:00
Aurora
34298f7dee
Add back the getEntity Stuff since it seems to work fine 2020-07-01 19:28:38 +02:00
dordsor21
3e40f82d9a
fix error on loading for some versions 2020-07-01 15:05:38 +01:00
N0tMyFaultOG
fdbef4e12c Update DummyFawe.src 2020-07-01 14:22:04 +02:00
dordsor21
6be429cc96
Lighting:
- bring fixes to 1.16
- Fix for all lighting where it only set sky lighting if not present, even if it was trying to set block lighting (unlikely to have caused issues as block lighting seems always to be present, but wrong nonetheless)
2020-07-01 12:55:58 +01:00
dordsor21
3b19738ea0
Merge branch '1.15' into 1.16
# Conflicts:
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/adapter/mc1_16_1/BukkitGetBlocks_1_16_1.java
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/wrapper/AsyncWorld.java
#	worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/wrapper/state/AsyncDataContainer.java
2020-07-01 12:47:04 +01:00
dordsor21
3f3c49c0a8
Looks like working block setting and removal 2020-07-01 12:41:20 +01:00
dordsor21
4ca19acb48
implement 1.16 methods 2020-06-30 13:51:27 +01:00
dordsor21
f84958957c
Fix various lighting issues
fixes #496
possibly fixes #497
2020-06-30 13:44:26 +01: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
MattBDev
aab10adb79 Fixed all but one remaining API changes in 1.16.1
No testing has been performed yet.
2020-06-25 20:57:06 -04:00
MattBDev
b7debce4d4 1.16.1 Prep work 2020-06-25 20:29:09 -04:00
wizjany
6d056847c1 Update adapter jar.
(cherry picked from commit 9e186225bd25f4805d09081f8b8ca717f61a73a4)
2020-06-25 15:41:49 -04:00
NotMyFault
ef704e23ad
Add a few disallowed blocks as example...
since people fail to use the proper syntax
2020-06-18 10:51:53 +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
Matthew Miller
33adba4a6f Use a long to refer to the volume of a region to prevent overflow (#1350)
* Use a long to refer to the volume of a region, and rename the method to getVolume

* Fixed issues noted in review

* Forgot to floor

* Fixed review notes

* Can use a long here rather than BigDecimal

* Improve javadocs

* style

(cherry picked from commit 328030fd6281e58a4ea1d0cdd0a2e274da90afbe)
2020-06-12 21:45:49 -04:00
MattBDev
9f6e0ebd5c Minor changes to NMS logic 2020-06-12 21:45:48 -04:00
aurorasmiles
6965fe2b90
Update PlotSquaredFeature.java 2020-05-30 10:46:05 +02:00
Aurora
5602b33b78
Fix a few links 2020-05-30 09:17:21 +02:00
dordsor21
75153d8da8 Fix getLightOpacity 2020-05-27 17:25:03 +01:00
dordsor21
bdc14c10c7
Fix relight and removelight (#475)
* Start work on lighting engine (does not build)

* Implement getLighting

* Setting, flushing light etc works. Getting light should be working..?

* Better queue/chunk handling

* Use correct location for lighting update

* Correct set location, remove debug

* cleanup a little

* Fix fixlight

* Apply to all versions for the numpties

* Remove lighting extent if not using

* Actually bitmask blocks when setting in chunks

* Initialise Maps and Dequeues with inital size

* format

* Documentation maybe
2020-05-27 11:45:08 +01:00
Aurora
1f898cd0d1 Negate "hasCollision" for isTranslucent() also for 1.15.0 and 1.14 2020-05-25 19:00:16 +01:00
Aurora
d9240c5626 Negate "hasCollision" for isTranslucent() 2020-05-25 19:00:16 +01:00
dordsor21
4e4b812fdd dum 2020-05-20 09:47:57 +01:00
dordsor21
9085365165 Override P2's /plot set 2020-05-20 09:44:59 +01:00
dordsor21
a6514f8a78 Ultimately the Striped locks will have no affect, even if kinda cool. 2020-05-20 07:58:14 +01:00
dordsor21
fd3604beba replace synchronisation with Striped access semaphore locks 2020-05-18 16:52:33 +01:00
dordsor21
31cc5e0b60 Synchronise on the nmsWorld so we're not attempting to load two chunks at the same time.
Possibly fixes #471
2020-05-18 16:04:10 +01:00
dordsor21
5be11c541b Put the synchronisation higher up the food chain 2020-05-14 22:32:32 +01:00
dordsor21
3a7c23be45 Fix #443
Temp as it's performance-degrading, but works well enough for now
2020-05-14 22:10:09 +01:00
dordsor21
35169230ad Sort of fix biome getting
It seems to want to put random blocks where the biome isn't
2020-05-14 16:27:24 +01:00
dordsor21
bdc129cf7b Update to latest p2 v5
(implement FAWE biome setting)
2020-05-14 16:20:17 +01:00
dordsor21
5225099ec0 Fix biome setting in 1.15 2020-05-14 16:17:29 +01:00
dordsor21
be58cd42ac Add option to disable ticking existing blocks when not fastmode 2020-05-11 16:09:31 +01:00
dordsor21
36faf107e6 Allow fastmode to be used in a lot more places
- Option to stop fastmode from bothering to fix existing ticking blocks
2020-05-11 15:36:52 +01:00
MattBDev
a813cbfcdf Update world interface 2020-05-10 20:57:24 -04:00
dordsor21
0dee452e1a Don't attempt to set field on null ChunkSection 2020-05-09 17:42:40 +01:00
dordsor21
56175ffe0f Revert this so it compiles on the ci for now. 2020-05-09 16:30:28 +01:00
dordsor21
b1f1c0f4f0 Possible fix for #331
- Should ensure the server doesn't tick the chunksection while we're editing it
- Basically using the old issue with FAWE breaking block ticking by setting this to zero :)
2020-05-09 16:23:38 +01:00
dordsor21
8f60544aad Override some methods in AsyncWorld 2020-05-09 15:11:40 +01:00
dordsor21
56c720914e Settings.IMP is terrible. Don't initialise it thousands of times. 2020-05-08 18:17:47 +01:00
dordsor21
c757b01803 By default only allow existing blocks to tick.
- Revert back to default FAWE behaviour where placed blocks do not tick by default (until a restart, or another edit is done in the same chunksection without changing the block)
2020-05-08 16:16:08 +01:00
dordsor21
56972ee40b
Trim performance (#451)
* Increase performance slightly when trimming.
If the chunk section is all one blocks (common in plotworlds) it'll be a nice little boost.

* Cache whether blocks are ticking or not. Greatly reduces the time required to create a palette

* collapse 5 lines to 2.

* Also apply to 14 and 15 for the numpties

* Cleanup
Actually ignore the exception - remove my debug print.
Remove double semi-colon

* Apparently 1.14/15 matter too still.
2020-05-07 23:00:13 +01:00
IronApollo
65afa79c17 Remove WorldguardFlag.java
The main functionality of WorldguardFlag.java was ported to Worldguard.java. This *shouldn't* break functionality of either the Worldguard or WorldguardFlag features, but users should be cautious and provide prompt feedback if any unintended changes are found.
2020-05-03 19:45:04 -04:00
dordsor21
0ca81e9d67
Fix FAWE killing chunk ticks. Also allow ticking for set blocks. (#439)
* Fix FAWE killing chunk ticks. Also allow ticking for set blocks.

* Reduce for-loop to being one loop in createPalette

* set the value in the set array and break so we don't continue onwards in the set's ordinal switch statement
2020-05-03 17:50:09 +01:00
MattBDev
5fb18259d5 Merge remote-tracking branch 'origin/1.15' into 1.15 2020-04-30 16:27:08 -04:00
MattBDev
ef3642d521 Small spring cleaning
I changed really small bits and pieces of code. If you have questions just comment and I'll answer them.
2020-04-30 16:26:52 -04:00
dordsor21
9869cf09c6 Apply fda7d00747 to other versions so numpties that use old versions for no reason stop complaining too 2020-04-30 15:14:59 +01:00
Pierre Grimaud
f9a40599fb
Fix typos 2020-04-29 19:36:34 +02:00
dordsor21
fda7d00747 A more verbose fix to #329 and similar issues.
- Re-read chunksections the first time they're "loaded" for an operation
 - Reset the chunksection if there are block changes when setting blocks via reflection
 - These are maybe gonna affect performance a bit? Idk. Seems to be alright for me
 - These are maybe gonna make more issues? Yeah maybe, but I couldn't find any
2020-04-29 18:17:21 +01:00
MattBDev
600a1a5daa Implement previously unsupported methods in DelegateLock 2020-04-29 11:29:02 -04:00
MattBDev
3265a9e794 Remove unused regenerate method 2020-04-28 11:16:51 -04:00
MattBDev
491be025cc Minor changes to urls and todo's 2020-04-27 17:35:04 -04:00
Josh Knight
915fa5f00c
Merge pull request #416 from Sauilitired/tile-entity
Properly remove tile entities in BukkitGetBlocks_1_15_2
2020-04-22 14:57:49 -04:00
dordsor21
8bde932354 Add p2 v4 compat.
Anyone that hasn't built FAWE before won't be able to build it again as the v4 repo doesn't exist - it relies on local gradle cache.
2020-04-22 08:10:17 +01:00
Alexander Söderberg
c478dbd249
Backport changes 2020-04-21 23:58:14 +02:00
Alexander Söderberg
8a19c4c38c
Don't mark the chunk as dirty. 2020-04-21 15:40:53 +02:00
Alexander Söderberg
2c85ff1673
Properly remove tile entities in BukkitGetBlocks_1_15_2 2020-04-21 15:23:23 +02:00
dordsor21
952aaf8b43 Fix p2 compatibility and replace empcraft.com/maven2 2020-04-21 11:39:42 +01:00
MattBDev
8d1efcfb21 Update Bukkit Interfaces to allow for compilation 2020-04-10 13:25:56 -04:00
IronApollo
16df4abd18 Reflection field name changes
Old ones were outdated. Brush visualization is still WIP and can result in client being kicked from the server for bad packets.
2020-04-01 00:20:25 -04:00
MattBDev
6e1cb4cfbc Remove more useless messages 2020-03-31 19:39:37 -04:00
dordsor21
a6a4400317 Port fixed for #389 from 1.15.2 adapter to other adapters. 2020-03-31 10:26:23 +01: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
dordsor21
8ffdd8a9e9 Better reading of schematic biomes.
Use biomes in the P2 schematic handler and save as a .schem not .schematic (when it's enabled again)
2020-03-28 10:44:51 +00:00
MattBDev
8d61f84466 Stop messing with the PlotSquared queue system
Stops synchronized chunk loading on PlotSquared and our queue didn't really do anything better than what PlotSquared did.
2020-03-27 12:28:09 -04:00
IronApollo
46d24fff0f Update AsyncWorld.java 2020-03-26 17:11:07 -04: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
MattBDev
89ee1cb21a Merge remote-tracking branch 'origin/1.15' into 1.15 2020-03-22 14:10:13 -04:00
MattBDev
7ef02dfbde Lighting in AyncBlock is set to 15 (at least for now) 2020-03-22 14:05:51 -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
MattBDev
a49a09a042 Added clarification for debugging message because of people thinking it is an error. 2020-03-20 20:04:31 -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
MattBDev
8a70f97445 Mask and Pattern modifications 2020-03-17 23:05:52 -04:00
MattBDev
1df5853f33 Remove unnecessary reflection 2020-03-17 22:27:41 -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
MattBDev
f63782f2f4 Fix Metrics 2020-03-10 17:31:36 -04:00
MattBDev
325d90fe39 Add stubs for new Bukkit API 2020-03-10 17:29:37 -04:00
MattBDev
14d2c9a5c3 Update BlockStateIdAccess and added a debug message 2020-03-10 17:22:53 -04: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
35538e7d61 Update Metrics.java 2020-03-05 19:01:06 -05:00
MattBDev
e32e17b15c Fixed an NullPointerException with PlotSquared 2020-03-05 18:05:33 -05:00
MattBDev
915ab43f6e Cleanup unused code. 2020-03-05 16:07:20 -05:00
Octavia Togami
f18cb1a0e1 Update gradle 2020-03-02 19:40:36 -05:00
IronApollo
d2bcc6dd35 Fix #346 , minor hook changes
- Removed deprecated FaweMaskManager#getMask(Player)
- Removed deprecated constructor FaweMask(BlockVector3, BlockVector3)
2020-02-26 10:17:11 -05:00
MattBDev
c52db75976 Delete unused file 2020-02-25 18:26:04 -05:00
MattBDev
f3d19cf87d Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-02-23 12:49:41 -05:00
MattBDev
bfcf24b27b Small quality of code changes 2020-02-23 12:48:22 -05:00
Spottedleaf
7388d3310f Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into workaround-visiblechunks 2020-02-22 20:11:28 -08:00
Spottedleaf
f6675160f1 Also target 1.15 & 1.14 adapters 2020-02-22 20:11:23 -08:00
IronApollo
14ac3205ce Check for PlotSquared before initializing the feature class
Some users are experiencing issues during startup with FAWE not finding PlotSquared resulting in errors.
2020-02-22 21:02:12 -05:00
Spottedleaf
0d18b15393 Workaround for replacing PlayerChunkMap#visibleChunks field
I run a fork of paper which replaces the visibleChunks and updatingChunks
field for gc performance reasons - visibleChunks is updated via
cloning updatingChunks, and at high chunk counts this causes gc issues
due to the humongous allocation. Unfortunately the only solution is to
not clone the map - which is why the field is removed.

Instead of BukkitAdapter#getPlayerChunk using the visibleChunks field,
it now uses a MethodHandle for PlayerChunkMap#getVisibleChunk. This method is
present on spigot & paper (only protected on spigot - which is why reflection is required),
and I preserve the same thread-safety it provides in my fork - so this solution
will not break compatibility with craftbukkit, spigot, and paper.
2020-02-22 07:07:40 -08:00
MattBDev
62cb04b8ca Remove CFI redirect and other minor changes. 2020-02-21 14:56:21 -05:00
MattBDev
516e7e4ca6 Merge remote-tracking branch 'origin/1.15' into 1.15 2020-02-21 00:00:11 -05:00
MattBDev
99f7b23a8c Changes to API and something else I forgot because I got distracted 2020-02-20 23:59:57 -05:00
IronApollo
c9aebf17d8 Fix #320 ; optimize adapter imports 2020-02-20 21:28:28 -05:00
MattBDev
e0bb1ce853 Revert "More minor cleanup"
This reverts commit 38435d50
2020-02-18 18:06:08 -05:00
MattBDev
38435d50b4 More minor cleanup 2020-02-18 18:00:39 -05:00
MattBDev
49dbd4b76b Minor changes 2020-02-14 14:29:08 -05:00
MattBDev
647665c3b0 Upstream is better than downstream 2020-02-13 20:19:45 -05:00
MattBDev
73c5e34040 Fixed AsyncWorld for real 2020-02-13 13:12:11 -05:00
MattBDev
4d4709b2f6 Removed ChunkListener8 and resolved compiling issues 2020-02-13 13:07:30 -05:00
MattBDev
e56e9e39ee Implement new World interface methods 2020-02-12 18:19:12 -05:00
MattBDev
b1c11c9597 Implement new World interface methods 2020-02-12 17:46:07 -05:00
MattBDev
0723620722 Remove remaining BlocksHub references from the code. 2020-02-12 17:09:28 -05:00
MattBDev
ceec0ec0b9 API Breaking
Removed LoggingChangeSet since it wasn't functional and the majority of it was commented out.
Migrated a lot of RunnableVal implementations to Suppliers for improved readability and a very small speed improvement.
2020-02-12 17:04:21 -05:00
MattBDev
6dd85e48ba Various changes
the most notable change is that PlotSquared is being moved to the Bukkit module again to allow for future compatibility with version 5 of the plugin.
2020-02-12 16:18:36 -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
75653087b9 Remove FAWE-Piston
Disables a lot of previous functionality in FAWE until replacements can be made. This commit was untested and may cause major issues.
2020-02-05 00:37:42 -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
IronApollo
4f3db6f3da Attempted fix for #329
Removing this code seemed to fix the issue while not breaking general editing abilities. Needs testing to determine any unintended side effects!
2020-02-01 20:28:48 -05:00
IronApollo
83bb3966ca Update adapter to 1.15.2
Adapter updated to 1.15.2, mostly a clone of 1.15 / 1.15.1's adapter. I encountered no issues from this, but the field names for our reflections may need to be double-checked for accuracy in this Minecraft version.
2020-02-01 20:11:02 -05:00
MattBDev
6c5ac08a3c Minor upstream changes 2020-01-31 17:44:50 -05:00
wizjany
f4d03291c5 Revert "Revert "Add Vault as a softdepend to the Bukkit variant to prevent a warning from Spigot""
This reverts commit 376f241b7dfbe3cf221adaae340661d0c9a5c81f.

Spigot bad. Also LP bad. This really shouldn't be necessary but it's
probably safer due to all the weird shit spigot and LP do.

(cherry picked from commit 68d48148d3df6e01815d05c462ba22498734fdc4)
2020-01-31 14:41:22 -05:00
MattBDev
7236b0a026 Minor code changes 2020-01-29 17:10:59 -05:00