Current Progress #3

This commit is contained in:
IronApollo
2019-01-09 02:13:44 -05:00
parent d4157b7e0e
commit 842b1307c7
221 changed files with 3173 additions and 3041 deletions

View File

@ -43,12 +43,10 @@ import com.sk89q.worldedit.extension.input.ParserContext;
import com.sk89q.worldedit.extension.platform.permission.ActorSelectorLimits;
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
import com.sk89q.worldedit.extent.clipboard.Clipboard;
<<<<<<< HEAD
import com.sk89q.worldedit.function.mask.Mask;
=======
import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3;
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionOperationException;
import com.sk89q.worldedit.regions.RegionSelector;
@ -69,10 +67,7 @@ import com.sk89q.worldedit.util.formatting.StyledFragment;
import com.sk89q.worldedit.util.formatting.component.CommandListBox;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.block.BlockStateHolder;
<<<<<<< HEAD
import com.sk89q.worldedit.world.block.BlockState;
=======
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
import com.sk89q.worldedit.world.item.ItemTypes;
import com.sk89q.worldedit.world.storage.ChunkStore;
import java.io.File;
@ -109,21 +104,20 @@ public class SelectionCommands {
)
@Logging(POSITION)
@CommandPermissions("worldedit.selection.pos")
public void pos1(Player player, LocalSession session, CommandContext args) throws WorldEditException {
Vector pos;
public void pos1(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
BlockVector3 pos;
if (args.argsLength() == 1) {
if (args.getString(0).matches("-?\\d+,-?\\d+,-?\\d+")) {
String[] coords = args.getString(0).split(",");
pos = new Vector(Integer.parseInt(coords[0]), Integer.parseInt(coords[1]), Integer.parseInt(coords[2]));
pos = new BlockVector3(Integer.parseInt(coords[0]), Integer.parseInt(coords[1]), Integer.parseInt(coords[2]));
} else {
BBC.SELECTOR_INVALID_COORDINATES.send(player, args.getString(0));
return;
}
} else {
pos = player.getBlockIn().toVector();
pos = player.getBlockIn().toVector().toBlockPoint();
}
<<<<<<< HEAD
pos = pos.clampY(0, player.getWorld().getMaximumPoint().getBlockY());
if (!session.getRegionSelector(player.getWorld()).selectPrimary(pos, ActorSelectorLimits.forActor(player))) {
BBC.SELECTOR_ALREADY_SET.send(player);
@ -131,16 +125,6 @@ public class SelectionCommands {
}
session.getRegionSelector(player.getWorld()).explainPrimarySelection(player, session, pos);
=======
if (!session.getRegionSelector(player.getWorld()).selectPrimary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) {
player.printError("Position already set.");
return;
}
session.getRegionSelector(player.getWorld())
.explainPrimarySelection(player, session, pos.toVector().toBlockPoint());
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
}
@Command(
@ -152,12 +136,12 @@ public class SelectionCommands {
)
@Logging(POSITION)
@CommandPermissions("worldedit.selection.pos")
public void pos2(Player player, LocalSession session, CommandContext args) throws WorldEditException {
Vector pos;
public void pos2(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
BlockVector3 pos;
if (args.argsLength() == 1) {
if (args.getString(0).matches("-?\\d+,-?\\d+,-?\\d+")) {
String[] coords = args.getString(0).split(",");
pos = new Vector(Integer.parseInt(coords[0]),
pos = new BlockVector3(Integer.parseInt(coords[0]),
Integer.parseInt(coords[1]),
Integer.parseInt(coords[2]));
} else {
@ -165,26 +149,16 @@ public class SelectionCommands {
return;
}
} else {
pos = player.getBlockIn().toVector();
pos = player.getBlockIn().toVector().toBlockPoint();
}
<<<<<<< HEAD
pos = pos.clampY(0, player.getWorld().getMaximumPoint().getBlockY());
if (!session.getRegionSelector(player.getWorld()).selectSecondary(pos, ActorSelectorLimits.forActor(player))) {
BBC.SELECTOR_ALREADY_SET.send(player);
=======
if (!session.getRegionSelector(player.getWorld()).selectSecondary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) {
player.printError("Position already set.");
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
return;
}
session.getRegionSelector(player.getWorld())
<<<<<<< HEAD
.explainSecondarySelection(player, session, pos);
=======
.explainSecondarySelection(player, session, pos.toVector().toBlockPoint());
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
}
@Command(
@ -195,26 +169,17 @@ public class SelectionCommands {
max = 0
)
@CommandPermissions("worldedit.selection.hpos")
public void hpos1(Player player, LocalSession session, CommandContext args) throws WorldEditException {
Vector pos = player.getBlockTrace(300).toVector();
public void hpos1(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
BlockVector3 pos = player.getBlockTrace(300).toVector().toBlockPoint();
if (pos != null) {
<<<<<<< HEAD
if (!session.getRegionSelector(player.getWorld()).selectPrimary(pos, ActorSelectorLimits.forActor(player))) {
BBC.SELECTOR_ALREADY_SET.send(player);
=======
if (!session.getRegionSelector(player.getWorld()).selectPrimary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) {
player.printError("Position already set.");
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
return;
}
session.getRegionSelector(player.getWorld())
<<<<<<< HEAD
.explainPrimarySelection(player, session, pos);
=======
.explainPrimarySelection(player, session, pos.toVector().toBlockPoint());
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
} else {
player.printError("No block in sight!");
}
@ -228,26 +193,17 @@ public class SelectionCommands {
max = 0
)
@CommandPermissions("worldedit.selection.hpos")
public void hpos2(Player player, LocalSession session, CommandContext args) throws WorldEditException {
Vector pos = player.getBlockTrace(300).toVector();
public void hpos2(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
BlockVector3 pos = player.getBlockTrace(300).toVector().toBlockPoint();
if (pos != null) {
<<<<<<< HEAD
if (!session.getRegionSelector(player.getWorld()).selectSecondary(pos, ActorSelectorLimits.forActor(player))) {
BBC.SELECTOR_ALREADY_SET.send(player);
=======
if (!session.getRegionSelector(player.getWorld()).selectSecondary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) {
player.printError("Position already set.");
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
return;
}
session.getRegionSelector(player.getWorld())
<<<<<<< HEAD
.explainSecondarySelection(player, session, pos);
=======
.explainSecondarySelection(player, session, pos.toVector().toBlockPoint());
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
} else {
player.printError("No block in sight!");
}
@ -271,15 +227,9 @@ public class SelectionCommands {
)
@Logging(POSITION)
@CommandPermissions("worldedit.selection.chunk")
<<<<<<< HEAD
public void chunk(Player player, LocalSession session, CommandContext args) throws WorldEditException {
final Vector min;
final Vector max;
=======
public void chunk(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
final BlockVector3 min;
final BlockVector3 max;
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
final World world = player.getWorld();
if (args.hasFlag('s')) {
Region region = session.getSelection(world);
@ -336,7 +286,7 @@ public class SelectionCommands {
max = 0
)
@CommandPermissions("worldedit.wand")
public void wand(Player player, LocalSession session, CommandContext args) throws WorldEditException {
public void wand(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
player.giveItem(new BaseItemStack(we.getConfiguration().wandItem, 1));
BBC.SELECTION_WAND.send(player);
if (!FawePlayer.wrap(player).hasPermission("fawe.tips"))
@ -370,7 +320,7 @@ public class SelectionCommands {
)
@Logging(REGION)
@CommandPermissions("worldedit.selection.expand")
public void expand(Player player, LocalSession session, CommandContext args) throws WorldEditException {
public void expand(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
// Special syntax (//expand vert) to expand the selection between
// sky and bedrock.
if (args.getString(0).equalsIgnoreCase("vert") || args.getString(0).equalsIgnoreCase("vertical")) {
@ -390,12 +340,7 @@ public class SelectionCommands {
return;
}
<<<<<<< HEAD
List<Vector> dirs = new ArrayList<Vector>();
=======
List<BlockVector3> dirs = new ArrayList<>();
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
int change = args.getInteger(0);
int reverseChange = 0;
@ -465,14 +410,9 @@ public class SelectionCommands {
)
@Logging(REGION)
@CommandPermissions("worldedit.selection.contract")
<<<<<<< HEAD
public void contract(Player player, LocalSession session, CommandContext args) throws WorldEditException {
List<Vector> dirs = new ArrayList<Vector>();
=======
public void contract(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
List<BlockVector3> dirs = new ArrayList<>();
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
int change = args.getInteger(0);
int reverseChange = 0;
@ -544,14 +484,9 @@ public class SelectionCommands {
)
@Logging(REGION)
@CommandPermissions("worldedit.selection.shift")
<<<<<<< HEAD
public void shift(Player player, LocalSession session, CommandContext args) throws WorldEditException {
List<Vector> dirs = new ArrayList<Vector>();
=======
public void shift(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
List<BlockVector3> dirs = new ArrayList<>();
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
int change = args.getInteger(0);
if (args.argsLength() == 2) {
if (args.getString(1).contains(",")) {
@ -596,7 +531,7 @@ public class SelectionCommands {
)
@Logging(REGION)
@CommandPermissions("worldedit.selection.outset")
public void outset(Player player, LocalSession session, CommandContext args) throws WorldEditException {
public void outset(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
Region region = session.getSelection(player.getWorld());
region.expand(getChangesForEachDir(args));
session.getRegionSelector(player.getWorld()).learnChanges();
@ -619,7 +554,7 @@ public class SelectionCommands {
)
@Logging(REGION)
@CommandPermissions("worldedit.selection.inset")
public void inset(Player player, LocalSession session, CommandContext args) throws WorldEditException {
public void inset(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
Region region = session.getSelection(player.getWorld());
region.contract(getChangesForEachDir(args));
session.getRegionSelector(player.getWorld()).learnChanges();
@ -627,13 +562,8 @@ public class SelectionCommands {
BBC.SELECTION_INSET.send(player);
}
<<<<<<< HEAD
private Vector[] getChangesForEachDir(CommandContext args) {
List<Vector> changes = new ArrayList<Vector>(6);
=======
private BlockVector3[] getChangesForEachDir(CommandContext args) {
List<BlockVector3> changes = new ArrayList<>(6);
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
int change = args.getInteger(0);
if (!args.hasFlag('h')) {
@ -660,8 +590,7 @@ public class SelectionCommands {
max = 0
)
@CommandPermissions("worldedit.selection.size")
<<<<<<< HEAD
public void size(Player player, LocalSession session, CommandContext args) throws WorldEditException {
public void size(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
if (args.hasFlag('c')) {
ClipboardHolder root = session.getClipboard();
// Clipboard clipboard = holder.getClipboard();
@ -681,8 +610,8 @@ public class SelectionCommands {
}
Region region = clipboard.getRegion();
Vector size = region.getMaximumPoint().subtract(region.getMinimumPoint()).add(Vector.ONE);
Vector origin = clipboard.getOrigin();
BlockVector3 size = region.getMaximumPoint().subtract(region.getMinimumPoint()).add(BlockVector3.ONE);
BlockVector3 origin = clipboard.getOrigin();
String sizeStr = size.getBlockX() + "*" + size.getBlockY() + "*" + size.getBlockZ();
String originStr = origin.getBlockX() + "," + origin.getBlockY() + "," + origin.getBlockZ();
@ -701,20 +630,19 @@ public class SelectionCommands {
// player.print(BBC.getPrefix() + "Offset: " + origin);
// player.print(BBC.getPrefix() + "Cuboid distance: " + size.distance(Vector.ONE));
// player.print(BBC.getPrefix() + "# of blocks: " + (int) (size.getX() * size.getY() * size.getZ()));
=======
public void size(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
if (args.hasFlag('c')) {
ClipboardHolder holder = session.getClipboard();
Clipboard clipboard = holder.getClipboard();
Region region = clipboard.getRegion();
BlockVector3 size = region.getMaximumPoint().subtract(region.getMinimumPoint());
BlockVector3 origin = clipboard.getOrigin();
player.print("Cuboid dimensions (max - min): " + size);
player.print("Offset: " + origin);
player.print("Cuboid distance: " + size.distance(BlockVector3.ONE));
player.print("# of blocks: " + (int) (size.getX() * size.getY() * size.getZ()));
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
//=======
// public void size(Player player, LocalSession session, EditSession editSession, CommandContext args) throws WorldEditException {
// if (args.hasFlag('c')) {
// ClipboardHolder holder = session.getClipboard();
// Clipboard clipboard = holder.getClipboard();
// Region region = clipboard.getRegion();
// BlockVector3 size = region.getMaximumPoint().subtract(region.getMinimumPoint());
// BlockVector3 origin = clipboard.getOrigin();
//
// player.print("Cuboid dimensions (max - min): " + size);
// player.print("Offset: " + origin);
// player.print("Cuboid distance: " + size.distance(BlockVector3.ONE));
// player.print("# of blocks: " + (int) (size.getX() * size.getY() * size.getZ()));
return;
}
@ -723,11 +651,7 @@ public class SelectionCommands {
.subtract(region.getMinimumPoint())
.add(1, 1, 1);
<<<<<<< HEAD
player.print(BBC.getPrefix() + "Type: " + session.getRegionSelector(player.getWorld())
=======
player.print("Type: " + session.getRegionSelector(player.getWorld())
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
.getTypeName());
for (String line : session.getRegionSelector(player.getWorld())
@ -735,15 +659,9 @@ public class SelectionCommands {
player.print(BBC.getPrefix() + line);
}
<<<<<<< HEAD
player.print(BBC.getPrefix() + "Size: " + size);
player.print(BBC.getPrefix() + "Cuboid distance: " + region.getMaximumPoint().distance(region.getMinimumPoint()));
player.print(BBC.getPrefix() + "# of blocks: " + region.getArea());
=======
player.print("Size: " + size);
player.print("Cuboid distance: " + region.getMaximumPoint().distance(region.getMinimumPoint()));
player.print("# of blocks: " + region.getArea());
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
}