mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-23 09:47:38 +00:00
Merge remote-tracking branch 'origin/master' into feature/mapping
This commit is contained in:
commit
97a1664db5
@ -30,7 +30,6 @@ import org.bukkit.command.TabCompleter;
|
|||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -81,10 +80,10 @@ public class DynamicPluginCommand extends org.bukkit.command.Command implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
|
public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
|
||||||
if (owner instanceof TabCompleter) {
|
if (registeredWith instanceof CommandInspector) {
|
||||||
return ((TabCompleter) owner).onTabComplete(sender, this, alias, args);
|
return ((TabCompleter) owner).onTabComplete(sender, this, alias, args);
|
||||||
} else {
|
} else {
|
||||||
return Collections.emptyList();
|
return super.tabComplete(sender, alias, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,9 +241,15 @@ public final class CommandManager {
|
|||||||
Throwable t = e.getCause();
|
Throwable t = e.getCause();
|
||||||
actor.printError("Please report this error: [See console]");
|
actor.printError("Please report this error: [See console]");
|
||||||
actor.printRaw(t.getClass().getName() + ": " + t.getMessage());
|
actor.printRaw(t.getClass().getName() + ": " + t.getMessage());
|
||||||
t.printStackTrace();
|
logger.log(Level.SEVERE, "An unexpected error while handling a WorldEdit command", t);
|
||||||
} catch (CommandException e) {
|
} catch (CommandException e) {
|
||||||
|
String message = e.getMessage();
|
||||||
|
if (message != null) {
|
||||||
actor.printError(e.getMessage());
|
actor.printError(e.getMessage());
|
||||||
|
} else {
|
||||||
|
actor.printError("An unknown error has occurred! Please see console.");
|
||||||
|
logger.log(Level.SEVERE, "An unknown error occurred", e);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
EditSession editSession = locals.get(EditSession.class);
|
EditSession editSession = locals.get(EditSession.class);
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||||||
public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.EllipsoidRegionSelector implements RegionSelector, CUIRegion {
|
public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.EllipsoidRegionSelector implements RegionSelector, CUIRegion {
|
||||||
|
|
||||||
protected EllipsoidRegion region;
|
protected EllipsoidRegion region;
|
||||||
|
protected boolean started = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new selector.
|
* Create a new selector.
|
||||||
@ -113,11 +114,17 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
|
|||||||
|
|
||||||
region.setCenter(pos.toBlockVector());
|
region.setCenter(pos.toBlockVector());
|
||||||
region.setRadius(new Vector());
|
region.setRadius(new Vector());
|
||||||
|
started = true;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean selectSecondary(Vector pos) {
|
public boolean selectSecondary(Vector pos) {
|
||||||
|
if (!started) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Vector diff = pos.subtract(region.getCenter());
|
final Vector diff = pos.subtract(region.getCenter());
|
||||||
final Vector minRadius = Vector.getMaximum(diff, diff.multiply(-1.0));
|
final Vector minRadius = Vector.getMaximum(diff, diff.multiply(-1.0));
|
||||||
region.extendRadius(minRadius);
|
region.extendRadius(minRadius);
|
||||||
@ -153,7 +160,7 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isDefined() {
|
public boolean isDefined() {
|
||||||
return region.getRadius().lengthSq() > 0;
|
return started && region.getRadius().lengthSq() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -80,6 +80,10 @@ public class SphereRegionSelector extends EllipsoidRegionSelector {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean selectSecondary(Vector pos) {
|
public boolean selectSecondary(Vector pos) {
|
||||||
|
if (!started) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final double radiusScalar = Math.ceil(pos.distance(region.getCenter()));
|
final double radiusScalar = Math.ceil(pos.distance(region.getCenter()));
|
||||||
region.setRadius(new Vector(radiusScalar, radiusScalar, radiusScalar));
|
region.setRadius(new Vector(radiusScalar, radiusScalar, radiusScalar));
|
||||||
|
|
||||||
|
@ -19,25 +19,25 @@
|
|||||||
|
|
||||||
package com.sk89q.worldedit.world.snapshot;
|
package com.sk89q.worldedit.world.snapshot;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.sk89q.worldedit.BlockVector2D;
|
import com.sk89q.worldedit.BlockVector2D;
|
||||||
import com.sk89q.worldedit.EditSession;
|
import com.sk89q.worldedit.EditSession;
|
||||||
import com.sk89q.worldedit.MaxChangedBlocksException;
|
import com.sk89q.worldedit.MaxChangedBlocksException;
|
||||||
import com.sk89q.worldedit.Vector;
|
import com.sk89q.worldedit.Vector;
|
||||||
import com.sk89q.worldedit.Vector2D;
|
import com.sk89q.worldedit.Vector2D;
|
||||||
import com.sk89q.worldedit.blocks.BaseBlock;
|
import com.sk89q.worldedit.blocks.BaseBlock;
|
||||||
import com.sk89q.worldedit.world.chunk.Chunk;
|
|
||||||
import com.sk89q.worldedit.world.storage.ChunkStore;
|
|
||||||
import com.sk89q.worldedit.world.DataException;
|
|
||||||
import com.sk89q.worldedit.world.storage.MissingChunkException;
|
|
||||||
import com.sk89q.worldedit.world.storage.MissingWorldException;
|
|
||||||
import com.sk89q.worldedit.regions.CuboidRegion;
|
import com.sk89q.worldedit.regions.CuboidRegion;
|
||||||
import com.sk89q.worldedit.regions.Region;
|
import com.sk89q.worldedit.regions.Region;
|
||||||
|
import com.sk89q.worldedit.world.DataException;
|
||||||
|
import com.sk89q.worldedit.world.chunk.Chunk;
|
||||||
|
import com.sk89q.worldedit.world.storage.ChunkStore;
|
||||||
|
import com.sk89q.worldedit.world.storage.MissingChunkException;
|
||||||
|
import com.sk89q.worldedit.world.storage.MissingWorldException;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -168,7 +168,7 @@ public class SnapshotRestore {
|
|||||||
for (Vector pos : entry.getValue()) {
|
for (Vector pos : entry.getValue()) {
|
||||||
try {
|
try {
|
||||||
BaseBlock block = chunk.getBlock(pos);
|
BaseBlock block = chunk.getBlock(pos);
|
||||||
editSession.rawSetBlock(pos, block);
|
editSession.setBlock(pos, block);
|
||||||
} catch (DataException e) {
|
} catch (DataException e) {
|
||||||
// this is a workaround: just ignore for now
|
// this is a workaround: just ignore for now
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user