3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-07 20:10:06 +01:00

Finish removal of PlayerDirection, and partially added diagonal support back to commands. (Other minor changes to WorldEdit-Sponge and FAVS)

Dieser Commit ist enthalten in:
Matthew Miller 2018-11-12 12:38:13 +10:00 committet von IronApollo
Ursprung 13bf8429ce
Commit f3c633582e
18 geänderte Dateien mit 123 neuen und 148 gelöschten Zeilen

Datei anzeigen

@ -272,7 +272,7 @@ public class SnipeData {
* @param voxelId the voxelId to set * @param voxelId the voxelId to set
*/ */
public final void setVoxelId(final int voxelId) { public final void setVoxelId(final int voxelId) {
if (WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(voxelId)) { if (WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(BlockTypes.getFromStateId(voxelId).getId())) {
if (owner != null) { if (owner != null) {
Player plr = owner.getPlayer(); Player plr = owner.getPlayer();
if (plr != null) { if (plr != null) {

Datei anzeigen

@ -55,7 +55,7 @@ public class VoxelVoxelCommand extends VoxelCommand {
Material blockType = block.getType(); Material blockType = block.getType();
BlockType weType = BukkitAdapter.adapt(blockType); BlockType weType = BukkitAdapter.adapt(blockType);
if(!player.hasPermission("voxelsniper.ignorelimitations") && WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(weType)) { if(!player.hasPermission("voxelsniper.ignorelimitations") && WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(weType.getId())) {
player.sendMessage("You are not allowed to use " + blockType.name() + ". (WorldEdit config.yml)"); player.sendMessage("You are not allowed to use " + blockType.name() + ". (WorldEdit config.yml)");
return true; return true;
} }
@ -68,7 +68,7 @@ public class VoxelVoxelCommand extends VoxelCommand {
} else { } else {
BlockType weType = BlockTypes.parse(args[0]); BlockType weType = BlockTypes.parse(args[0]);
if(weType != null) { if(weType != null) {
if(!player.hasPermission("voxelsniper.ignorelimitations") && WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(weType)) { if(!player.hasPermission("voxelsniper.ignorelimitations") && WorldEdit.getInstance().getConfiguration().disallowedBlocks.contains(weType.getId())) {
player.sendMessage("You are not allowed to use " + weType + "."); player.sendMessage("You are not allowed to use " + weType + ".");
return true; return true;
} else { } else {

Datei anzeigen

@ -18,6 +18,7 @@ import com.sk89q.worldedit.internal.cui.CUIEvent;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.session.SessionKey;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.TargetBlock; import com.sk89q.worldedit.util.TargetBlock;
@ -342,7 +343,7 @@ public class PlayerWrapper extends AbstractPlayerActor {
} }
@Override @Override
public PlayerDirection getCardinalDirection() { public Direction getCardinalDirection() {
return parent.getCardinalDirection(); return parent.getCardinalDirection();
} }

Datei anzeigen

@ -38,7 +38,7 @@ public abstract class LocalConfiguration {
protected static final String[] defaultDisallowedBlocks = new String[] {}; protected static final String[] defaultDisallowedBlocks = new String[] {};
public boolean profile = false; public boolean profile = false;
public Set<BlockType> disallowedBlocks = new HashSet<>(); public Set<String> disallowedBlocks = new HashSet<>();
public int defaultChangeLimit = -1; public int defaultChangeLimit = -1;
public int maxChangeLimit = -1; public int maxChangeLimit = -1;
public int defaultMaxPolygonalPoints = -1; public int defaultMaxPolygonalPoints = -1;
@ -65,7 +65,7 @@ public abstract class LocalConfiguration {
public String navigationWand = ItemTypes.COMPASS.getId(); public String navigationWand = ItemTypes.COMPASS.getId();
public int navigationWandMaxDistance = 50; public int navigationWandMaxDistance = 50;
public int scriptTimeout = 3000; public int scriptTimeout = 3000;
public Set<BlockType> allowedDataCycleBlocks = new HashSet<>(); public Set<String> allowedDataCycleBlocks = new HashSet<>();
public String saveDir = "schematics"; public String saveDir = "schematics";
public String scriptsDir = "craftscripts"; public String scriptsDir = "craftscripts";
public boolean showHelpInfo = true; public boolean showHelpInfo = true;

Datei anzeigen

@ -1,59 +0,0 @@
/*
* 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 Lesser 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 Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.worldedit;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.Direction;
/**
* The player's direction.
*
* <p>In the future, this class will be replaced with {@link Direction}.</p>
*/
public enum PlayerDirection {
NORTH(Vector3.at(0, 0, -1), true),
NORTH_EAST((Vector3.at(1, 0, -1)).normalize(), false),
EAST(Vector3.at(1, 0, 0), true),
SOUTH_EAST((Vector3.at(1, 0, 1)).normalize(), false),
SOUTH(Vector3.at(0, 0, 1), true),
SOUTH_WEST((Vector3.at(-1, 0, 1)).normalize(), false),
WEST(Vector3.at(-1, 0, 0), true),
NORTH_WEST((Vector3.at(-1, 0, -1)).normalize(), false),
UP(Vector3.at(0, 1, 0), true),
DOWN(Vector3.at(0, -1, 0), true);
private final Vector3 dir;
private final boolean isOrthogonal;
PlayerDirection(Vector3 vec, boolean isOrthogonal) {
this.dir = vec;
this.isOrthogonal = isOrthogonal;
}
public Vector3 vector() {
return dir;
}
public boolean isOrthogonal() {
return isOrthogonal;
}
}

Datei anzeigen

@ -49,6 +49,7 @@ import com.sk89q.worldedit.scripting.CraftScriptEngine;
import com.sk89q.worldedit.scripting.RhinoCraftScriptEngine; import com.sk89q.worldedit.scripting.RhinoCraftScriptEngine;
import com.sk89q.worldedit.session.SessionManager; import com.sk89q.worldedit.session.SessionManager;
import com.sk89q.worldedit.session.request.Request; import com.sk89q.worldedit.session.request.Request;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.eventbus.EventBus; import com.sk89q.worldedit.util.eventbus.EventBus;
import com.sk89q.worldedit.util.io.file.FileSelectionAbortedException; import com.sk89q.worldedit.util.io.file.FileSelectionAbortedException;
@ -385,22 +386,36 @@ public class WorldEdit {
public BlockVector3 getDirection(Player player, String dirStr) throws UnknownDirectionException { public BlockVector3 getDirection(Player player, String dirStr) throws UnknownDirectionException {
dirStr = dirStr.toLowerCase(); dirStr = dirStr.toLowerCase();
final PlayerDirection dir = getPlayerDirection(player, dirStr); final Direction dir = getPlayerDirection(player, dirStr);
switch (dir) { if (dir.isUpright() || dir.isCardinal()) {
case WEST: return dir.toBlockVector();
case EAST: } else {
case SOUTH:
case NORTH:
case UP:
case DOWN:
return dir.vector().toBlockPoint();
default:
throw new UnknownDirectionException(dir.name()); throw new UnknownDirectionException(dir.name());
} }
} }
/**
* Get the direction vector for a player's direction. May return
* null if a direction could not be found.
*
* @param player the player
* @param dirStr the direction string
* @return a direction vector
* @throws UnknownDirectionException thrown if the direction is not known
*/
public BlockVector3 getDiagonalDirection(Player player, String dirStr) throws UnknownDirectionException {
dirStr = dirStr.toLowerCase();
final Direction dir = getPlayerDirection(player, dirStr);
if (dir.isCardinal() || dir.isOrdinal() || dir.isUpright()) {
return dir.toBlockVector();
}
throw new UnknownDirectionException(dir.name());
}
/** /**
* Get the direction vector for a player's direction. May return * Get the direction vector for a player's direction. May return
* null if a direction could not be found. * null if a direction could not be found.
@ -410,46 +425,46 @@ public class WorldEdit {
* @return a direction enum value * @return a direction enum value
* @throws UnknownDirectionException thrown if the direction is not known * @throws UnknownDirectionException thrown if the direction is not known
*/ */
private PlayerDirection getPlayerDirection(Player player, String dirStr) throws UnknownDirectionException { private Direction getPlayerDirection(Player player, String dirStr) throws UnknownDirectionException {
final PlayerDirection dir; final Direction dir;
switch (dirStr.charAt(0)) { switch (dirStr.charAt(0)) {
case 'w': case 'w':
dir = PlayerDirection.WEST; dir = Direction.WEST;
break; break;
case 'e': case 'e':
dir = PlayerDirection.EAST; dir = Direction.EAST;
break; break;
case 's': case 's':
if (dirStr.indexOf('w') > 0) { if (dirStr.indexOf('w') > 0) {
return PlayerDirection.SOUTH_WEST; return Direction.SOUTHWEST;
} }
if (dirStr.indexOf('e') > 0) { if (dirStr.indexOf('e') > 0) {
return PlayerDirection.SOUTH_EAST; return Direction.SOUTHEAST;
} }
dir = PlayerDirection.SOUTH; dir = Direction.SOUTH;
break; break;
case 'n': case 'n':
if (dirStr.indexOf('w') > 0) { if (dirStr.indexOf('w') > 0) {
return PlayerDirection.NORTH_WEST; return Direction.NORTHWEST;
} }
if (dirStr.indexOf('e') > 0) { if (dirStr.indexOf('e') > 0) {
return PlayerDirection.NORTH_EAST; return Direction.NORTHEAST;
} }
dir = PlayerDirection.NORTH; dir = Direction.NORTH;
break; break;
case 'u': case 'u':
dir = PlayerDirection.UP; dir = Direction.UP;
break; break;
case 'd': case 'd':
dir = PlayerDirection.DOWN; dir = Direction.DOWN;
break; break;
case 'm': // me case 'm': // me
@ -475,6 +490,7 @@ public class WorldEdit {
return dir; return dir;
} }
/** /**
* Flush a block bag's changes to a player. * Flush a block bag's changes to a player.
* *

Datei anzeigen

@ -543,7 +543,7 @@ public class RegionCommands extends MethodCommands {
public void move(FawePlayer player, LocalSession session, EditSession editSession, public void move(FawePlayer player, LocalSession session, EditSession editSession,
@Selection Region region, @Selection Region region,
@Optional("1") @Range(min = 1) int count, @Optional("1") @Range(min = 1) int count,
@Optional(Direction.AIM) @Direction BlockVector3 direction, @Optional(Direction.AIM) @Direction(includeDiagonals = true) BlockVector3 direction,
@Optional("air") Pattern replace, @Optional("air") Pattern replace,
@Switch('b') boolean copyBiomes, @Switch('b') boolean copyBiomes,
@Switch('e') boolean skipEntities, @Switch('e') boolean skipEntities,
@ -610,7 +610,7 @@ public class RegionCommands extends MethodCommands {
public void stack(FawePlayer player, LocalSession session, EditSession editSession, public void stack(FawePlayer player, LocalSession session, EditSession editSession,
@Selection Region region, @Selection Region region,
@Optional("1") @Range(min = 1) int count, @Optional("1") @Range(min = 1) int count,
@Optional(Direction.AIM) @Direction BlockVector3 direction, @Optional(Direction.AIM) @Direction(includeDiagonals = true) BlockVector3 direction,
@Switch('s') boolean moveSelection, @Switch('s') boolean moveSelection,
@Switch('b') boolean copyBiomes, @Switch('b') boolean copyBiomes,
@Switch('e') boolean skipEntities, @Switch('e') boolean skipEntities,

Datei anzeigen

@ -20,8 +20,6 @@
package com.sk89q.worldedit.entity; package com.sk89q.worldedit.entity;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import com.sk89q.worldedit.PlayerDirection;
import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;
@ -30,6 +28,7 @@ import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.extent.inventory.BlockBag; import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
@ -61,7 +60,7 @@ public interface Player extends Entity, Actor {
* *
* @return the direction * @return the direction
*/ */
PlayerDirection getCardinalDirection(int yawOffset); Direction getCardinalDirection(int yawOffset);
/** /**
* Get the item that the player is holding. * Get the item that the player is holding.
@ -241,7 +240,7 @@ public interface Player extends Entity, Actor {
* *
* @return the direction * @return the direction
*/ */
PlayerDirection getCardinalDirection(); Direction getCardinalDirection();
/** /**
* Pass through the wall that you are looking at. * Pass through the wall that you are looking at.

Datei anzeigen

@ -267,7 +267,7 @@ public class DefaultBlockParser extends InputParser<BlockStateHolder> {
if (context.isRestricted()) { if (context.isRestricted()) {
Actor actor = context.requireActor(); Actor actor = context.requireActor();
if (actor != null) { if (actor != null) {
if (!actor.hasPermission("worldedit.anyblock") && worldEdit.getConfiguration().disallowedBlocks.contains(blockType)) { if (!actor.hasPermission("worldedit.anyblock") && worldEdit.getConfiguration().disallowedBlocks.contains(blockType.getId())) {
throw new DisallowedUsageException("You are not allowed to use '" + input + "'"); throw new DisallowedUsageException("You are not allowed to use '" + input + "'");
} }
if (nbt != null) { if (nbt != null) {

Datei anzeigen

@ -20,7 +20,6 @@
package com.sk89q.worldedit.extension.platform; package com.sk89q.worldedit.extension.platform;
import com.sk89q.worldedit.NotABlockException; import com.sk89q.worldedit.NotABlockException;
import com.sk89q.worldedit.PlayerDirection;
import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.entity.Player;
@ -28,6 +27,7 @@ import com.sk89q.worldedit.extent.Extent;
import com.sk89q.worldedit.internal.cui.CUIEvent; import com.sk89q.worldedit.internal.cui.CUIEvent;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.TargetBlock; import com.sk89q.worldedit.util.TargetBlock;
@ -71,25 +71,25 @@ public abstract class AbstractPlayerActor implements Actor, Player, Cloneable {
* @param rot yaw * @param rot yaw
* @return the direction * @return the direction
*/ */
private static PlayerDirection getDirection(double rot) { private static Direction getDirection(double rot) {
if (0 <= rot && rot < 22.5) { if (0 <= rot && rot < 22.5) {
return PlayerDirection.SOUTH; return Direction.SOUTH;
} else if (22.5 <= rot && rot < 67.5) { } else if (22.5 <= rot && rot < 67.5) {
return PlayerDirection.SOUTH_WEST; return Direction.SOUTHWEST;
} else if (67.5 <= rot && rot < 112.5) { } else if (67.5 <= rot && rot < 112.5) {
return PlayerDirection.WEST; return Direction.WEST;
} else if (112.5 <= rot && rot < 157.5) { } else if (112.5 <= rot && rot < 157.5) {
return PlayerDirection.NORTH_WEST; return Direction.NORTHWEST;
} else if (157.5 <= rot && rot < 202.5) { } else if (157.5 <= rot && rot < 202.5) {
return PlayerDirection.NORTH; return Direction.NORTH;
} else if (202.5 <= rot && rot < 247.5) { } else if (202.5 <= rot && rot < 247.5) {
return PlayerDirection.NORTH_EAST; return Direction.NORTHEAST;
} else if (247.5 <= rot && rot < 292.5) { } else if (247.5 <= rot && rot < 292.5) {
return PlayerDirection.EAST; return Direction.EAST;
} else if (292.5 <= rot && rot < 337.5) { } else if (292.5 <= rot && rot < 337.5) {
return PlayerDirection.SOUTH_EAST; return Direction.SOUTHEAST;
} else if (337.5 <= rot && rot < 360.0) { } else if (337.5 <= rot && rot < 360.0) {
return PlayerDirection.SOUTH; return Direction.SOUTH;
} else { } else {
return null; return null;
} }
@ -377,17 +377,17 @@ public abstract class AbstractPlayerActor implements Actor, Player, Cloneable {
} }
@Override @Override
public PlayerDirection getCardinalDirection() { public Direction getCardinalDirection() {
return getCardinalDirection(0); return getCardinalDirection(0);
} }
@Override @Override
public PlayerDirection getCardinalDirection(int yawOffset) { public Direction getCardinalDirection(int yawOffset) {
if (getLocation().getPitch() > 67.5) { if (getLocation().getPitch() > 67.5) {
return PlayerDirection.DOWN; return Direction.DOWN;
} }
if (getLocation().getPitch() < -67.5) { if (getLocation().getPitch() < -67.5) {
return PlayerDirection.UP; return Direction.UP;
} }
// From hey0's code // From hey0's code

Datei anzeigen

@ -35,4 +35,5 @@ public @interface Direction {
String AIM = "me"; String AIM = "me";
boolean includeDiagonals() default false;
} }

Datei anzeigen

@ -24,7 +24,6 @@ import com.boydti.fawe.util.MathMan;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.IncompleteRegionException; import com.sk89q.worldedit.IncompleteRegionException;
import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.PlayerDirection;
import com.sk89q.worldedit.UnknownDirectionException; import com.sk89q.worldedit.UnknownDirectionException;
import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.WorldEditException;
@ -313,8 +312,12 @@ public class WorldEditBinding extends BindingHelper {
public BlockVector3 getDirection(ArgumentStack context, Direction direction) public BlockVector3 getDirection(ArgumentStack context, Direction direction)
throws ParameterException, UnknownDirectionException { throws ParameterException, UnknownDirectionException {
Player sender = getPlayer(context); Player sender = getPlayer(context);
if (direction.includeDiagonals()) {
return worldEdit.getDiagonalDirection(sender, context.next());
} else {
return worldEdit.getDirection(sender, context.next()); return worldEdit.getDirection(sender, context.next());
} }
}
/** /**
* Gets an {@link TreeType} from a {@link ArgumentStack}. * Gets an {@link TreeType} from a {@link ArgumentStack}.

Datei anzeigen

@ -81,11 +81,9 @@ public class PropertiesConfiguration extends LocalConfiguration {
profile = getBool("profile", profile); profile = getBool("profile", profile);
disallowedBlocks = disallowedBlocks =
new HashSet<>(getStringSet("limits.disallowed-blocks", defaultDisallowedBlocks)) new HashSet<>(getStringSet("limits.disallowed-blocks", defaultDisallowedBlocks));
.stream().map(e -> BlockTypes.parse(e)).collect(Collectors.toSet());
allowedDataCycleBlocks = allowedDataCycleBlocks =
new HashSet<>(getStringSet("limits.allowed-data-cycle-blocks", null)) new HashSet<>(getStringSet("limits.allowed-data-cycle-blocks", null));
.stream().map(e -> BlockTypes.parse(e)).collect(Collectors.toSet());
defaultChangeLimit = getInt("default-max-changed-blocks", defaultChangeLimit); defaultChangeLimit = getInt("default-max-changed-blocks", defaultChangeLimit);
maxChangeLimit = getInt("max-changed-blocks", maxChangeLimit); maxChangeLimit = getInt("max-changed-blocks", maxChangeLimit);
defaultMaxPolygonalPoints = getInt("default-max-polygon-points", defaultMaxPolygonalPoints); defaultMaxPolygonalPoints = getInt("default-max-polygon-points", defaultMaxPolygonalPoints);

Datei anzeigen

@ -81,11 +81,9 @@ public class YAMLConfiguration extends LocalConfiguration {
butcherMaxRadius = Math.max(-1, config.getInt("limits.butcher-radius.maximum", butcherMaxRadius)); butcherMaxRadius = Math.max(-1, config.getInt("limits.butcher-radius.maximum", butcherMaxRadius));
disallowedBlocks = disallowedBlocks =
new HashSet<>(config.getStringList("limits.disallowed-blocks", Lists.newArrayList(defaultDisallowedBlocks))) new HashSet<>(config.getStringList("limits.disallowed-blocks", Lists.newArrayList(defaultDisallowedBlocks)));
.stream().map(e -> BlockTypes.parse(e)).collect(Collectors.toSet());
allowedDataCycleBlocks = allowedDataCycleBlocks =
new HashSet<>(config.getStringList("limits.allowed-data-cycle-blocks", null)) new HashSet<>(config.getStringList("limits.allowed-data-cycle-blocks", null));
.stream().map(e -> BlockTypes.parse(e)).collect(Collectors.toSet());
registerHelp = config.getBoolean("register-help", true); registerHelp = config.getBoolean("register-help", true);
logCommands = config.getBoolean("logging.log-commands", logCommands); logCommands = config.getBoolean("logging.log-commands", logCommands);

Datei anzeigen

@ -8,29 +8,55 @@ buildscript {
} }
plugins { plugins {
id 'signing' id 'org.spongepowered.plugin' version '0.9.0'
id 'org.spongepowered.plugin' version '0.8.1' }
repositories {
maven { url "https://repo.codemc.org/repository/maven-public" }
} }
dependencies { dependencies {
compile project(':worldedit-core') compile project(':worldedit-core')
compile 'org.spongepowered:spongeapi:7.0.0-SNAPSHOT' compile 'org.spongepowered:spongeapi:7.1.0'
compile 'org.bstats:bstats-sponge:1.4'
testCompile group: 'org.mockito', name: 'mockito-core', version:'1.9.0-rc1' testCompile group: 'org.mockito', name: 'mockito-core', version:'1.9.0-rc1'
} }
sourceCompatibility = JavaVersion.VERSION_1_8 sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8
sponge { jar.archiveName="fawe-sponge-${project.parent.version}.jar"
plugin { jar.destinationDir = file '../mvn/com/boydti/fawe-sponge/' + project.parent.version
id = 'worldedit' task createPom << {
pom {
project {
groupId 'com.boydti'
artifactId 'fawe-sponge'
version project.parent.version
} }
} }
.getEffectivePom()
jar { .setDependencies(new ArrayList<>())
manifest { .writeTo("../mvn/com/boydti/fawe-sponge/${project.parent.version}/fawe-sponge-${project.parent.version}.pom")
attributes("Class-Path": "truezip.jar WorldEdit/truezip.jar js.jar WorldEdit/js.jar", pom {
"WorldEdit-Version": version) project {
groupId 'com.boydti'
artifactId 'fawe-sponge'
version 'latest'
}
}
.getEffectivePom()
.setDependencies(new ArrayList<>())
.writeTo("../mvn/com/boydti/fawe-sponge/latest/fawe-sponge-latest.pom")
}
task copyFiles {
doLast {
copy {
from "../mvn/com/boydti/fawe-sponge/${project.parent.version}/"
into '../mvn/com/boydti/fawe-sponge/latest/'
include('*.jar')
rename ("fawe-sponge-${project.parent.version}.jar", 'fawe-sponge-latest.jar')
}
} }
} }
@ -38,13 +64,10 @@ shadowJar {
dependencies { dependencies {
include(dependency(':worldedit-core')) include(dependency(':worldedit-core'))
} }
archiveName = "${parent.name}-${project.name.replaceAll("worldedit-", "")}-${parent.version}.jar"
destinationDir = file '../target'
} }
artifacts { build.dependsOn(shadowJar)
archives shadowJar build.finalizedBy(copyFiles)
} copyFiles.dependsOn(createPom)
signing {
required false
sign shadowJar
}

Datei anzeigen

@ -31,6 +31,7 @@ import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.session.SessionKey;
import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameMode;
import com.sk89q.worldedit.world.gamemode.GameModes; import com.sk89q.worldedit.world.gamemode.GameModes;
import com.sk89q.worldedit.world.item.ItemTypes; import com.sk89q.worldedit.world.item.ItemTypes;
@ -186,8 +187,6 @@ public class SpongePlayer extends AbstractPlayerActor {
} }
@Override @Override
<<<<<<< HEAD
=======
public void sendFakeBlock(BlockVector3 pos, BlockStateHolder block) { public void sendFakeBlock(BlockVector3 pos, BlockStateHolder block) {
org.spongepowered.api.world.Location<World> loc = player.getWorld().getLocation(pos.getX(), pos.getY(), pos.getZ()); org.spongepowered.api.world.Location<World> loc = player.getWorld().getLocation(pos.getX(), pos.getY(), pos.getZ());
if (block == null) { if (block == null) {
@ -205,7 +204,6 @@ public class SpongePlayer extends AbstractPlayerActor {
} }
@Override @Override
>>>>>>> 399e0ad5... Refactor vector system to be cleaner
public SessionKey getSessionKey() { public SessionKey getSessionKey() {
return new SessionKeyImpl(player.getUniqueId(), player.getName()); return new SessionKeyImpl(player.getUniqueId(), player.getName());
} }

Datei anzeigen

@ -25,10 +25,7 @@ import com.flowpowered.math.vector.Vector3d;
import com.flowpowered.math.vector.Vector3i; import com.flowpowered.math.vector.Vector3i;
import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.WorldEditException;
<<<<<<< HEAD
=======
import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BaseBlock;
>>>>>>> f54d6afb... Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block.
import com.sk89q.worldedit.blocks.BaseItemStack; import com.sk89q.worldedit.blocks.BaseItemStack;
import com.sk89q.worldedit.entity.BaseEntity; import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.entity.Entity; import com.sk89q.worldedit.entity.Entity;

Datei anzeigen

@ -211,7 +211,7 @@ public class SpongeWorldEdit {
BlockType interactedType = targetBlock.getState().getType(); BlockType interactedType = targetBlock.getState().getType();
if (event instanceof InteractBlockEvent.Primary) { if (event instanceof InteractBlockEvent.Primary) {
if (!interactedType.getMaterial().isAir()) { if (interactedType != BlockTypes.AIR) {
if (!optLoc.isPresent()) { if (!optLoc.isPresent()) {
return; return;
} }
@ -233,7 +233,7 @@ public class SpongeWorldEdit {
} }
} }
} else if (event instanceof InteractBlockEvent.Secondary) { } else if (event instanceof InteractBlockEvent.Secondary) {
if (!interactedType.getMaterial().isAir()) { if (interactedType != BlockTypes.AIR) {
if (!optLoc.isPresent()) { if (!optLoc.isPresent()) {
return; return;
} }