Commit Graph

112 Commits

Author SHA1 Message Date
238c56a3c6 Revert "Revert matt's changes"
This reverts commit bfcc6184ad.
2020-06-13 14:41:36 -04:00
bfcc6184ad Revert matt's changes
Let's not break Fawe, thanks
2020-06-13 18:48:57 +02:00
8105088d60 Minor cleanup 2020-06-12 21:45:49 -04:00
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
9f6e0ebd5c Minor changes to NMS logic 2020-06-12 21:45:48 -04:00
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
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
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
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
8b1a0bbc34 Fix #417
This commit aims to fix existing issues regarding the "0/-1 blocks affected" bug. Introducing the new LinkedFilter class allows us to use multiple filters for single-filter operations, e.g. applying a pattern to blocks while also counting the amount of blocks applied to. SetFilter.java was also removed due to not being used.
2020-05-07 12:29:18 -04:00
508d595b8d Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit into 1.15 2020-04-29 21:30:28 +01:00
847d22f7d6 This seems to fix #429
- the undo remove or add block removal adding thing.
2020-04-29 21:30:15 +01:00
f9a40599fb Fix typos 2020-04-29 19:36:34 +02:00
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
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
5cc7a09769 Fixes #366
That issue was actually a NoSuchElementException.
2020-04-02 15:51:55 -04:00
110347214e Update SingleThreadQueueExtent.java 2020-03-31 20:29:03 -04:00
e648b35b95 Small code quality changes 2020-03-24 12:32:36 -04:00
c1fe16b0e9 Generics improvements 2020-03-05 16:43:26 -05:00
915ab43f6e Cleanup unused code. 2020-03-05 16:07:20 -05:00
bfcf24b27b Small quality of code changes 2020-02-23 12:48:22 -05:00
e0bb1ce853 Revert "More minor cleanup"
This reverts commit 38435d50
2020-02-18 18:06:08 -05:00
38435d50b4 More minor cleanup 2020-02-18 18:00:39 -05:00
728b36cd8c Remove dead code and minor changes to existing code 2020-02-18 13:18:43 -05:00
048974dca5 Introduce Resettable interface 2020-02-16 15:14:34 -05:00
49dbd4b76b Minor changes 2020-02-14 14:29:08 -05:00
020c674c01 Revert migration of FaweCache to Kotlin 2020-01-29 15:01:38 -05:00
8078cf077a consistency changes 2020-01-26 13:01:16 -05:00
e0f6869573 Revert "More code quality fixes"
This reverts commit 2d6957ce
2020-01-23 14:41:57 -05:00
2d6957ce1c More code quality fixes 2020-01-22 21:15:52 -05:00
88359f0215 More Kotlin 2020-01-21 14:30:13 -05:00
0cad7f229b API improvements 2020-01-15 20:38:46 -05:00
2d5a8ce573 Cleaned up a lot of code and introduced Kotlin to the project 2020-01-14 19:44:09 -05:00
195c4a7647 wip history changes 2020-01-06 08:36:16 +00:00
c05cdd8faa Merge branch '1.15' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into 1.15 2020-01-04 10:12:33 +00:00
88a95221a8 Make masks more stateless 2020-01-04 10:11:13 +00:00
f3e0109be2 A lot of small changes 2020-01-03 15:38:30 -05:00
dfa3f457d6 New debugging to generate less console messages. 2020-01-03 12:30:46 -05:00
cfb6e3bca4 Various debugging and cleaning 2020-01-03 12:02:18 -05:00
c2cc4f5aeb Fix craftbook 2019-12-20 05:54:03 +00:00
f37bc9417c Merge branch 'merge' into 1.15 2019-12-19 19:05:27 +01:00
6a49b71cf2 Fix compile 2019-12-19 16:19:46 +00:00
6ddeb2ebf5 Various minor
refactor some region dependencies
swithc masking extent to a filter (so it can be parallelized)
Some unfinished refactoring of the filters
remove piston messages from strings.json
2019-12-16 09:07:51 +00:00
34afc03443 fix walls 2019-11-25 23:49:16 +00:00
144ea2ef34 Lazy tags + get / set tiles
Lazy tags means tiles/ents are not translated into the nms NBTBase until it is needed. Should be faster in cases where getFullBlock is called, but nbt is not always needed.
Commands like Copy and Paste, where the input/output are both nms worlds, can entirely bypass WorldEdit translating to and from the WorldEdit JNBT classes.
2019-11-20 03:40:52 +00:00
319b3c5f7f fix chunks not being submitted 2019-11-18 14:49:52 +00:00
0087a0d6ab Various minor
fix undo null sections
fix cancel for certain parallel jobs
optimize schem paste
2019-11-17 22:47:56 +00:00
3f92f12e89 synchronize char blocks 2019-11-17 20:02:33 +00:00
e661652c12 Fix setting blocks in null sections 2019-11-17 19:30:28 +00:00
69c225c00f Fix //vis 2019-11-17 17:22:21 +00:00