geforkt von Mirrors/FastAsyncWorldEdit
Improves CUI support.
1. Allows CUI handshake package to overwrite protocol version. 2. Sends the current selection on handshake. 3. Removed redundant SelectionShapeEvents. Conflicts: src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java
Dieser Commit ist enthalten in:
Commit
8d6f5bf335
@ -40,11 +40,8 @@ public class CUIChannelListener implements PluginMessageListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
|
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
|
||||||
LocalSession session = plugin.getSession(player);
|
LocalSession session = plugin.getSession(player);
|
||||||
if (session.hasCUISupport()) { // Already initialized
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
String text = new String(message, UTF_8_CHARSET);
|
String text = new String(message, UTF_8_CHARSET);
|
||||||
session.handleCUIInitializationMessage(text);
|
session.handleCUIInitializationMessage(text);
|
||||||
|
session.describeCUI(plugin.wrapPlayer(player));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -625,10 +625,6 @@ public class LocalSession {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void handleCUIInitializationMessage(String text) {
|
public void handleCUIInitializationMessage(String text) {
|
||||||
if (hasCUISupport()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
String[] split = text.split("\\|");
|
String[] split = text.split("\\|");
|
||||||
if (split.length > 1 && split[0].equalsIgnoreCase("v")) { // enough fields and right message
|
if (split.length > 1 && split[0].equalsIgnoreCase("v")) { // enough fields and right message
|
||||||
setCUISupport(true);
|
setCUISupport(true);
|
||||||
|
@ -206,8 +206,6 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
|
|||||||
Collection<Vector> vertices = region.getVertices();
|
Collection<Vector> vertices = region.getVertices();
|
||||||
Collection<Triangle> triangles = region.getTriangles();
|
Collection<Triangle> triangles = region.getTriangles();
|
||||||
|
|
||||||
player.dispatchCUIEvent(new SelectionShapeEvent(getTypeID()));
|
|
||||||
|
|
||||||
Map<Vector, Integer> vertexIds = new HashMap<Vector, Integer>(vertices.size());
|
Map<Vector, Integer> vertexIds = new HashMap<Vector, Integer>(vertices.size());
|
||||||
int lastVertexId = -1;
|
int lastVertexId = -1;
|
||||||
for (Vector vertex : vertices) {
|
for (Vector vertex : vertices) {
|
||||||
@ -234,8 +232,6 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
|
|||||||
if (isDefined()) {
|
if (isDefined()) {
|
||||||
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
|
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
|
||||||
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
|
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
|
||||||
} else {
|
|
||||||
session.dispatchCUIEvent(player, new SelectionShapeEvent(getLegacyTypeID()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -237,8 +237,6 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
|
|||||||
if (isDefined()) {
|
if (isDefined()) {
|
||||||
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
|
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
|
||||||
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
|
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
|
||||||
} else {
|
|
||||||
session.dispatchCUIEvent(player, new SelectionShapeEvent(getLegacyTypeID()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren