Commit Graph

449 Commits

Author SHA1 Message Date
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
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
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
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
MattBDev
7ef02dfbde Lighting in AyncBlock is set to 15 (at least for now) 2020-03-22 14:05:51 -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
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
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
MattBDev
e32e17b15c Fixed an NullPointerException with PlotSquared 2020-03-05 18:05:33 -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
99f7b23a8c Changes to API and something else I forgot because I got distracted 2020-02-20 23:59:57 -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
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
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
020c674c01 Revert migration of FaweCache to Kotlin 2020-01-29 15:01:38 -05:00
MattBDev
7d4acbdcac Remove some reflection from QueueHandler 2020-01-29 14:33:41 -05:00
MattBDev
cb6359f010 Removed 1.13.2 support. 2020-01-27 18:54:31 -05:00
MattBDev
8078cf077a consistency changes 2020-01-26 13:01:16 -05:00
MattBDev
e0f6869573 Revert "More code quality fixes"
This reverts commit 2d6957ce
2020-01-23 14:41:57 -05:00
MattBDev
2d6957ce1c More code quality fixes 2020-01-22 21:15:52 -05:00
MattBDev
88359f0215 More Kotlin 2020-01-21 14:30:13 -05:00
MattBDev
0cad7f229b API improvements 2020-01-15 20:38:46 -05:00
MattBDev
da7c21d32a Removed metrics from API
We shouldn't have exposed it in the first place.
2020-01-15 17:20:40 -05:00
MattBDev
2fb1c3bdbc Remove factions due to maven repo being down 2020-01-13 21:02:31 -05:00
MattBDev
b2be1ea9fb Remove duplicated methods 2020-01-10 19:26:26 -05:00
MattBDev
86a55b7bf0 Merge remote-tracking branch 'origin/wip' into 1.15 2020-01-10 19:22:23 -05:00
MattBDev
98d0420c08 Minor tweaks 2020-01-10 13:29:20 -05:00
Jesse Boyd
900268633d
Fix compile 2020-01-07 00:41:41 +00:00
MattBDev
05760c49cd Fixed compile issues and disabled plotsquared hook 2020-01-03 16:05:25 -05:00
MattBDev
f3e0109be2 A lot of small changes 2020-01-03 15:38:30 -05:00
NotMyFault
3fb5ac6be8 Rename debugpaste value names 2020-01-03 14:48:44 +01:00
KennyTV
8569359d8f Fix Java 12+ compatibility 2019-12-21 21:21:25 +01:00
Jesse Boyd
39faa740a2
Fix some adapter issues
regen 1.13, tile get npe, null block type values
2019-12-21 09:45:59 +00:00
Jesse Boyd
c2cc4f5aeb
Fix craftbook 2019-12-20 05:54:03 +00:00
NotMyFault
f37bc9417c Merge branch 'merge' into 1.15 2019-12-19 19:05:27 +01:00
Jesse Boyd
6a49b71cf2
Fix compile 2019-12-19 16:19:46 +00:00
Jesse Boyd
ea5f7a77be
Merge branch 'merge' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into merge 2019-12-16 09:08:28 +00:00
Jesse Boyd
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
MattBDev
ee94bc2ddb More work to get 1.15 working 2019-12-11 17:47:34 -05:00
MattBDev
a137d719cb Remove 1.13 and 1.14 code 2019-12-11 17:47:14 -05:00
NotMyFault
68144232ba More 1.15 wip No.2 2019-12-11 17:06:05 +01:00
NotMyFault
5358c51011 1.15 (wip)
Adapters and nms needs updating still, alongside some other fixes and changes, but I'm too tired for that now
2019-12-11 02:11:52 +01:00
Jesse Boyd
a36778794b
fix paste tile npe 2019-11-29 02:56:07 +00:00
NotMyFault
1b2710f823 Remove ASkyBlock
ASkyBlock does only exist up to 1.12 and won't be continued to higher versions.
2019-11-27 23:50:32 +01:00
Jesse Boyd
913ada31fb
Fix lighting 1.14 2019-11-24 02:26:52 +00:00
Jesse Boyd
1f19b92b0b
1.13? 2019-11-24 00:57:29 +00:00
Jesse Boyd
50c9a2c2d2
Fxi regen (again) 2019-11-23 18:41:05 +00:00
Jesse Boyd
1844d4dba7
Various major
Add regen
Add //history [find|restore|rollback|summary|clear]
 - history commands are interactable
 - inspect brush info is interactable
