@SubscribeEvent
public void packetToServer(FMLNetworkEvent.ServerCustomPacketEvent event) {
ByteBuf buf = event.packet.payload();
byte kind = buf.readByte();
NetHandlerPlayServer handler = (NetHandlerPlayServer) event.handler;
EntityPlayerMP player = handler.playerEntity;
if (kind == INTERACT_HIT || kind == INTERACT_USE) {
Coord at = readCoord(buf, player);
EnumFacing side = readSide(buf);
if (!at.blockExists()) return;
double reachSq = 6 * 6; // FIXME: There's no way to get this properly on the server?
if (at.distanceSq(player) > reachSq) {
log("Ignoring distant interaction packet for " + at + " from " + player);
return;
}
FlatFace face = Flat.get(at, side);
if (kind == INTERACT_HIT) {
face.onHit(at, side, player);
} else {
face.onActivate(at, side, player);
}
} else {
log("Invalid packet ID " + kind + " from " + player);
}
}
FlatNet.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:Factorization
作者:
评论列表
文章目录