Remove the broken teleport passenger vehicle with player patch

This commit is contained in:
Zach Brown
2015-01-29 15:26:20 -06:00
parent e1e0781a99
commit 335c9c3009
37 changed files with 108 additions and 132 deletions

View File

@@ -36,3 +36,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public static void catchOp(String reason)
{
--
1.9.5.msysgit.0

View File

@@ -128,3 +128,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ // PaperSpigot end
}
--
1.9.5.msysgit.0

View File

@@ -23,3 +23,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
packetlistenerplayout.a(this);
}
--
1.9.5.msysgit.0

View File

@@ -34,3 +34,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
return this.world.chunkProviderServer.getChunkAt(x, z).bukkitChunk;
}
--
1.9.5.msysgit.0

View File

@@ -61,3 +61,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -33,3 +33,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -22,3 +22,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// Spigot End
--
1.9.5.msysgit.0

View File

@@ -64,3 +64,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -31,3 +31,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
--
1.9.5.msysgit.0

View File

@@ -37,3 +37,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -34,3 +34,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -49,3 +49,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -34,3 +34,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -36,3 +36,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -78,3 +78,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -59,3 +59,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -37,3 +37,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -35,3 +35,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -27,3 +27,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
// Added from changeDimension
--
1.9.5.msysgit.0

View File

@@ -47,3 +47,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -24,3 +24,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.lastX = d0;
this.lastY = d1;
--
1.9.5.msysgit.0

View File

@@ -31,3 +31,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.methodProfiler.a("cleaning");
--
1.9.5.msysgit.0

View File

@@ -212,3 +212,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
+ ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
--
1.9.5.msysgit.0

View File

@@ -198,3 +198,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
--
1.9.5.msysgit.0

View File

@@ -24,3 +24,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@Override
--
1.9.5.msysgit.0

View File

@@ -284,3 +284,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+}
\ No newline at end of file
--
1.9.5.msysgit.0

View File

@@ -55,3 +55,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -167,3 +167,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public Player.Spigot spigot()
--
1.9.5.msysgit.0

View File

@@ -171,3 +171,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public InetSocketAddress getAddress() {
--
1.9.5.msysgit.0

View File

@@ -150,3 +150,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
itemstack.count = this.getMaxStackSize();
}
--
1.9.5.msysgit.0

View File

@@ -37,3 +37,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -116,3 +116,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -19,3 +19,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public CrashReport b(CrashReport crashreport) {
--
1.9.5.msysgit.0

View File

@@ -1,96 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 28 Nov 2014 00:24:18 -0600
Subject: [PATCH] Teleport passenger/vehicle with player
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
// CraftBukikt end
+ // PaperSpigot start - Teleport passenger vehicle with player
+ public void retrack() {
+ final EntityTracker entityTracker = ((WorldServer) world).getTracker();
+ entityTracker.untrackEntity(this);
+ entityTracker.track(this);
+ }
+ // PaperSpigot end
private static final AxisAlignedBB a = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
private static int entityCount;
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
// minecraftserver.getPlayerList().changeWorld(this, j, worldserver, worldserver1);
boolean before = worldserver1.chunkProviderServer.forceChunkLoad;
worldserver1.chunkProviderServer.forceChunkLoad = true;
- worldserver1.getMinecraftServer().getPlayerList().repositionEntity(this, exit, portal);
+ //worldserver1.getMinecraftServer().getPlayerList().repositionEntity(this, exit, portal); // PaperSpigot - no... this entity is dead
worldserver1.chunkProviderServer.forceChunkLoad = before;
// CraftBukkit end
this.world.methodProfiler.c("reloading");
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
if (entity != null) {
entity.n(this);
+ // PaperSpigot start - move entity to new location
+ exit.getBlock(); // force load
+ entity.setLocation(exit.getX(), exit.getY(), exit.getZ(), exit.getYaw(), exit.getPitch());
+ // PaperSpigot end
/* CraftBukkit start - We need to do this...
if (j == 1 && i == 1) {
BlockPosition blockposition = this.world.r(worldserver1.getSpawn());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
- entity.mount(null);
+ // PaperSpigot start
+ entity.mount(null); // Comment out when fully working, until then leave this
+
+ Entity vehicle = entity.vehicle;
+ Entity passenger = entity.passenger;
+ if (vehicle != null) {
+ vehicle.passenger = null;
+ vehicle.teleportTo(location, false);
+ vehicle = vehicle.getBukkitEntity().getHandle();
+ entity.vehicle = vehicle;
+ vehicle.passenger = entity;
+ }
+
+ if (passenger != null) {
+ passenger.vehicle = null;
+ passenger.teleportTo(location, false);
+ passenger = passenger.getBukkitEntity().getHandle();
+ entity.passenger = passenger;
+ passenger.vehicle = entity;
+ }
+ // PaperSpigot end
// Update the From Location
from = event.getFrom();
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} else {
server.getHandle().moveToWorld(entity, toWorld.dimension, true, to, true);
}
+
+ // PaperSpigot start
+ if (vehicle != null) {
+ vehicle.retrack();
+ }
+
+ if (passenger != null) {
+ passenger.retrack();
+ }
+ // PaperSpigot end
+
return true;
}
--

View File

@@ -24,3 +24,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
this.b(world, blockposition, iblockdata, block);
}
--
1.9.5.msysgit.0

View File

@@ -37,3 +37,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
}
--
1.9.5.msysgit.0

View File

@@ -75,3 +75,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
return false;
}
--
1.9.5.msysgit.0