Rework the vanilla link fix so that hover/click events aren't lost

By: Thinkofdeath <thinkofdeath@spigotmc.org>
This commit is contained in:
CraftBukkit/Spigot
2014-12-13 10:26:06 +00:00
parent ed9ee15a91
commit 33abca2c69
2 changed files with 96 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
--- ../work/decompile-8eb82bde/net/minecraft/server/PlayerList.java 2014-12-13 09:37:43.506950406 +0000
+++ src/main/java/net/minecraft/server/PlayerList.java 2014-12-13 09:35:13.993746030 +0000
--- ../work/decompile-8eb82bde/net/minecraft/server/PlayerList.java 2014-12-13 10:25:48.845021085 +0000
+++ src/main/java/net/minecraft/server/PlayerList.java 2014-12-13 10:25:34.093021245 +0000
@@ -18,6 +18,26 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -558,7 +558,8 @@
+ double d1 = entity.locZ;
+ double d2 = 8.0D;
+ float f = entity.yaw;
+
- entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityEffect(entityplayer.getId(), mobeffect));
+ worldserver.methodProfiler.a("moving");
+ */
+ if (worldserver1.dimension == -1) {
@@ -599,8 +600,8 @@
+ worldserver.entityJoinedWorld(entity, false);
+ }
+ */
+ }
+
}
+ // worldserver.methodProfiler.b();
+ if (i != 1) {
+ worldserver.methodProfiler.a("placing");
@@ -613,12 +614,11 @@
+ worldserver1.addEntity(entity);
+ worldserver1.entityJoinedWorld(entity, false);
+ }
- entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityEffect(entityplayer.getId(), mobeffect));
+
+ worldserver.methodProfiler.b();
+ */
}
+ }
+
+ // entity.spawnIn(worldserver1);
+ return new Location(worldserver1.getWorld(), d0, y, d1, yaw, pitch);
}
@@ -796,7 +796,7 @@
}
public boolean getHasWhitelist() {
@@ -711,16 +1097,28 @@
@@ -711,16 +1097,25 @@
public void v() {
for (int i = 0; i < this.players.size(); ++i) {
@@ -819,15 +819,12 @@
- this.sendAll(new PacketPlayOutChat(ichatbasecomponent, (byte) i));
+ // CraftBukkit start - we run this through our processor first so we can get web links etc
+ // PAIL: Rename
+ for (IChatBaseComponent component : CraftChatMessage.fromString(CraftChatMessage.fromComponent(ichatbasecomponent, EnumChatFormat.WHITE))) {
+ this.sendAll(new PacketPlayOutChat(component, (byte) i));
+ }
+ this.sendAll(new PacketPlayOutChat(CraftChatMessage.fixComponent(ichatbasecomponent), (byte) i));
+ // CraftBukkit end
}
public void sendMessage(IChatBaseComponent ichatbasecomponent) {
@@ -754,11 +1152,10 @@
@@ -754,11 +1149,10 @@
public void a(int i) {
this.r = i;
if (this.server.worldServer != null) {