@@ -602,9 +602,12 @@
|
||||
- BlockPosition blockposition;
|
||||
+ BlockPosition blockposition = location; // CraftBukkit
|
||||
|
||||
+ if (blockposition == null) { // CraftBukkit
|
||||
if (this.world.getDimensionKey() == World.THE_END && worldserver.getDimensionKey() == World.OVERWORLD) {
|
||||
- if (this.world.getDimensionKey() == World.THE_END && worldserver.getDimensionKey() == World.OVERWORLD) {
|
||||
- blockposition = worldserver.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, worldserver.getSpawn());
|
||||
- } else if (worldserver.getDimensionKey() == World.THE_END) {
|
||||
- blockposition = WorldServer.a;
|
||||
+ if (blockposition == null) { // CraftBukkit
|
||||
+ if (this.world.getTypeKey() == DimensionManager.THE_END && worldserver.getTypeKey() == DimensionManager.OVERWORLD) { // CraftBukkit
|
||||
+ // CraftBukkit start
|
||||
+ EntityPortalEvent event = CraftEventFactory.callEntityPortalEvent(this, worldserver, worldserver.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, worldserver.getSpawn()), 0);
|
||||
+ if (event == null) {
|
||||
@@ -613,8 +616,7 @@
|
||||
+ worldserver = ((CraftWorld) event.getTo().getWorld()).getHandle();
|
||||
+ blockposition = new BlockPosition(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ());
|
||||
+ // CraftBukkit end
|
||||
} else if (worldserver.getDimensionKey() == World.THE_END) {
|
||||
- blockposition = WorldServer.a;
|
||||
+ } else if (worldserver.getTypeKey() == DimensionManager.THE_END) { // CraftBukkit
|
||||
+ // CraftBukkit start
|
||||
+ EntityPortalEvent event = CraftEventFactory.callEntityPortalEvent(this, worldserver, WorldServer.a, 0);
|
||||
+ if (event == null) {
|
||||
@@ -656,11 +658,13 @@
|
||||
|
||||
this.world.getMethodProfiler().exitEnter("reloading");
|
||||
Entity entity = this.getEntityType().a((World) worldserver);
|
||||
@@ -2043,8 +2423,16 @@
|
||||
@@ -2042,9 +2422,17 @@
|
||||
entity.setPositionRotation(blockposition, entity.yaw + f, entity.pitch);
|
||||
entity.setMot(vec3d);
|
||||
worldserver.addEntityTeleport(entity);
|
||||
if (worldserver.getDimensionKey() == World.THE_END) {
|
||||
- if (worldserver.getDimensionKey() == World.THE_END) {
|
||||
- WorldServer.a(worldserver);
|
||||
+ if (worldserver.getTypeKey() == DimensionManager.THE_END) { // CraftBukkit
|
||||
+ WorldServer.a(worldserver, this); // CraftBukkit
|
||||
+ }
|
||||
+ // CraftBukkit start - Forward the CraftEntity to the new entity
|
||||
|
||||
Reference in New Issue
Block a user