Feature/propagate diff and object cleanup (#1190)

* Feature/main/propagate diff annotations (#1187)

* 25% done

* More work

* More work

* 50%

* More work

* 75%

* 100% & cleanup

* Update adapters

* Squish squash, applesauce

commit 275ba9bd84
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:10:20 2021 +0200

    Update dependency com.comphenix.protocol:ProtocolLib to v4.7.0 (#1173)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 9fd8984804
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sat Jul 17 01:09:29 2021 +0200

    Update dependency org.checkerframework:checker-qual to v3.16.0 (#1184)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 861fb45e5c
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 19:07:02 2021 +0100

    Fix #1075

commit 420c45a29a
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 18:48:21 2021 +0100

    Entity removal should be on the main thread as we're just passing through rather than doing chunk operations
     - Fixes #1164
     - Not working: butcher/remove history

commit 4d4db7dcd0
Author: SirYwell <hannesgreule@outlook.de>
Date:   Fri Jul 16 17:52:44 2021 +0200

    Make sure leaves category is loaded for heightmaps (fixes #1176)

commit c98f6e4f37
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:44:52 2021 +0100

    Do not allow generation commands to generate outside selection

commit 2485f5eccc
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 10:43:15 2021 +0100

    EditSession needs to override some Extent methods to ensure block changes are correctly set through the various extents
    Fixes #1152

commit d9418ec8ae
Author: dordsor21 <dordsor21@gmail.com>
Date:   Fri Jul 16 09:52:44 2021 +0100

    Undo part of 41073bb1a0
    Fixes #1178

* Update Upstream

fb1fb84 Fixed typo and grammar

* We don't support custom heights yet

* Casing inconsistency

* Address a few comments

* Address comments

* Don't refactor to AP classpath

* Document annotation style

* Refactoring & shade cleanup

* Address a few comments

* More work

* Resolve comments not being resolved yet

* Feature/main/propagate diff annotations (#1187) (#1194)

* Remove beta package, fix history packages, move classes out of object package

* Resolve comments not being resolved yet

* Remove beta package, fix history packages, move classes out of object package

Co-authored-by: NotMyFault <mc.cache@web.de>

* brushes should be under brush

* More refactoring
 - Filters/processors should be in the same place and are related to extents
 - Transforms are in `extent.transform` in upstream

* Move history classes under history

* Update adapters

Co-authored-by: dordsor21 <dordsor21@gmail.com>
This commit is contained in:
NotMyFault 2021-07-23 17:48:51 +02:00 committed by GitHub
parent ad102ab7a9
commit 50ab8ad5c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
799 changed files with 4916 additions and 10589 deletions

View File

@ -5,9 +5,6 @@ Thank you for your interest in contributing to FastAsyncWorldEdit! We appreciate
effort, but to make sure that the inclusion of your patch is a smooth process, we effort, but to make sure that the inclusion of your patch is a smooth process, we
ask that you make note of the following guidelines. ask that you make note of the following guidelines.
* **Follow the [Oracle coding conventions](http://www.oracle.com/technetwork/java/codeconv-138413.html).**
We can't stress this enough; if your code has notable issues, it may delay
the process significantly.
* **Target Java 11 for source and compilation.** Make sure to mark methods with * **Target Java 11 for source and compilation.** Make sure to mark methods with
` @Override` that override methods of parent classes, or that implement ` @Override` that override methods of parent classes, or that implement
methods of interfaces. methods of interfaces.
@ -24,6 +21,8 @@ ask that you make note of the following guidelines.
around ten minutes to think about what the code is doing and whether it around ten minutes to think about what the code is doing and whether it
seems awfully roundabout. If you had to copy the same large piece of seems awfully roundabout. If you had to copy the same large piece of
code in several places, that's bad. code in several places, that's bad.
* **Annotate modified upstream (WorldEdit) code.** Doing so makes it easier to differentiate
between modifications. Take a look at the [Examples](#example) how that's been done.
* **Keep commit summaries under 70 characters.** For more details, place two * **Keep commit summaries under 70 characters.** For more details, place two
new lines after the summary line and write away! new lines after the summary line and write away!
* **Test your code.** We're not interested in broken code, for the obvious reasons. * **Test your code.** We're not interested in broken code, for the obvious reasons.
@ -60,15 +59,33 @@ adjust past changes.
Example Example
------- -------
### Code style
This is **GOOD:** This is **GOOD:**
```java
if (var.func(param1, param2)) { if (var.func(param1, param2)) {
// do things // do things
} }
```
This is **VERY BAD:** This is **VERY BAD:**
```java
if(var.func( param1, param2 )) if(var.func( param1, param2 ))
{ {
// do things // do things
} }
```
### Diff Annotations
```java
//FAWE start
public Region[] getCurrentRegions(FaweMaskManager.MaskType type) {
return WEManager.IMP.getMask(this, type);
}
//FAWE end
```
```java
//FAWE start - extends PassthroughExtent > implements Extent
public class EditSession extends PassthroughExtent implements AutoCloseable {
//FAWE end
```

View File

@ -99,6 +99,8 @@ dependencies {
api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT") api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT")
api("org.lz4:lz4-java:1.8.0") api("org.lz4:lz4-java:1.8.0")
api("net.jpountz:lz4-java-stream:1.0.0") { isTransitive = false } api("net.jpountz:lz4-java-stream:1.0.0") { isTransitive = false }
api("com.zaxxer:SparseBitSet:1.2") { isTransitive = false }
api("org.anarres:parallelgzip:1.0.5") { isTransitive = false }
// Third party // Third party
implementation("org.bstats:bstats-bukkit:2.2.1") implementation("org.bstats:bstats-bukkit:2.2.1")
implementation("org.bstats:bstats-base:2.2.1") implementation("org.bstats:bstats-base:2.2.1")
@ -179,7 +181,14 @@ tasks.named<ShadowJar>("shadowJar") {
relocate("net.kyori", "com.fastasyncworldedit.core.adventure") { relocate("net.kyori", "com.fastasyncworldedit.core.adventure") {
include(dependency("net.kyori:adventure-nbt:4.8.1")) include(dependency("net.kyori:adventure-nbt:4.8.1"))
} }
relocate("com.zaxxer", "com.fastasyncworldedit.core.math") {
include(dependency("com.zaxxer:SparseBitSet:1.2"))
}
relocate("org.anarres", "com.fastasyncworldedit.core.internal.io") {
include(dependency("org.anarres:parallelgzip:1.0.5"))
}
} }
minimize()
} }
tasks.named("assemble").configure { tasks.named("assemble").configure {

View File

@ -4,9 +4,9 @@ import com.fastasyncworldedit.bukkit.util.image.BukkitImageViewer;
import com.fastasyncworldedit.core.FAWEPlatformAdapterImpl; import com.fastasyncworldedit.core.FAWEPlatformAdapterImpl;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.IFawe; import com.fastasyncworldedit.core.IFawe;
import com.fastasyncworldedit.core.beta.implementation.preloader.AsyncPreloader; import com.fastasyncworldedit.core.queue.implementation.preloader.AsyncPreloader;
import com.fastasyncworldedit.core.beta.implementation.preloader.Preloader; import com.fastasyncworldedit.core.queue.implementation.preloader.Preloader;
import com.fastasyncworldedit.core.beta.implementation.queue.QueueHandler; import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
import com.fastasyncworldedit.bukkit.adapter.BukkitQueueHandler; import com.fastasyncworldedit.bukkit.adapter.BukkitQueueHandler;
import com.fastasyncworldedit.bukkit.adapter.NMSAdapter; import com.fastasyncworldedit.bukkit.adapter.NMSAdapter;
import com.fastasyncworldedit.bukkit.listener.BrushListener; import com.fastasyncworldedit.bukkit.listener.BrushListener;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import co.aikar.timings.Timings; import co.aikar.timings.Timings;
import com.fastasyncworldedit.core.beta.implementation.queue.QueueHandler; import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
import com.fastasyncworldedit.bukkit.listener.ChunkListener; import com.fastasyncworldedit.bukkit.listener.ChunkListener;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;

View File

@ -1,7 +1,6 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import com.fastasyncworldedit.core.beta.implementation.packet.ChunkPacket; import com.fastasyncworldedit.core.queue.implementation.packet.ChunkPacket;
import com.sk89q.jnbt.CompoundTag;
import com.sk89q.jnbt.Tag; import com.sk89q.jnbt.Tag;
import com.sk89q.worldedit.blocks.BaseItem; import com.sk89q.worldedit.blocks.BaseItem;
import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.blocks.BaseItemStack;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import com.fastasyncworldedit.core.beta.implementation.packet.ChunkPacket; import com.fastasyncworldedit.core.queue.implementation.packet.ChunkPacket;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;

View File

@ -1,11 +1,11 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import com.fastasyncworldedit.core.FAWEPlatformAdapterImpl; import com.fastasyncworldedit.core.FAWEPlatformAdapterImpl;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.sk89q.worldedit.bukkit.WorldEditPlugin; import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.world.block.BlockID; import com.fastasyncworldedit.core.world.block.BlockID;
import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BlockTypesCache; import com.sk89q.worldedit.world.block.BlockTypesCache;

View File

@ -1,12 +1,12 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import com.fastasyncworldedit.core.beta.IQueueChunk; import com.fastasyncworldedit.core.queue.IQueueChunk;
import com.fastasyncworldedit.core.beta.IQueueExtent; import com.fastasyncworldedit.core.queue.IQueueExtent;
import com.fastasyncworldedit.core.beta.implementation.lighting.NMSRelighter; import com.fastasyncworldedit.core.extent.processor.lighting.NMSRelighter;
import com.fastasyncworldedit.core.beta.implementation.lighting.Relighter; import com.fastasyncworldedit.core.extent.processor.lighting.Relighter;
import com.fastasyncworldedit.core.beta.implementation.lighting.RelighterFactory; import com.fastasyncworldedit.core.extent.processor.lighting.RelighterFactory;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.object.RelightMode; import com.fastasyncworldedit.core.extent.processor.lighting.RelightMode;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@ -1,8 +1,8 @@
package com.fastasyncworldedit.bukkit.adapter; package com.fastasyncworldedit.bukkit.adapter;
import com.fastasyncworldedit.core.beta.IChunkCache; import com.fastasyncworldedit.core.queue.IChunkCache;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.beta.implementation.queue.SingleThreadQueueExtent; import com.fastasyncworldedit.core.queue.implementation.SingleThreadQueueExtent;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.extent.Extent; import com.sk89q.worldedit.extent.Extent;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.bukkit.filter; package com.fastasyncworldedit.bukkit.filter;
import com.fastasyncworldedit.core.regions.general.CuboidRegionFilter; import com.fastasyncworldedit.core.regions.filter.CuboidRegionFilter;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector2;
import com.griefdefender.api.claim.Claim; import com.griefdefender.api.claim.Claim;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.bukkit.filter; package com.fastasyncworldedit.bukkit.filter;
import com.fastasyncworldedit.core.regions.general.CuboidRegionFilter; import com.fastasyncworldedit.core.regions.filter.CuboidRegionFilter;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector2;
import me.ryanhamshire.GriefPrevention.Claim; import me.ryanhamshire.GriefPrevention.Claim;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.bukkit.filter; package com.fastasyncworldedit.bukkit.filter;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.regions.general.CuboidRegionFilter; import com.fastasyncworldedit.core.regions.filter.CuboidRegionFilter;
import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;

View File

@ -1,8 +1,8 @@
package com.fastasyncworldedit.bukkit.listener; package com.fastasyncworldedit.bukkit.listener;
import com.fastasyncworldedit.core.object.brush.MovableTool; import com.fastasyncworldedit.core.command.tool.MovableTool;
import com.fastasyncworldedit.core.object.brush.ResettableTool; import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.object.brush.scroll.ScrollTool; import com.fastasyncworldedit.core.command.tool.scroll.ScrollTool;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.bukkit.BukkitPlayer; import com.sk89q.worldedit.bukkit.BukkitPlayer;

View File

@ -2,7 +2,7 @@ package com.fastasyncworldedit.bukkit.regions;
import com.fastasyncworldedit.bukkit.filter.GriefDefenderFilter; import com.fastasyncworldedit.bukkit.filter.GriefDefenderFilter;
import com.fastasyncworldedit.core.regions.FaweMask; import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.general.RegionFilter; import com.fastasyncworldedit.core.regions.filter.RegionFilter;
import com.flowpowered.math.vector.Vector3i; import com.flowpowered.math.vector.Vector3i;
import com.griefdefender.api.GriefDefender; import com.griefdefender.api.GriefDefender;
import com.griefdefender.api.claim.Claim; import com.griefdefender.api.claim.Claim;

View File

@ -2,7 +2,7 @@ package com.fastasyncworldedit.bukkit.regions;
import com.fastasyncworldedit.bukkit.filter.GriefPreventionFilter; import com.fastasyncworldedit.bukkit.filter.GriefPreventionFilter;
import com.fastasyncworldedit.core.regions.FaweMask; import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.general.RegionFilter; import com.fastasyncworldedit.core.regions.filter.RegionFilter;
import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;

View File

@ -1,9 +1,9 @@
package com.fastasyncworldedit.bukkit.regions; package com.fastasyncworldedit.bukkit.regions;
import com.fastasyncworldedit.bukkit.filter.WorldGuardFilter; import com.fastasyncworldedit.bukkit.filter.WorldGuardFilter;
import com.fastasyncworldedit.core.object.RegionWrapper; import com.fastasyncworldedit.core.regions.RegionWrapper;
import com.fastasyncworldedit.core.regions.FaweMask; import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.general.RegionFilter; import com.fastasyncworldedit.core.regions.filter.RegionFilter;
import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.bukkit.regions.plotsquared; package com.fastasyncworldedit.bukkit.regions.plotsquared;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.object.RelightMode; import com.fastasyncworldedit.core.extent.processor.lighting.RelightMode;
import com.fastasyncworldedit.core.util.EditSessionBuilder; import com.fastasyncworldedit.core.util.EditSessionBuilder;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.plotsquared.core.configuration.Settings; import com.plotsquared.core.configuration.Settings;

View File

@ -3,7 +3,6 @@ package com.fastasyncworldedit.bukkit.regions.plotsquared;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.FaweCache; import com.fastasyncworldedit.core.FaweCache;
import com.fastasyncworldedit.core.object.io.PGZIPOutputStream;
import com.fastasyncworldedit.core.util.EditSessionBuilder; import com.fastasyncworldedit.core.util.EditSessionBuilder;
import com.fastasyncworldedit.core.util.IOUtil; import com.fastasyncworldedit.core.util.IOUtil;
import com.plotsquared.core.PlotSquared; import com.plotsquared.core.PlotSquared;
@ -16,22 +15,23 @@ import com.plotsquared.core.util.SchematicHandler;
import com.plotsquared.core.util.task.RunnableVal; import com.plotsquared.core.util.task.RunnableVal;
import com.plotsquared.core.util.task.TaskManager; import com.plotsquared.core.util.task.TaskManager;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.jnbt.CompressedCompoundTag; import com.fastasyncworldedit.core.jnbt.CompressedCompoundTag;
import com.sk89q.jnbt.NBTInputStream; import com.sk89q.jnbt.NBTInputStream;
import com.sk89q.jnbt.NBTOutputStream; import com.sk89q.jnbt.NBTOutputStream;
import com.sk89q.jnbt.Tag; import com.sk89q.jnbt.Tag;
import com.sk89q.jnbt.fawe.CompressedSchematicTag; import com.fastasyncworldedit.core.jnbt.CompressedSchematicTag;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;
import com.sk89q.worldedit.extent.clipboard.io.BuiltInClipboardFormat; import com.sk89q.worldedit.extent.clipboard.io.BuiltInClipboardFormat;
import com.sk89q.worldedit.extent.clipboard.io.FastSchematicReader; import com.fastasyncworldedit.core.extent.clipboard.io.FastSchematicReader;
import com.sk89q.worldedit.extent.clipboard.io.FastSchematicWriter; import com.fastasyncworldedit.core.extent.clipboard.io.FastSchematicWriter;
import com.sk89q.worldedit.extent.clipboard.io.MCEditSchematicReader; import com.sk89q.worldedit.extent.clipboard.io.MCEditSchematicReader;
import com.sk89q.worldedit.extent.clipboard.io.SpongeSchematicReader; import com.sk89q.worldedit.extent.clipboard.io.SpongeSchematicReader;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.CuboidRegion;
import net.jpountz.lz4.LZ4BlockInputStream; import net.jpountz.lz4.LZ4BlockInputStream;
import org.anarres.parallelgzip.ParallelGZIPOutputStream;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -136,19 +136,19 @@ public class FaweDelegateSchematicHandler {
Clipboard clipboard = (Clipboard) cTag.getSource(); Clipboard clipboard = (Clipboard) cTag.getSource();
try (OutputStream stream = new FileOutputStream(tmp); try (OutputStream stream = new FileOutputStream(tmp);
NBTOutputStream output = new NBTOutputStream( NBTOutputStream output = new NBTOutputStream(
new BufferedOutputStream(new PGZIPOutputStream(stream)))) { new BufferedOutputStream(new ParallelGZIPOutputStream(stream)))) {
new FastSchematicWriter(output).write(clipboard); new FastSchematicWriter(output).write(clipboard);
} }
} else { } else {
try (OutputStream stream = new FileOutputStream(tmp); try (OutputStream stream = new FileOutputStream(tmp);
BufferedOutputStream output = new BufferedOutputStream(new PGZIPOutputStream(stream))) { BufferedOutputStream output = new BufferedOutputStream(new ParallelGZIPOutputStream(stream))) {
LZ4BlockInputStream is = cTag.adapt(cTag.getSource()); LZ4BlockInputStream is = cTag.adapt(cTag.getSource());
IOUtil.copy(is, output); IOUtil.copy(is, output);
} }
} }
} else { } else {
try (OutputStream stream = new FileOutputStream(tmp); try (OutputStream stream = new FileOutputStream(tmp);
NBTOutputStream output = new NBTOutputStream(new PGZIPOutputStream(stream))) { NBTOutputStream output = new NBTOutputStream(new ParallelGZIPOutputStream(stream))) {
Map<String, Tag> map = tag.getValue(); Map<String, Tag> map = tag.getValue();
output.writeNamedTag("Schematic", map.getOrDefault("Schematic", tag)); output.writeNamedTag("Schematic", map.getOrDefault("Schematic", tag));
} }
@ -177,7 +177,7 @@ public class FaweDelegateSchematicHandler {
BuiltInClipboardFormat.SPONGE_SCHEMATIC.write(output, clipboard); BuiltInClipboardFormat.SPONGE_SCHEMATIC.write(output, clipboard);
} }
try { try {
try (PGZIPOutputStream gzip = new PGZIPOutputStream(output)) { try (ParallelGZIPOutputStream gzip = new ParallelGZIPOutputStream(output)) {
try (NBTOutputStream nos = new NBTOutputStream(gzip)) { try (NBTOutputStream nos = new NBTOutputStream(gzip)) {
Map<String, Tag> map = weTag.getValue(); Map<String, Tag> map = weTag.getValue();
nos.writeNamedTag("Schematic", map.getOrDefault("Schematic", weTag)); nos.writeNamedTag("Schematic", map.getOrDefault("Schematic", weTag));

View File

@ -2,8 +2,8 @@ package com.fastasyncworldedit.bukkit.regions.plotsquared;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.FaweCache; import com.fastasyncworldedit.core.FaweCache;
import com.fastasyncworldedit.core.beta.IQueueChunk; import com.fastasyncworldedit.core.queue.IQueueChunk;
import com.fastasyncworldedit.core.beta.IQueueExtent; import com.fastasyncworldedit.core.queue.IQueueExtent;
import com.plotsquared.core.queue.LightingMode; import com.plotsquared.core.queue.LightingMode;
import com.plotsquared.core.queue.QueueCoordinator; import com.plotsquared.core.queue.QueueCoordinator;
import com.plotsquared.core.queue.subscriber.ProgressSubscriber; import com.plotsquared.core.queue.subscriber.ProgressSubscriber;
@ -12,7 +12,7 @@ import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableBlockVector3; import com.fastasyncworldedit.core.math.MutableBlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeType;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.bukkit.regions.plotsquared; package com.fastasyncworldedit.bukkit.regions.plotsquared;
import com.fastasyncworldedit.core.regions.general.CuboidRegionFilter; import com.fastasyncworldedit.core.regions.filter.CuboidRegionFilter;
import com.plotsquared.core.location.Location; import com.plotsquared.core.location.Location;
import com.plotsquared.core.plot.Plot; import com.plotsquared.core.plot.Plot;
import com.plotsquared.core.plot.PlotArea; import com.plotsquared.core.plot.PlotArea;

View File

@ -3,7 +3,7 @@ package com.fastasyncworldedit.bukkit.regions.plotsquared;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.regions.FaweMask; import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.FaweMaskManager; import com.fastasyncworldedit.core.regions.FaweMaskManager;
import com.fastasyncworldedit.core.regions.general.RegionFilter; import com.fastasyncworldedit.core.regions.filter.RegionFilter;
import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler;
import com.plotsquared.core.PlotSquared; import com.plotsquared.core.PlotSquared;
import com.plotsquared.core.command.MainCommand; import com.plotsquared.core.command.MainCommand;

View File

@ -3,13 +3,13 @@ package com.fastasyncworldedit.bukkit.regions.plotsquaredv4;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.FaweCache; import com.fastasyncworldedit.core.FaweCache;
import com.fastasyncworldedit.core.beta.IQueueChunk; import com.fastasyncworldedit.core.queue.IQueueChunk;
import com.fastasyncworldedit.core.beta.IQueueExtent; import com.fastasyncworldedit.core.queue.IQueueExtent;
import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableBlockVector3; import com.fastasyncworldedit.core.math.MutableBlockVector3;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;

View File

@ -2,8 +2,7 @@ package com.fastasyncworldedit.bukkit.regions.plotsquaredv4;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.FaweCache; import com.fastasyncworldedit.core.FaweCache;
import com.fastasyncworldedit.core.object.clipboard.ReadOnlyClipboard; import com.fastasyncworldedit.core.extent.clipboard.ReadOnlyClipboard;
import com.fastasyncworldedit.core.object.io.PGZIPOutputStream;
import com.fastasyncworldedit.core.util.EditSessionBuilder; import com.fastasyncworldedit.core.util.EditSessionBuilder;
import com.fastasyncworldedit.core.util.IOUtil; import com.fastasyncworldedit.core.util.IOUtil;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
@ -14,8 +13,8 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil;
import com.github.intellectualsites.plotsquared.plot.util.SchematicHandler; import com.github.intellectualsites.plotsquared.plot.util.SchematicHandler;
import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.jnbt.CompressedCompoundTag; import com.fastasyncworldedit.core.jnbt.CompressedCompoundTag;
import com.sk89q.jnbt.fawe.CompressedSchematicTag; import com.fastasyncworldedit.core.jnbt.CompressedSchematicTag;
import com.sk89q.jnbt.NBTOutputStream; import com.sk89q.jnbt.NBTOutputStream;
import com.sk89q.jnbt.Tag; import com.sk89q.jnbt.Tag;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
@ -23,11 +22,12 @@ import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.extent.clipboard.BlockArrayClipboard; import com.sk89q.worldedit.extent.clipboard.BlockArrayClipboard;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;
import com.sk89q.worldedit.extent.clipboard.io.BuiltInClipboardFormat; import com.sk89q.worldedit.extent.clipboard.io.BuiltInClipboardFormat;
import com.sk89q.worldedit.extent.clipboard.io.FastSchematicWriter; import com.fastasyncworldedit.core.extent.clipboard.io.FastSchematicWriter;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import net.jpountz.lz4.LZ4BlockInputStream; import net.jpountz.lz4.LZ4BlockInputStream;
import org.anarres.parallelgzip.ParallelGZIPOutputStream;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.File; import java.io.File;
@ -84,17 +84,17 @@ public class FaweSchematicHandler extends SchematicHandler {
CompressedCompoundTag cTag = (CompressedCompoundTag) tag; CompressedCompoundTag cTag = (CompressedCompoundTag) tag;
if (cTag instanceof CompressedSchematicTag) { if (cTag instanceof CompressedSchematicTag) {
Clipboard clipboard = (Clipboard) cTag.getSource(); Clipboard clipboard = (Clipboard) cTag.getSource();
try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new BufferedOutputStream(new PGZIPOutputStream(stream)))) { try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new BufferedOutputStream(new ParallelGZIPOutputStream(stream)))) {
new FastSchematicWriter(output).write(clipboard); new FastSchematicWriter(output).write(clipboard);
} }
} else { } else {
try (OutputStream stream = new FileOutputStream(tmp); BufferedOutputStream output = new BufferedOutputStream(new PGZIPOutputStream(stream))) { try (OutputStream stream = new FileOutputStream(tmp); BufferedOutputStream output = new BufferedOutputStream(new ParallelGZIPOutputStream(stream))) {
LZ4BlockInputStream is = cTag.adapt(cTag.getSource()); LZ4BlockInputStream is = cTag.adapt(cTag.getSource());
IOUtil.copy(is, stream); IOUtil.copy(is, stream);
} }
} }
} else { } else {
try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new PGZIPOutputStream(stream))) { try (OutputStream stream = new FileOutputStream(tmp); NBTOutputStream output = new NBTOutputStream(new ParallelGZIPOutputStream(stream))) {
Map<String, Tag> map = tag.getValue(); Map<String, Tag> map = tag.getValue();
output.writeNamedTag("Schematic", map.getOrDefault("Schematic", tag)); output.writeNamedTag("Schematic", map.getOrDefault("Schematic", tag));
} }
@ -126,7 +126,7 @@ public class FaweSchematicHandler extends SchematicHandler {
@Override @Override
public void run(OutputStream output) { public void run(OutputStream output) {
try { try {
try (PGZIPOutputStream gzip = new PGZIPOutputStream(output)) { try (ParallelGZIPOutputStream gzip = new ParallelGZIPOutputStream(output)) {
try (NBTOutputStream nos = new NBTOutputStream(gzip)) { try (NBTOutputStream nos = new NBTOutputStream(gzip)) {
Map<String, Tag> map = weTag.getValue(); Map<String, Tag> map = weTag.getValue();
nos.writeNamedTag("Schematic", map.getOrDefault("Schematic", weTag)); nos.writeNamedTag("Schematic", map.getOrDefault("Schematic", weTag));

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.bukkit.regions.plotsquaredv4; package com.fastasyncworldedit.bukkit.regions.plotsquaredv4;
import com.fastasyncworldedit.core.regions.general.CuboidRegionFilter; import com.fastasyncworldedit.core.regions.filter.CuboidRegionFilter;
import com.github.intellectualsites.plotsquared.plot.object.Location; import com.github.intellectualsites.plotsquared.plot.object.Location;
import com.github.intellectualsites.plotsquared.plot.object.Plot; import com.github.intellectualsites.plotsquared.plot.object.Plot;
import com.github.intellectualsites.plotsquared.plot.object.PlotArea; import com.github.intellectualsites.plotsquared.plot.object.PlotArea;

View File

@ -1,10 +1,10 @@
package com.fastasyncworldedit.bukkit.regions.plotsquaredv4; package com.fastasyncworldedit.bukkit.regions.plotsquaredv4;
import com.fastasyncworldedit.core.FaweAPI; import com.fastasyncworldedit.core.FaweAPI;
import com.fastasyncworldedit.core.object.RegionWrapper; import com.fastasyncworldedit.core.regions.RegionWrapper;
import com.fastasyncworldedit.core.regions.FaweMask; import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.FaweMaskManager; import com.fastasyncworldedit.core.regions.FaweMaskManager;
import com.fastasyncworldedit.core.regions.general.RegionFilter; import com.fastasyncworldedit.core.regions.filter.RegionFilter;
import com.github.intellectualsites.plotsquared.plot.PlotSquared; import com.github.intellectualsites.plotsquared.plot.PlotSquared;
import com.github.intellectualsites.plotsquared.plot.commands.MainCommand; import com.github.intellectualsites.plotsquared.plot.commands.MainCommand;
import com.github.intellectualsites.plotsquared.plot.config.Settings; import com.github.intellectualsites.plotsquared.plot.config.Settings;

View File

@ -1,22 +1,3 @@
/*
* WorldEdit, a Minecraft world manipulation toolkit
* Copyright (C) sk89q <http://www.sk89q.com>
* Copyright (C) WorldEdit team and contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.fastasyncworldedit.bukkit.util; package com.fastasyncworldedit.bukkit.util;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;

View File

@ -62,7 +62,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
/** /**
* Adapts between Bukkit and WorldEdit equivalent objects. * Adapts between Bukkit and WorldEdit equivalent objects.
*/ */
// FAWE start - enum-ized //FAWE start - enum-ized
public enum BukkitAdapter { public enum BukkitAdapter {
INSTANCE; INSTANCE;
@ -77,7 +77,7 @@ public enum BukkitAdapter {
return INSTANCE.adapter; return INSTANCE.adapter;
} }
// FAWE end //FAWE end
private static final ParserContext TO_BLOCK_CONTEXT = new ParserContext(); private static final ParserContext TO_BLOCK_CONTEXT = new ParserContext();
@ -93,9 +93,9 @@ public enum BukkitAdapter {
* @return If they are equal * @return If they are equal
*/ */
public static boolean equals(BlockType blockType, Material type) { public static boolean equals(BlockType blockType, Material type) {
// FAWE start - swapped reference to getAdapter //FAWE start - swapped reference to getAdapter
return getAdapter().equals(blockType, type); return getAdapter().equals(blockType, type);
// FAWE end //FAWE end
} }
/** /**
@ -108,9 +108,9 @@ public enum BukkitAdapter {
* @return a wrapped Bukkit world * @return a wrapped Bukkit world
*/ */
public static BukkitWorld asBukkitWorld(World world) { public static BukkitWorld asBukkitWorld(World world) {
// FAWE start - logic moved to IBukkitAdapter //FAWE start - logic moved to IBukkitAdapter
return getAdapter().asBukkitWorld(world); return getAdapter().asBukkitWorld(world);
// FAWE end //FAWE end
} }
/** /**
@ -120,9 +120,9 @@ public enum BukkitAdapter {
* @return a WorldEdit world * @return a WorldEdit world
*/ */
public static World adapt(org.bukkit.World world) { public static World adapt(org.bukkit.World world) {
// FAWE start - logic moved to IBukkitAdapter //FAWE start - logic moved to IBukkitAdapter
return getAdapter().adapt(world); return getAdapter().adapt(world);
// FAWE end //FAWE end
} }
/** /**

View File

@ -146,7 +146,7 @@ public class BukkitBlockRegistry extends BundledBlockRegistry {
} }
} }
// FAWE start //FAWE start
@Override @Override
public Collection<String> values() { public Collection<String> values() {
ArrayList<String> blocks = new ArrayList<>(); ArrayList<String> blocks = new ArrayList<>();

View File

@ -21,7 +21,7 @@ package com.sk89q.worldedit.bukkit;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.object.RunnableVal; import com.fastasyncworldedit.core.util.task.RunnableVal;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.sk89q.util.StringUtil; import com.sk89q.util.StringUtil;
import com.sk89q.wepif.VaultResolver; import com.sk89q.wepif.VaultResolver;

View File

@ -25,7 +25,7 @@ import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.extent.inventory.BlockBagException; import com.sk89q.worldedit.extent.inventory.BlockBagException;
import com.sk89q.worldedit.extent.inventory.OutOfBlocksException; import com.sk89q.worldedit.extent.inventory.OutOfBlocksException;
import com.sk89q.worldedit.extent.inventory.OutOfSpaceException; import com.sk89q.worldedit.extent.inventory.OutOfSpaceException;
import com.sk89q.worldedit.extent.inventory.SlottableBlockBag; import com.fastasyncworldedit.core.extent.inventory.SlottableBlockBag;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockState;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldedit.bukkit; package com.sk89q.worldedit.bukkit;
import com.fastasyncworldedit.core.beta.implementation.lighting.RelighterFactory; import com.fastasyncworldedit.core.extent.processor.lighting.RelighterFactory;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.sk89q.bukkit.util.CommandInfo; import com.sk89q.bukkit.util.CommandInfo;
import com.sk89q.bukkit.util.CommandRegistration; import com.sk89q.bukkit.util.CommandRegistration;
@ -218,12 +218,12 @@ public class BukkitServerInterface extends AbstractPlatform implements MultiUser
return plugin.getDescription().getVersion(); return plugin.getDescription().getVersion();
} }
// FAWE start //FAWE start
@Override @Override
public String getId() { public String getId() {
return "intellectualsites:bukkit"; return "intellectualsites:bukkit";
} }
// FAWE end //FAWE end
@Override @Override
public Map<Capability, Preference> getCapabilities() { public Map<Capability, Preference> getCapabilities() {

View File

@ -21,8 +21,8 @@ package com.sk89q.worldedit.bukkit;
import com.fastasyncworldedit.bukkit.util.WorldUnloadedException; import com.fastasyncworldedit.bukkit.util.WorldUnloadedException;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.beta.implementation.packet.ChunkPacket; import com.fastasyncworldedit.core.queue.implementation.packet.ChunkPacket;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
@ -311,11 +311,11 @@ public class BukkitWorld extends AbstractWorld {
for (TreeGenerator.TreeType type : TreeGenerator.TreeType.values()) { for (TreeGenerator.TreeType type : TreeGenerator.TreeType.values()) {
if (treeTypeMapping.get(type) == null) { if (treeTypeMapping.get(type) == null) {
LOGGER.error("No TreeType mapping for TreeGenerator.TreeType." + type); LOGGER.error("No TreeType mapping for TreeGenerator.TreeType." + type);
// FAWE start //FAWE start
LOGGER.warn("Your FAWE version is newer than " + Bukkit.getVersion() + LOGGER.warn("Your FAWE version is newer than " + Bukkit.getVersion() +
" and contains features of future minecraft versions which do not exist in " " and contains features of future minecraft versions which do not exist in "
+ Bukkit.getVersion() + ", hence the tree type " + type + " is not available."); + Bukkit.getVersion() + ", hence the tree type " + type + " is not available.");
// FAWE end //FAWE end
} }
} }
} }

View File

@ -112,7 +112,7 @@ public class WorldEditPlugin extends JavaPlugin {
@Override @Override
public void onLoad() { public void onLoad() {
// FAWE start //FAWE start
// This is already covered by Spigot, however, a more pesky warning with a proper explanation over "Ambiguous plugin name..." can't hurt. // This is already covered by Spigot, however, a more pesky warning with a proper explanation over "Ambiguous plugin name..." can't hurt.
Plugin[] plugins = Bukkit.getServer().getPluginManager().getPlugins(); Plugin[] plugins = Bukkit.getServer().getPluginManager().getPlugins();
for (Plugin p : plugins) { for (Plugin p : plugins) {
@ -122,7 +122,7 @@ public class WorldEditPlugin extends JavaPlugin {
"Stop your server and delete the 'worldedit-bukkit' jar from your plugins folder."); "Stop your server and delete the 'worldedit-bukkit' jar from your plugins folder.");
} }
} }
// FAWE end //FAWE end
INSTANCE = this; INSTANCE = this;

View File

@ -23,9 +23,9 @@ import com.fastasyncworldedit.bukkit.FaweBukkit;
import com.fastasyncworldedit.bukkit.adapter.IBukkitAdapter; import com.fastasyncworldedit.bukkit.adapter.IBukkitAdapter;
import com.fastasyncworldedit.bukkit.adapter.NMSRelighterFactory; import com.fastasyncworldedit.bukkit.adapter.NMSRelighterFactory;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.beta.implementation.lighting.RelighterFactory; import com.fastasyncworldedit.core.extent.processor.lighting.RelighterFactory;
import com.fastasyncworldedit.core.beta.implementation.packet.ChunkPacket; import com.fastasyncworldedit.core.queue.implementation.packet.ChunkPacket;
import com.sk89q.jnbt.AdventureNBTConverter; import com.sk89q.jnbt.AdventureNBTConverter;
import com.sk89q.jnbt.Tag; import com.sk89q.jnbt.Tag;
import com.sk89q.worldedit.blocks.BaseItem; import com.sk89q.worldedit.blocks.BaseItem;
@ -67,9 +67,9 @@ import javax.annotation.Nullable;
/** /**
* An interface for adapters of various Bukkit implementations. * An interface for adapters of various Bukkit implementations.
*/ */
// FAWE start - Generic & extends IBukkitAdapter //FAWE start - Generic & extends IBukkitAdapter
public interface BukkitImplAdapter<T> extends IBukkitAdapter { public interface BukkitImplAdapter<T> extends IBukkitAdapter {
// FAWE end //FAWE end
/** /**
* Get a data fixer, or null if not supported. * Get a data fixer, or null if not supported.
@ -225,10 +225,10 @@ public interface BukkitImplAdapter<T> extends IBukkitAdapter {
Set<SideEffect> getSupportedSideEffects(); Set<SideEffect> getSupportedSideEffects();
default OptionalInt getInternalBlockStateId(BlockData data) { default OptionalInt getInternalBlockStateId(BlockData data) {
// FAWE start //FAWE start
// return OptionalInt.empty(); // return OptionalInt.empty();
return getInternalBlockStateId(BukkitAdapter.adapt(data)); return getInternalBlockStateId(BukkitAdapter.adapt(data));
// FAWE end //FAWE end
} }
/** /**
@ -253,7 +253,7 @@ public interface BukkitImplAdapter<T> extends IBukkitAdapter {
throw new UnsupportedOperationException("This adapter does not support regeneration."); throw new UnsupportedOperationException("This adapter does not support regeneration.");
} }
// FAWE start //FAWE start
default BlockMaterial getMaterial(BlockType blockType) { default BlockMaterial getMaterial(BlockType blockType) {
return getMaterial(blockType.getDefaultState()); return getMaterial(blockType.getDefaultState());
} }
@ -306,5 +306,5 @@ public interface BukkitImplAdapter<T> extends IBukkitAdapter {
default RelighterFactory getRelighterFactory() { default RelighterFactory getRelighterFactory() {
return new NMSRelighterFactory(); // TODO implement in adapters instead return new NMSRelighterFactory(); // TODO implement in adapters instead
} }
// FAWE end //FAWE end
} }

View File

@ -19,8 +19,8 @@
package com.sk89q.worldedit.cli; package com.sk89q.worldedit.cli;
import com.fastasyncworldedit.core.beta.implementation.lighting.NullRelighter; import com.fastasyncworldedit.core.extent.processor.lighting.NullRelighter;
import com.fastasyncworldedit.core.beta.implementation.lighting.RelighterFactory; import com.fastasyncworldedit.core.extent.processor.lighting.RelighterFactory;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.extension.platform.AbstractPlatform; import com.sk89q.worldedit.extension.platform.AbstractPlatform;

View File

@ -19,8 +19,8 @@
package com.sk89q.worldedit.cli.schematic; package com.sk89q.worldedit.cli.schematic;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.beta.implementation.packet.ChunkPacket; import com.fastasyncworldedit.core.queue.implementation.packet.ChunkPacket;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;

View File

@ -51,6 +51,8 @@ dependencies {
api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT") api("com.intellectualsites.paster:Paster:1.0.1-SNAPSHOT")
compileOnly("net.jpountz:lz4-java-stream:1.0.0") { isTransitive = false } compileOnly("net.jpountz:lz4-java-stream:1.0.0") { isTransitive = false }
compileOnly("org.lz4:lz4-java:1.8.0") compileOnly("org.lz4:lz4-java:1.8.0")
compileOnly("com.zaxxer:SparseBitSet:1.2")
compileOnly("org.anarres:parallelgzip:1.0.5")
} }
tasks.named<Test>("test") { tasks.named<Test>("test") {

View File

@ -40,7 +40,7 @@ import java.util.Map;
* @deprecated WorldEdit does not handle interpreting NBT, * @deprecated WorldEdit does not handle interpreting NBT,
* deprecated for removal without replacement * deprecated for removal without replacement
*/ */
@Deprecated @Deprecated(forRemoval = true)
public class MobSpawnerBlock extends BaseBlock { public class MobSpawnerBlock extends BaseBlock {
private String mobType; private String mobType;

View File

@ -35,7 +35,7 @@ import java.util.Map;
* @deprecated WorldEdit does not handle interpreting NBT, * @deprecated WorldEdit does not handle interpreting NBT,
* deprecated for removal without replacement * deprecated for removal without replacement
*/ */
@Deprecated @Deprecated(forRemoval = true)
public class SignBlock extends BaseBlock { public class SignBlock extends BaseBlock {
private String[] text; private String[] text;

View File

@ -35,7 +35,7 @@ import java.util.Map;
* @deprecated WorldEdit does not handle interpreting NBT, * @deprecated WorldEdit does not handle interpreting NBT,
* deprecated for removal without replacement * deprecated for removal without replacement
*/ */
@Deprecated @Deprecated(forRemoval = true)
public class SkullBlock extends BaseBlock { public class SkullBlock extends BaseBlock {
private String owner = ""; // notchian private String owner = ""; // notchian

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core; package com.fastasyncworldedit.core;
import com.fastasyncworldedit.core.beta.IChunkGet; import com.fastasyncworldedit.core.queue.IChunkGet;
public interface FAWEPlatformAdapterImpl { public interface FAWEPlatformAdapterImpl {

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core; package com.fastasyncworldedit.core;
import com.fastasyncworldedit.core.beta.implementation.queue.QueueHandler; import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.util.CachedTextureUtil; import com.fastasyncworldedit.core.util.CachedTextureUtil;
import com.fastasyncworldedit.core.util.CleanTextureUtil; import com.fastasyncworldedit.core.util.CleanTextureUtil;

View File

@ -1,15 +1,15 @@
package com.fastasyncworldedit.core; package com.fastasyncworldedit.core;
import com.fastasyncworldedit.core.beta.IQueueChunk; import com.fastasyncworldedit.core.queue.IQueueChunk;
import com.fastasyncworldedit.core.beta.IQueueExtent; import com.fastasyncworldedit.core.queue.IQueueExtent;
import com.fastasyncworldedit.core.beta.implementation.lighting.Relighter; import com.fastasyncworldedit.core.extent.processor.lighting.Relighter;
import com.fastasyncworldedit.core.beta.implementation.queue.ParallelQueueExtent; import com.fastasyncworldedit.core.queue.implementation.ParallelQueueExtent;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.object.RegionWrapper; import com.fastasyncworldedit.core.regions.RegionWrapper;
import com.fastasyncworldedit.core.object.RelightMode; import com.fastasyncworldedit.core.extent.processor.lighting.RelightMode;
import com.fastasyncworldedit.core.object.changeset.DiskStorageHistory; import com.fastasyncworldedit.core.history.DiskStorageHistory;
import com.fastasyncworldedit.core.object.changeset.SimpleChangeSetSummary; import com.fastasyncworldedit.core.history.changeset.SimpleChangeSetSummary;
import com.fastasyncworldedit.core.object.exception.FaweException; import com.fastasyncworldedit.core.internal.exception.FaweException;
import com.fastasyncworldedit.core.regions.FaweMaskManager; import com.fastasyncworldedit.core.regions.FaweMaskManager;
import com.fastasyncworldedit.core.util.EditSessionBuilder; import com.fastasyncworldedit.core.util.EditSessionBuilder;
import com.fastasyncworldedit.core.util.MainUtil; import com.fastasyncworldedit.core.util.MainUtil;

View File

@ -1,17 +1,17 @@
package com.fastasyncworldedit.core; package com.fastasyncworldedit.core;
import com.fastasyncworldedit.core.beta.IChunkSet; import com.fastasyncworldedit.core.queue.IChunkSet;
import com.fastasyncworldedit.core.beta.Trimable; import com.fastasyncworldedit.core.queue.Trimable;
import com.fastasyncworldedit.core.beta.implementation.queue.Pool; import com.fastasyncworldedit.core.queue.Pool;
import com.fastasyncworldedit.core.beta.implementation.queue.QueuePool; import com.fastasyncworldedit.core.queue.implementation.QueuePool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.object.collection.BitArray; import com.fastasyncworldedit.core.math.BitArray;
import com.fastasyncworldedit.core.object.collection.BitArrayUnstretched; import com.fastasyncworldedit.core.math.BitArrayUnstretched;
import com.fastasyncworldedit.core.object.collection.CleanableThreadLocal; import com.fastasyncworldedit.core.util.collection.CleanableThreadLocal;
import com.fastasyncworldedit.core.object.exception.FaweBlockBagException; import com.fastasyncworldedit.core.internal.exception.FaweBlockBagException;
import com.fastasyncworldedit.core.object.exception.FaweChunkLoadException; import com.fastasyncworldedit.core.internal.exception.FaweChunkLoadException;
import com.fastasyncworldedit.core.object.exception.FaweException; import com.fastasyncworldedit.core.internal.exception.FaweException;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -31,8 +31,8 @@ import com.sk89q.jnbt.ShortTag;
import com.sk89q.jnbt.StringTag; import com.sk89q.jnbt.StringTag;
import com.sk89q.jnbt.Tag; import com.sk89q.jnbt.Tag;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.MutableBlockVector3; import com.fastasyncworldedit.core.math.MutableBlockVector3;
import com.sk89q.worldedit.math.MutableVector3; import com.fastasyncworldedit.core.math.MutableVector3;
import com.sk89q.worldedit.world.block.BlockTypesCache; import com.sk89q.worldedit.world.block.BlockTypesCache;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core; package com.fastasyncworldedit.core;
import com.fastasyncworldedit.core.beta.implementation.preloader.Preloader; import com.fastasyncworldedit.core.queue.implementation.preloader.Preloader;
import com.fastasyncworldedit.core.beta.implementation.queue.QueueHandler; import com.fastasyncworldedit.core.queue.implementation.QueueHandler;
import com.fastasyncworldedit.core.regions.FaweMaskManager; import com.fastasyncworldedit.core.regions.FaweMaskManager;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.fastasyncworldedit.core.util.image.ImageViewer; import com.fastasyncworldedit.core.util.image.ImageViewer;

View File

@ -1,8 +0,0 @@
package com.fastasyncworldedit.core.beta;
import com.fastasyncworldedit.core.beta.implementation.filter.block.FilterBlock;
public interface FilterBlockMask {
boolean applyBlock(FilterBlock block);
}

View File

@ -1,4 +1,4 @@
package com.sk89q.worldedit.command; package com.fastasyncworldedit.core.command;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.util.StringMan; import com.fastasyncworldedit.core.util.StringMan;
@ -13,7 +13,6 @@ import java.util.UUID;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException; import java.util.regex.PatternSyntaxException;
//TODO This class breaks compilation
//@CommandContainer //@CommandContainer
public class ListFilters { public class ListFilters {
public class Filter { public class Filter {

View File

@ -1,5 +1,5 @@
// TODO: Ping @MattBDev to reimplement (or remove because this class is stupid) 2020-02-04 // TODO: Ping @MattBDev to reimplement (or remove because this class is stupid) 2020-02-04
//package com.sk89q.worldedit.command; //package com.fastasyncworldedit.core.command;
// //
//import com.boydti.fawe.object.mask.AdjacentAnyMask; //import com.boydti.fawe.object.mask.AdjacentAnyMask;
//import com.boydti.fawe.object.mask.AdjacentMask; //import com.boydti.fawe.object.mask.AdjacentMask;

View File

@ -1,4 +1,4 @@
package com.sk89q.worldedit.command; package com.fastasyncworldedit.core.command;
import com.sk89q.worldedit.command.argument.Arguments; import com.sk89q.worldedit.command.argument.Arguments;
import org.enginehub.piston.inject.InjectedValueAccess; import org.enginehub.piston.inject.InjectedValueAccess;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool;
import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.entity.Player;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool;
public interface ResettableTool { public interface ResettableTool {
boolean reset(); boolean reset();

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool;
public enum TargetMode { public enum TargetMode {
TARGET_BLOCK_RANGE, TARGET_BLOCK_RANGE,

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.mask.RadiusMask; import com.fastasyncworldedit.core.function.mask.RadiusMask;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,13 +1,13 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.random.SimplexNoise; import com.fastasyncworldedit.core.math.random.SimplexNoise;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableVector3; import com.fastasyncworldedit.core.math.MutableVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.math.transform.AffineTransform; import com.sk89q.worldedit.math.transform.AffineTransform;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.scroll.Scroll; import com.fastasyncworldedit.core.command.tool.scroll.Scroll;
import com.fastasyncworldedit.core.object.extent.ResettableExtent; import com.fastasyncworldedit.core.extent.ResettableExtent;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;
import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.mask.Mask;
@ -15,7 +15,7 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import static com.fastasyncworldedit.core.object.brush.BrushSettings.SettingType.BRUSH; import static com.fastasyncworldedit.core.command.tool.brush.BrushSettings.SettingType.BRUSH;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
public class BrushSettings { public class BrushSettings {

View File

@ -1,5 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.util.StringMan; import com.fastasyncworldedit.core.util.StringMan;
import com.fastasyncworldedit.core.wrappers.AsyncPlayer; import com.fastasyncworldedit.core.wrappers.AsyncPlayer;

View File

@ -1,9 +1,10 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.clipboard.ResizableClipboardBuilder; import com.fastasyncworldedit.core.extent.clipboard.ResizableClipboardBuilder;
import com.fastasyncworldedit.core.object.function.NullRegionFunction; import com.fastasyncworldedit.core.function.NullRegionFunction;
import com.fastasyncworldedit.core.object.function.mask.AbstractDelegateMask; import com.fastasyncworldedit.core.function.mask.AbstractDelegateMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.clipboard.CPUOptimizedClipboard; import com.fastasyncworldedit.core.extent.clipboard.CPUOptimizedClipboard;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.heightmap.HeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMap;
import com.fastasyncworldedit.core.object.brush.heightmap.ScalableHeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.ScalableHeightMap;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;

View File

@ -1,10 +1,10 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.brush.heightmap.HeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMap;
import com.fastasyncworldedit.core.object.brush.heightmap.RotatableHeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.RotatableHeightMap;
import com.fastasyncworldedit.core.object.brush.heightmap.ScalableHeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.ScalableHeightMap;
import com.fastasyncworldedit.core.object.exception.FaweException; import com.fastasyncworldedit.core.internal.exception.FaweException;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,8 +1,8 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.mask.ImageBrushMask; import com.fastasyncworldedit.core.function.mask.ImageBrushMask;
import com.fastasyncworldedit.core.object.collection.SummedColorTable; import com.fastasyncworldedit.core.util.collection.SummedColorTable;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.fastasyncworldedit.core.util.TextureUtil; import com.fastasyncworldedit.core.util.TextureUtil;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;

View File

@ -1,12 +1,12 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.database.DBHandler; import com.fastasyncworldedit.core.database.DBHandler;
import com.fastasyncworldedit.core.database.RollbackDatabase; import com.fastasyncworldedit.core.database.RollbackDatabase;
import com.fastasyncworldedit.core.logging.RollbackOptimizedHistory; import com.fastasyncworldedit.core.history.RollbackOptimizedHistory;
import com.fastasyncworldedit.core.object.change.MutableFullBlockChange; import com.fastasyncworldedit.core.history.change.MutableFullBlockChange;
import com.fastasyncworldedit.core.util.MainUtil; import com.fastasyncworldedit.core.util.MainUtil;
import com.sk89q.worldedit.LocalConfiguration; import com.sk89q.worldedit.LocalConfiguration;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;

View File

@ -1,9 +1,9 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.mask.LayerBrushMask; import com.fastasyncworldedit.core.function.mask.LayerBrushMask;
import com.fastasyncworldedit.core.object.collection.BlockVectorSet; import com.fastasyncworldedit.core.math.BlockVectorSet;
import com.fastasyncworldedit.core.object.mask.AdjacentAnyMask; import com.fastasyncworldedit.core.function.mask.AdjacentAnyMask;
import com.fastasyncworldedit.core.object.mask.RadiusMask; import com.fastasyncworldedit.core.function.mask.RadiusMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,5 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.util.MaskTraverser; import com.fastasyncworldedit.core.util.MaskTraverser;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
public class RaiseBrush extends ErodeBrush { public class RaiseBrush extends ErodeBrush {
public RaiseBrush() { public RaiseBrush() {

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.mask.RadiusMask; import com.fastasyncworldedit.core.function.mask.RadiusMask;
import com.fastasyncworldedit.core.object.visitor.DFSRecursiveVisitor; import com.fastasyncworldedit.core.function.visitor.DFSRecursiveVisitor;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.random.SimplexNoise; import com.fastasyncworldedit.core.math.random.SimplexNoise;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,10 +1,10 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.collection.BlockVectorSet; import com.fastasyncworldedit.core.math.BlockVectorSet;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.fastasyncworldedit.core.object.mask.AdjacentAnyMask; import com.fastasyncworldedit.core.function.mask.AdjacentAnyMask;
import com.fastasyncworldedit.core.object.mask.RadiusMask; import com.fastasyncworldedit.core.function.mask.RadiusMask;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.fastasyncworldedit.core.util.StringMan; import com.fastasyncworldedit.core.util.StringMan;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.mask.Mask;
@ -9,7 +9,7 @@ import com.sk89q.worldedit.function.mask.Masks;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.function.visitor.BreadthFirstSearch; import com.sk89q.worldedit.function.visitor.BreadthFirstSearch;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableBlockVector3; import com.fastasyncworldedit.core.math.MutableBlockVector3;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;

View File

@ -1,8 +1,8 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.mask.SplatterBrushMask; import com.fastasyncworldedit.core.function.mask.SplatterBrushMask;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.function.operation.Operations; import com.sk89q.worldedit.function.operation.Operations;

View File

@ -1,9 +1,10 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.FaweCache; import com.fastasyncworldedit.core.FaweCache;
import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.mask.IdMask; import com.fastasyncworldedit.core.function.mask.IdMask;
import com.fastasyncworldedit.core.object.visitor.DFSRecursiveVisitor; import com.fastasyncworldedit.core.function.visitor.DFSRecursiveVisitor;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;
@ -13,7 +14,7 @@ import com.sk89q.worldedit.function.mask.MaskIntersection;
import com.sk89q.worldedit.function.operation.Operations; import com.sk89q.worldedit.function.operation.Operations;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableVector3; import com.fastasyncworldedit.core.math.MutableVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.math.interpolation.Node; import com.sk89q.worldedit.math.interpolation.Node;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.brush.heightmap.HeightMap; import com.fastasyncworldedit.core.extent.processor.heightmap.HeightMap;
import com.fastasyncworldedit.core.object.brush.mask.StencilBrushMask; import com.fastasyncworldedit.core.function.mask.StencilBrushMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.object.mask.RadiusMask; import com.fastasyncworldedit.core.function.mask.RadiusMask;
import com.fastasyncworldedit.core.object.mask.SurfaceMask; import com.fastasyncworldedit.core.function.mask.SurfaceMask;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush; package com.fastasyncworldedit.core.command.tool.brush;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
@ -9,7 +9,7 @@ import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.command.tool.brush.Brush; import com.sk89q.worldedit.command.tool.brush.Brush;
import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.MutableBlockVector3; import com.fastasyncworldedit.core.math.MutableBlockVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.math.interpolation.KochanekBartelsInterpolation; import com.sk89q.worldedit.math.interpolation.KochanekBartelsInterpolation;
import com.sk89q.worldedit.math.interpolation.Node; import com.sk89q.worldedit.math.interpolation.Node;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.clipboard.MultiClipboardHolder; import com.fastasyncworldedit.core.extent.clipboard.MultiClipboardHolder;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.fastasyncworldedit.core.object.brush.TargetMode; import com.fastasyncworldedit.core.command.tool.TargetMode;
import com.fastasyncworldedit.core.util.MathMan; import com.fastasyncworldedit.core.util.MathMan;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;
import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.entity.Player;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.scroll; package com.fastasyncworldedit.core.command.tool.scroll;
import com.sk89q.worldedit.command.tool.BrushTool; import com.sk89q.worldedit.command.tool.BrushTool;
import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.entity.Player;

View File

@ -0,0 +1,7 @@
package com.fastasyncworldedit.core.command.tool.scroll;
import com.sk89q.worldedit.entity.Player;
public interface ScrollTool {
boolean increment(Player player, int amount);
}

View File

@ -1,6 +1,6 @@
package com.fastasyncworldedit.core.object.brush.sweep; package com.fastasyncworldedit.core.command.tool.sweep;
import com.fastasyncworldedit.core.object.collection.LocalBlockVectorSet; import com.fastasyncworldedit.core.math.LocalBlockVectorSet;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;
@ -11,7 +11,7 @@ import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.math.interpolation.Interpolation; import com.sk89q.worldedit.math.interpolation.Interpolation;
import com.sk89q.worldedit.math.transform.AffineTransform; import com.sk89q.worldedit.math.transform.AffineTransform;
import com.sk89q.worldedit.math.transform.RoundedTransform; import com.fastasyncworldedit.core.math.transform.RoundedTransform;
import com.sk89q.worldedit.math.transform.Transform; import com.sk89q.worldedit.math.transform.Transform;
import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.session.ClipboardHolder; import com.sk89q.worldedit.session.ClipboardHolder;

View File

@ -1,4 +1,4 @@
package com.fastasyncworldedit.core.object.brush.sweep; package com.fastasyncworldedit.core.command.tool.sweep;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;

View File

@ -1,7 +1,7 @@
package com.fastasyncworldedit.core.object.brush.sweep; package com.fastasyncworldedit.core.command.tool.sweep;
import com.fastasyncworldedit.core.command.tool.ResettableTool;
import com.fastasyncworldedit.core.configuration.Caption; import com.fastasyncworldedit.core.configuration.Caption;
import com.fastasyncworldedit.core.object.brush.ResettableTool;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.EmptyClipboardException; import com.sk89q.worldedit.EmptyClipboardException;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;

View File

@ -13,7 +13,7 @@ public class DBHandler {
public static final DBHandler IMP = new DBHandler(); public static final DBHandler IMP = new DBHandler();
private Map<World, RollbackDatabase> databases = new ConcurrentHashMap<>(8, 0.9f, 1); private final Map<World, RollbackDatabase> databases = new ConcurrentHashMap<>(8, 0.9f, 1);
public RollbackDatabase getDatabase(World world) { public RollbackDatabase getDatabase(World world) {
RollbackDatabase database = databases.get(world); RollbackDatabase database = databases.get(world);

View File

@ -2,9 +2,9 @@ package com.fastasyncworldedit.core.database;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.configuration.Settings; import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.logging.RollbackOptimizedHistory; import com.fastasyncworldedit.core.history.RollbackOptimizedHistory;
import com.fastasyncworldedit.core.object.collection.YieldIterable; import com.fastasyncworldedit.core.util.collection.YieldIterable;
import com.fastasyncworldedit.core.object.task.AsyncNotifyQueue; import com.fastasyncworldedit.core.util.task.AsyncNotifyQueue;
import com.fastasyncworldedit.core.util.MainUtil; import com.fastasyncworldedit.core.util.MainUtil;
import com.sk89q.worldedit.internal.util.LogManagerCompat; import com.sk89q.worldedit.internal.util.LogManagerCompat;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;

View File

@ -1,8 +1,9 @@
package com.sk89q.worldedit.entity; package com.fastasyncworldedit.core.entity;
import com.fastasyncworldedit.core.Fawe; import com.fastasyncworldedit.core.Fawe;
import com.fastasyncworldedit.core.util.TaskManager; import com.fastasyncworldedit.core.util.TaskManager;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.world.entity.EntityType; import com.sk89q.worldedit.world.entity.EntityType;
import java.util.function.Supplier; import java.util.function.Supplier;

View File

@ -1,4 +1,4 @@
package com.sk89q.worldedit.entity; package com.fastasyncworldedit.core.entity;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

Some files were not shown because too many files have changed in this diff Show More