Commands are now logged to a searchable database
Fix some cases of id/ordinal mismatch
2019-11-23 04:31:48 +00:00
Jesse Boyd
0c85db920c
save strings.json 2019-11-21 20:37:56 +00:00
Jesse Boyd
1341e38a90
fix compile 2019-11-21 19:56:10 +00:00
Jesse Boyd
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
Jesse Boyd
1b07846746
some adapter refactoring 2019-11-19 04:40:40 +00:00
Jesse Boyd
0087a0d6ab
Various minor
fix undo null sections
fix cancel for certain parallel jobs
optimize schem paste
2019-11-17 22:47:56 +00:00
Jesse Boyd
329df8d33b
various minor
Increase target size
remove unnecessary brush sync
send chunk on biome change
2019-11-17 20:29:25 +00:00
Jesse Boyd
3f92f12e89
synchronize char blocks 2019-11-17 20:02:33 +00:00
Jesse Boyd
e661652c12
Fix setting blocks in null sections 2019-11-17 19:30:28 +00:00
Jesse Boyd
69c225c00f
Fix //vis 2019-11-17 17:22:21 +00:00
Jesse Boyd
601890fe64
Fix biome sending 2019-11-14 19:21:28 +00:00
Jesse Boyd
b1244c7780
Remove unused methods from IFawe 2019-11-14 10:54:09 +00:00
MattBDev
630245bb9f Attempt to fix compile and other small changes 2019-11-11 16:22:03 -05:00
MattBDev
a23a4e5496 misc changes. 2019-11-11 16:02:28 -05:00
Jesse Boyd
d61dac5aa5
Fix CFI generation 2019-11-08 22:30:39 +00:00
Jesse Boyd
faa63b0c35
CFI changeset 2019-11-08 05:27:04 +00:00
Jesse Boyd
82f5c4ebed
Fix compile 2019-11-07 10:28:17 +00:00
Jesse Boyd
0bfb1dbdd1
Fix BlockArrayClipboard offset 2019-11-05 15:08:44 +00:00
Jesse Boyd
1e16095cba
Fix palette / region iteration 2019-11-04 07:47:31 +00:00
Jesse Boyd
930dfb7f7c
Various minor
thread local cleans on close
remove unnecessary loop on set
remove unnecessary get on set
clean CFI cache on generate
2019-11-03 16:59:11 +00:00
MattBDev
d8d7c8c53f Merge branch 'commanding-pipeline' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into commanding-pipeline
 Conflicts:
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java
	worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java
	worldedit-core/src/main/java/com/boydti/fawe/beta/filters/DistrFilter.java
	worldedit-core/src/main/java/com/boydti/fawe/beta/implementation/ChunkCache.java
	worldedit-core/src/main/java/com/boydti/fawe/beta/implementation/ParallelQueueExtent.java
	worldedit-core/src/main/java/com/boydti/fawe/command/CFICommands.java
	worldedit-core/src/main/java/com/boydti/fawe/object/brush/visualization/cfi/HeightMapMCAGenerator.java
	worldedit-core/src/main/java/com/boydti/fawe/object/brush/visualization/cfi/MCAWriter.java
	worldedit-core/src/main/java/com/boydti/fawe/wrappers/WorldWrapper.java
	worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java
	worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolUtilCommands.java
	worldedit-core/src/main/java/com/sk89q/worldedit/world/NullWorld.java
	worldedit-core/src/main/java/com/sk89q/worldedit/world/World.java
	worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java
2019-11-02 15:58:46 -04:00
MattBDev
f262271519 Message updates 2019-11-02 15:53:25 -04:00
Jesse Boyd
32d837414b
static blocktype initialization
instead of using hacky reflection
2019-11-02 20:35:51 +01:00
Jesse Boyd
f8e1654a4e
Update BukkitGetBlocks_1_14.java 2019-11-02 18:37:17 +01:00
Jesse Boyd
df9e9e510a
Limit processing 2019-11-02 12:13:42 +01:00
Jesse Boyd
0c1fdcc498
remove broken debug 2019-11-01 22:56:07 +01:00
Jesse Boyd
9cf02fe654
WIP Anvil API 2019-10-31 21:04:02 +01:00
Jesse Boyd
c383fab2c2
cfi packet listener 2019-10-30 12:58:21 +01:00
Jesse Boyd
72951cdf23
Various
fake chunk packet
aliases
cfi wip
2019-10-30 12:26:52 +01:00
Jesse Boyd
8356004ec9
chunk sending / cfi 2019-10-26 14:21:49 +01:00
Jesse Boyd
938dde68b2
Don't force load
didn't realize this loads the chunk, I just need to delay unloading until the operation is complete
2019-10-23 16:44:36 +01:00
Jesse Boyd
2080e9786b
commanding-pipeline diff 2019-10-23 05:23:52 +01:00
MattBDev
7d60053aaf Fixed the mixup of backslash and forward slash 2019-10-09 21:51:37 -04:00