Use setMessage instead of arraycopy
setMessage affects messages, filteredMessage, and renderMessages, we were only doing an arraycopy for messages fixes #7774
This commit is contained in:
parent
ce059b4f99
commit
6f5e6c60d3
22 changed files with 61 additions and 59 deletions
|
@ -2285,7 +2285,7 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa
|
|||
public boolean isOp() {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c9e069fac 100644
|
||||
index 2577a135bb88adc9000ab67477846c6466d973e7..7ff1fcfdc87bcd299da46fe8a7e090c118a42cfa 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -272,14 +272,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -2398,7 +2398,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
@Override
|
||||
public void setCompassTarget(Location loc) {
|
||||
if (this.getHandle().connection == null) return;
|
||||
@@ -620,6 +656,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -620,6 +656,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
this.getHandle().connection.send(packet);
|
||||
}
|
||||
|
||||
|
@ -2424,7 +2424,9 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
+ SignBlockEntity sign = new SignBlockEntity(new BlockPos(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()), Blocks.OAK_SIGN.defaultBlockState());
|
||||
+ sign.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData()));
|
||||
+ sign.setHasGlowingText(hasGlowingText);
|
||||
+ System.arraycopy(components, 0, sign.messages, 0, sign.messages.length);
|
||||
+ for (int i = 0; i < components.length; i++) {
|
||||
+ sign.setMessage(i, components[i]);
|
||||
+ }
|
||||
+
|
||||
+ getHandle().connection.send(sign.getUpdatePacket());
|
||||
+ }
|
||||
|
@ -2432,7 +2434,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
@Override
|
||||
public void sendSignChange(Location loc, String[] lines) {
|
||||
this.sendSignChange(loc, lines, DyeColor.BLACK);
|
||||
@@ -647,14 +710,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -647,14 +712,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
Component[] components = CraftSign.sanitizeLines(lines);
|
||||
|
@ -2450,7 +2452,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1425,7 +1489,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1425,7 +1491,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setResourcePack(String url) {
|
||||
|
@ -2459,7 +2461,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1440,7 +1504,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1440,7 +1506,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setResourcePack(String url, byte[] hash, boolean force) {
|
||||
|
@ -2468,7 +2470,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1456,6 +1520,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1456,6 +1522,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2490,7 +2492,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
public void addChannel(String channel) {
|
||||
Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel);
|
||||
channel = StandardMessenger.validateAndCorrectChannel(channel);
|
||||
@@ -1860,6 +1939,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1860,6 +1941,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance;
|
||||
}
|
||||
|
||||
|
@ -2503,7 +2505,7 @@ index 2577a135bb88adc9000ab67477846c6466d973e7..09f43730e40b4ab9f0a6c8d175cbcf7c
|
|||
@Override
|
||||
public int getPing() {
|
||||
return this.getHandle().latency;
|
||||
@@ -1905,6 +1990,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1905,6 +1992,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().allowsListing();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue