Commit Graph
100 Commits
Author SHA1 Message Date
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
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 2ccda85772 Fix #468
That's not how it works
2020-05-13 22:36:08 +01:00
dordsor21 32c30f45fe don't read __reserved__ 2020-05-12 11:00:54 +01:00
dordsor21 999b063762 Don't write reserved to schematics 2020-05-12 10:58:43 +01:00
dordsor21 be58cd42ac Add option to disable ticking existing blocks when not fastmode 2020-05-11 16:09:31 +01:00
dordsor21 0b30ca9dcc Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-05-11 15:36:56 +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
dordsor21 8c38ac0fbc Fix #460 2020-05-11 13:38:06 +01:00
dordsor21 0dee452e1a Don't attempt to set field on null ChunkSection 2020-05-09 17:42:40 +01:00
dordsor21 cb20cef0e6 Fix loading schematic from URLs 2020-05-09 16:45:42 +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 42d7419b4b Fixes #402
- Similar to previous commit. If the chunksection was empty, then __reserved__ was parsed to the clipboard, and then not correctly identified as air
- Now assume all __reserved__ is air when writing to clipboards
2020-05-09 13:56:41 +01:00
dordsor21 ffa25b1d9a Fixes #452
- ChunkSections containing only air are technically null according to NMS Chunks
- Therefore if we're replacing air, we should ignore the result of get.hasSection(layer) by using "full = true" as it returns false if the chunksection is only air
- We also then need to ensure that the masks correctly identify that the block is "air"
2020-05-09 13:39:41 +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
dordsor21andGitHub 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
dordsor21 a2b0a5e622 Fix offset mask (< and >) 2020-05-07 19:38:42 +01:00
dordsor21 afba834b83 Don't commit murder to console or log files 2020-05-06 20:55:30 +01:00
dordsor21 0c539b4e84 Fix replace patterns
Fixes #445 #440 #372
2020-05-06 15:50:57 +01:00
dordsor21 3abf964620 Better logic for selecting schematic format.
- You had to specifically use //schem load <schematic>.schematic mcedit to load legacy schematics, now if you're loading .schematic it assumes you're wanting mcedit format
 - If you end up attempting to load an mcedit schematic with the sponge reader it now throws an exception.
2020-05-05 16:16:27 +01:00
dordsor21andGitHub 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
dordsor21 a6f2cd0fb5 add // to mask and range 2020-05-02 18:34:49 +01: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
dordsor21 508d595b8d Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-04-29 21:30:28 +01:00
dordsor21 847d22f7d6 This seems to fix #429
- the undo remove or add block removal adding thing.
2020-04-29 21:30:15 +01: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
dordsor21 058990f6fe schem.intellectualsites.com (points to athion.net but cnamed) 2020-04-28 11:25:24 +01:00
dordsor21 004a60d145 allow parallel threads to be changed.
- Interesting behaviour with forwardextendcopy stuff (move, stack etc) though.
2020-04-25 11:57:59 +01:00
dordsor21 820ae19dc2 Read processors in reverse order.
- EditSessionBuilder always assigns the history processors before the limit extents, meaning the limit did not get properly flushed to history, but because spigot is notified of the changes after the processes have taken place, the correct edit was displayed to the player and placed into the world.
 - This might break other stuff...
2020-04-23 23:46:43 +01:00
dordsor21 273e8cfb8e Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-04-23 17:07:38 +01:00
dordsor21 69bd0274dd Fix undo for stack, move
- Most/anything using ForwardCopyExtent basically
2020-04-23 17:07:34 +01:00
dordsor21 29b82d4e51 Remove a load of soft errors in EditSession. 2020-04-23 17:07:01 +01:00
dordsor21 c714e26f68 Reformat paste in ClipboardCommands because it was ugly 2020-04-23 17:01:17 +01: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
dordsor21 952aaf8b43 Fix p2 compatibility and replace empcraft.com/maven2 2020-04-21 11:39:42 +01:00
dordsor21 330fc39dde Further non-standard selection fixes as per #393
- Fix incorrect usage of initChunk (it's run in the right place now)
 - Fix poorly implemented //sel sphere "improvements"
2020-04-19 19:46:41 +01:00
dordsor21 b52fc46f19 Regarding #393
- Fix CharFilterBlock not being properly created (the chunk X and Z were never set)
 - Replace BlockVector3#divide with bitshift because you can't divide down and then bitshift back up with the correct results for negative values
2020-04-19 13:56:02 +01:00