mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-07-13 14:48:34 +00:00
Additional work towards 1.16 compatibility
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion. - Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout. - Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly. Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
This commit is contained in:
@ -72,6 +72,7 @@ import com.sk89q.worldedit.session.ClipboardHolder;
|
||||
import com.sk89q.worldedit.util.Countable;
|
||||
import com.sk89q.worldedit.util.HandSide;
|
||||
import com.sk89q.worldedit.util.Identifiable;
|
||||
import com.sk89q.worldedit.util.SideEffectSet;
|
||||
import com.sk89q.worldedit.world.World;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
@ -145,7 +146,7 @@ public class LocalSession implements TextureHolder {
|
||||
private transient Snapshot snapshotExperimental;
|
||||
private transient boolean hasCUISupport = false;
|
||||
private transient int cuiVersion = -1;
|
||||
private transient boolean fastMode = false;
|
||||
private transient SideEffectSet sideEffectSet = SideEffectSet.defaults();
|
||||
private transient Mask mask;
|
||||
private transient Mask sourceMask;
|
||||
private transient TextureUtil texture;
|
||||
@ -1494,7 +1495,7 @@ public class LocalSession implements TextureHolder {
|
||||
builder.blockBag(blockBag);
|
||||
}
|
||||
builder.command(command);
|
||||
builder.fastmode(fastMode);
|
||||
builder.fastmode(!this.sideEffectSet.doesApplyAny());
|
||||
|
||||
editSession = builder.build();
|
||||
|
||||
@ -1513,7 +1514,7 @@ public class LocalSession implements TextureHolder {
|
||||
}
|
||||
|
||||
private void prepareEditingExtents(EditSession editSession, Actor actor) {
|
||||
editSession.setFastMode(fastMode);
|
||||
editSession.setSideEffectApplier(sideEffectSet);
|
||||
editSession.setReorderMode(reorderMode);
|
||||
if (editSession.getSurvivalExtent() != null) {
|
||||
editSession.getSurvivalExtent().setStripNbt(!actor.hasPermission("worldedit.setnbt"));
|
||||
@ -1521,13 +1522,32 @@ public class LocalSession implements TextureHolder {
|
||||
editSession.setTickingWatchdog(tickingWatchdog);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the side effect applier of this session.
|
||||
*
|
||||
* @return the side effect applier
|
||||
*/
|
||||
public SideEffectSet getSideEffectSet() {
|
||||
return this.sideEffectSet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the side effect applier for this session
|
||||
*
|
||||
* @param sideEffectSet the side effect applier
|
||||
*/
|
||||
public void setSideEffectSet(SideEffectSet sideEffectSet) {
|
||||
this.sideEffectSet = sideEffectSet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the session has fast mode enabled.
|
||||
*
|
||||
* @return true if fast mode is enabled
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean hasFastMode() {
|
||||
return fastMode;
|
||||
return !this.sideEffectSet.doesApplyAny();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1535,8 +1555,9 @@ public class LocalSession implements TextureHolder {
|
||||
*
|
||||
* @param fastMode true if fast mode is enabled
|
||||
*/
|
||||
@Deprecated
|
||||
public void setFastMode(boolean fastMode) {
|
||||
this.fastMode = fastMode;
|
||||
this.sideEffectSet = fastMode ? SideEffectSet.none() : SideEffectSet.defaults();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user