Commit Graph
100 Commits
Author SHA1 Message Date
dordsor21 935130aa0e Fix AsyncBlock 2020-12-31 15:22:29 +00:00
dordsor21 df48b7e81d stop bottling clipboard sizes for no reason 2020-12-31 15:01:54 +00: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
dordsor21 b60d9ef6d5 Fix #787 2020-12-23 17:26:26 +00:00
dordsor21 7444c643a1 Switch to IncendoPaster "library" 2020-12-19 16:18:57 +00:00
dordsor21 e08fda0ac2 cache the correct number of blocks for FAWE
fixes #747
2020-12-17 22:06:32 +00:00
dordsor21 e8f0c0e6ea allow count to access "full" chunks if counting air 2020-12-17 22:05: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 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 61fd8c0de5 Update generate tree to match upstream 2020-12-16 17:20:33 +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
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 56cf49c167 Send chunks if they're in the paper no-tick-distance
Fixes #766 and #677
2020-12-11 15:36:42 +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
dordsor21andGitHub 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
dordsor21andGitHub 5508b415c9 Allow nullable BukkitPlayers for whatever reason WorldGuard needs them for I guess? (#706) 2020-10-14 19:56:16 +01:00
0c9f00b6ba Update worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java
Co-authored-by: NotMyFault <[email protected]>
2020-10-08 21:15:48 +01:00
dordsor21andGitHub 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
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
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
dordsor21andGitHub 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
dordsor21 1f02287caa trim get where chunk SET is remembered from a previous session 2020-10-03 15:53:49 +01: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 40717c23c4 If extent is world when pasting clipboard, cretae editsession
fixes #583
2020-10-01 15:02:34 +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 318eca364d We ought to always clear (close) the clipboard on logout
Fixes #672
2020-09-30 10:56:07 +01:00
dordsor21 13cfd638d6 Fix incorrtect field references 2020-09-29 10:11:29 +01:00
dordsor21 6332b8c965 This ought to be false by default for now 2020-09-28 11:18:16 +01:00
dordsor21andGitHub 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
dordsor21andGitHub 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
dordsor21andGitHub 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
dordsor21andGitHub 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
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
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
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
dordsor21andGitHub 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
dordsor21 a8f53d6414 Use correct trustEdges value 2020-09-11 17:24:02 +01: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
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
dordsor21 33b2b634ac Allow specific P2 queue hooks to be disabled 2020-07-09 22:14:24 +01:00
dordsor21 704e76eb6d Fixes #519
Use regex for finding colour codes
Merge styles rather than replacing and undoing our work sometimes.
2020-07-04 14:15:49 +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
dordsor21 77204df3f0 prevent players being teleported down a single block after some edits 2020-07-03 16:56:20 +01:00
dordsor21 e2ab87cc07 lazy //deform AIOOB fix.
Fixes #495
2020-07-03 16:45:28 +01:00
dordsor21 f7d375c76c Lazy heightmap range fix 2020-07-03 16:29:27 +01:00
dordsor21 9e25c736a0 Add new blocks to BlockTypes 2020-07-03 14:12:43 +01:00
dordsor21 2812841481 Add -p flag to //drain to allow kelp and watergrass to be removed.
properly fixed #464
2020-07-03 14:01:16 +01:00
dordsor21 ea7897934f Implement ability to use -w flag on //drain
fixes #464
2020-07-03 13:49:17 +01: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 fae528ab64 add a couple more changes++
Fixes #508
2020-07-03 13:18:09 +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
dordsor21 3e40f82d9a fix error on loading for some versions 2020-07-01 15:05:38 +01:00
dordsor21 efc1a888d8 update links, versions, etc 2020-07-01 13:17:19 +01: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
dordsor21 75153d8da8 Fix getLightOpacity 2020-05-27 17:25:03 +01:00
dordsor21andGitHub 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
dordsor21 1ff5e7761b Comment out not working and add TODO 2020-05-27 11:39:23 +01:00
dordsor21andGitHub c478e5d4a3 Add built jar location 2020-05-24 13:35:07 +01:00
dordsor21 b1b591f288 PlotSquared-Core again 2020-05-20 09:49:38 +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