forked from SteamWar/SteamWar
Fix SteamEditWand
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
package de.steamwar.core.worldedit;
|
package de.steamwar.core.worldedit;
|
||||||
|
|
||||||
import com.comphenix.tinyprotocol.TinyProtocol;
|
import com.comphenix.tinyprotocol.TinyProtocol;
|
||||||
|
import com.sk89q.worldedit.IncompleteRegionException;
|
||||||
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.WorldEditPlugin;
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
@@ -121,13 +122,7 @@ public class SteamEditWand implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setLocation(Location location) {
|
public void setLocation(Location location) {
|
||||||
float distance = (float) player.getLocation().distanceSquared(location);
|
|
||||||
wireframe.setPos1And2(location, location);
|
wireframe.setPos1And2(location, location);
|
||||||
float width = distance / 1600;
|
|
||||||
width = ((int) (width * 16)) / 16F;
|
|
||||||
width = Math.max(width, 1 / 16F);
|
|
||||||
width = Math.min(width, 1 / 2F);
|
|
||||||
wireframe.setWidth(width);
|
|
||||||
wireframe.setBlock(WorldEditRendererCUIEditor.Type.CURSOR.getMaterial(player).createBlockData());
|
wireframe.setBlock(WorldEditRendererCUIEditor.Type.CURSOR.getMaterial(player).createBlockData());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -338,7 +333,11 @@ public class SteamEditWand implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void selectPos1(RegionSelector regionSelector, Player player, LocalSession session, BlockVector3 pos1) {
|
private void selectPos1(RegionSelector regionSelector, Player player, LocalSession session, BlockVector3 pos1) {
|
||||||
if (!pos1.equals(regionSelector.getPrimaryPosition())) {
|
try {
|
||||||
|
if (!pos1.equals(regionSelector.getPrimaryPosition())) {
|
||||||
|
SWPlayer.of(player).setComponent(new Pos1Message(regionSelector, player, session, pos1));
|
||||||
|
}
|
||||||
|
} catch (IncompleteRegionException e) {
|
||||||
SWPlayer.of(player).setComponent(new Pos1Message(regionSelector, player, session, pos1));
|
SWPlayer.of(player).setComponent(new Pos1Message(regionSelector, player, session, pos1));
|
||||||
}
|
}
|
||||||
regionSelector.selectPrimary(pos1, PermissiveSelectorLimits.getInstance());
|
regionSelector.selectPrimary(pos1, PermissiveSelectorLimits.getInstance());
|
||||||
@@ -362,7 +361,11 @@ public class SteamEditWand implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void selectPos2(RegionSelector regionSelector, Player player, LocalSession session, BlockVector3 pos2) {
|
private void selectPos2(RegionSelector regionSelector, Player player, LocalSession session, BlockVector3 pos2) {
|
||||||
if (regionSelector.getVertices().size() == 2 && !pos2.equals(regionSelector.getVertices().get(1))) {
|
try {
|
||||||
|
if (regionSelector.getVertices().size() == 2 && !pos2.equals(regionSelector.getVertices().get(1))) {
|
||||||
|
SWPlayer.of(player).setComponent(new Pos2Message(regionSelector, player, session, pos2));
|
||||||
|
}
|
||||||
|
} catch (IncompleteRegionException e) {
|
||||||
SWPlayer.of(player).setComponent(new Pos2Message(regionSelector, player, session, pos2));
|
SWPlayer.of(player).setComponent(new Pos2Message(regionSelector, player, session, pos2));
|
||||||
}
|
}
|
||||||
regionSelector.selectSecondary(pos2, PermissiveSelectorLimits.getInstance());
|
regionSelector.selectSecondary(pos2, PermissiveSelectorLimits.getInstance());
|
||||||
|
|||||||
Reference in New Issue
Block a user