Fixed insane fall damage (entities reset on death)
Dieser Commit ist enthalten in:
Ursprung
a063036210
Commit
a9191c24b3
@ -81,17 +81,19 @@ public class NetServerHandler extends NetHandler
|
||||
// CraftBukkit start
|
||||
Location from = new Location(player.getWorld(), g, h, i, e.v, e.w);
|
||||
Location to = player.getLocation();
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(Type.PLAYER_MOVE, player, from, to);
|
||||
server.getPluginManager().callEvent(event);
|
||||
if (!from.equals(to)) {
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(Type.PLAYER_MOVE, player, from, to);
|
||||
server.getPluginManager().callEvent(event);
|
||||
|
||||
from = event.getFrom();
|
||||
to = event.isCancelled() ? from : event.getTo();
|
||||
from = event.getFrom();
|
||||
to = event.isCancelled() ? from : event.getTo();
|
||||
|
||||
e.p = to.getX();
|
||||
e.q = to.getY();
|
||||
e.r = to.getZ();
|
||||
e.v = to.getYaw();
|
||||
e.w = to.getPitch();
|
||||
e.p = to.getX();
|
||||
e.q = to.getY();
|
||||
e.r = to.getZ();
|
||||
e.v = to.getYaw();
|
||||
e.w = to.getPitch();
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
if (j) {
|
||||
@ -481,6 +483,7 @@ public class NetServerHandler extends NetHandler
|
||||
return;
|
||||
} else {
|
||||
e = d.f.d(e);
|
||||
player.setHandle(e); // CraftBukkit
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import org.bukkit.World;
|
||||
|
||||
public class CraftEntity implements org.bukkit.Entity {
|
||||
protected final CraftServer server;
|
||||
private final Entity entity;
|
||||
private Entity entity;
|
||||
|
||||
public CraftEntity(final CraftServer server, final Entity entity) {
|
||||
this.server = server;
|
||||
@ -35,6 +35,10 @@ public class CraftEntity implements org.bukkit.Entity {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public void setHandle(final Entity entity) {
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null) {
|
||||
|
@ -7,7 +7,7 @@ import org.bukkit.HumanEntity;
|
||||
import org.bukkit.ItemStack;
|
||||
|
||||
public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
private final EntityPlayer entity;
|
||||
private EntityPlayer entity;
|
||||
|
||||
public CraftHumanEntity(final CraftServer server, final EntityPlayer entity) {
|
||||
super(server, entity);
|
||||
@ -29,6 +29,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public void setHandle(final EntityPlayer entity) {
|
||||
super.setHandle((EntityPlayer)entity);
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftHumanEntity{" + "id=" + getEntityID() + "name=" + getName() + '}';
|
||||
|
@ -1,11 +1,12 @@
|
||||
|
||||
package org.bukkit.craftbukkit;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import net.minecraft.server.EntityLiving;
|
||||
import org.bukkit.LivingEntity;
|
||||
|
||||
public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
private final EntityLiving entity;
|
||||
private EntityLiving entity;
|
||||
|
||||
public CraftLivingEntity(final CraftServer server, final EntityLiving entity) {
|
||||
super(server, entity);
|
||||
@ -29,6 +30,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public void setHandle(final EntityLiving entity) {
|
||||
super.setHandle((Entity)entity);
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftLivingEntity{" + "id=" + getEntityID() + '}';
|
||||
|
@ -1,6 +1,7 @@
|
||||
|
||||
package org.bukkit.craftbukkit;
|
||||
|
||||
import net.minecraft.server.EntityPlayer;
|
||||
import net.minecraft.server.EntityPlayerMP;
|
||||
import net.minecraft.server.Packet3Chat;
|
||||
import org.bukkit.Location;
|
||||
@ -24,6 +25,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public void setHandle(final EntityPlayerMP entity) {
|
||||
super.setHandle((EntityPlayer)entity);
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
@ -40,4 +42,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public String toString() {
|
||||
return "CraftPlayer{" + "name=" + getName() + '}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final CraftPlayer other = (CraftPlayer) obj;
|
||||
if ((this.getName() == null) ? (other.getName() != null) : !this.getName().equals(other.getName())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 5;
|
||||
hash = 97 * hash + (this.getName() != null ? this.getName().hashCode() : 0);
|
||||
return hash;
|
||||
}
|
||||
}
|
||||
|
@ -70,6 +70,11 @@ public class CraftWorld implements World {
|
||||
return world;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftWorld";
|
||||
}
|
||||
|
||||
private final class ChunkCoordinate {
|
||||
public final int x;
|
||||
public final int z;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren