本文整理汇总了Java中org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerPositionRotationPacket类的典型用法代码示例。如果您正苦于以下问题:Java ClientPlayerPositionRotationPacket类的具体用法?Java ClientPlayerPositionRotationPacket怎么用?Java ClientPlayerPositionRotationPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClientPlayerPositionRotationPacket类属于org.spacehq.mc.protocol.packet.ingame.client.player包,在下文中一共展示了ClientPlayerPositionRotationPacket类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onClientPlayerPositionRotation
import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerPositionRotationPacket; //导入依赖的package包/类
@PacketHandler
public void onClientPlayerPositionRotation(PCSession session, ClientPlayerPositionRotationPacket packet) {
final Entity entity = session.getEntity();
final double deltaX = packet.getX() - entity.x;
final double deltaY = packet.getY() - entity.y;
final double deltaZ = packet.getZ() - entity.z;
entity.x = packet.getX();
entity.y = packet.getY();
entity.z = packet.getZ();
entity.yaw = packet.getYaw();
entity.headYaw = entity.yaw;
entity.pitch = packet.getPitch();
SpongeGame.instance.getServer().getNetwork().getSessions().stream().filter(otherSession -> otherSession.isConnected()
&& ((PCSession) otherSession).getPacketProtocol().getProtocolPhase() == ProtocolPhase.INGAME).forEach(otherSession -> {
if (otherSession != session) {
otherSession.send(new ServerEntityPositionRotationPacket(entity.id, deltaX, deltaY, deltaZ, GenericMath.floor(packet.getYaw()
* 256.0F / 360.0F), GenericMath.floor(packet.getPitch() * 256.0F / 360.0F), false));
otherSession.send(new ServerEntityHeadLookPacket(entity.id, GenericMath.floor(entity.headYaw * 256.0F / 360.0F)));
}
}
);
}
示例2: isMovePacket
import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerPositionRotationPacket; //导入依赖的package包/类
public boolean isMovePacket(Packet packet) {
return packet instanceof ClientPlayerMovementPacket || packet instanceof ClientPlayerPositionPacket
|| packet instanceof ClientPlayerPositionRotationPacket || packet instanceof ClientPlayerRotationPacket;
}
示例3: isMovePacket
import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerPositionRotationPacket; //导入依赖的package包/类
public boolean isMovePacket(Packet packet){
return packet instanceof ClientPlayerMovementPacket
|| packet instanceof ClientPlayerPositionPacket
|| packet instanceof ClientPlayerPositionRotationPacket
|| packet instanceof ClientPlayerRotationPacket;
}
示例4: onUpdate
import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerPositionRotationPacket; //导入依赖的package包/类
@Override
public void onUpdate() {
super.onUpdate();
if (moved) {
if (RadixClient.getInstance().getMinecraftConn() != null) {
ClientPlayerPositionRotationPacket positionRotationPacket =
new ClientPlayerPositionRotationPacket(this.isOnGround(),
this.getPosition().getX(), this.getPosition().getY(), this.getPosition().getZ(),
(float) 180 - this.getRotation().getYaw(), -this.getRotation().getPitch());
RadixClient.getInstance().getMinecraftConn().getClient().getSession().send(positionRotationPacket);
}
moved = false;
}
Vec3i selBlkPos = RadixClient.getInstance().getSelectedBlock();
try {
if(selBlkPos != null) {
int sbcx = selBlkPos.x & (RadixClient.getInstance().getWorld().getChunkSize() - 1);
int sbcz = selBlkPos.z & (RadixClient.getInstance().getWorld().getChunkSize() - 1);
Block selectedBlock = RadixClient.getInstance().getWorld().getChunk(selBlkPos.x, selBlkPos.z)
.getBlock(sbcx, selBlkPos.y, sbcz);
if (Gdx.input.isButtonPressed(Input.Buttons.LEFT)) { // left mouse button down
if (selectedBlock != null && selectedBlock.isSelectable()) {
if (breakPercent <= 0) {
RadixClient.getInstance().beginBreak();
}
Item curItem = RadixAPI.instance.getItem(itemInHand);
if (selectedBlock.getHardness() <= 0 || gameMode.equals(GameMode.CREATIVE)) {
breakPercent = 1;
} else {
float incr;
if (curItem instanceof Tool) {
incr = 50f / selectedBlock.getBreakTimeMS((Tool) curItem);
} else {
incr = 50f / selectedBlock.getBreakTimeMS(null);
}
breakPercent = MathUtils.clamp(breakPercent + incr, 0, 1);
wasBreaking = true;
}
if (breakPercent >= 1) {
RadixClient.getInstance().breakBlock();
resetBlockBreak();
wasBreaking = false;
}
}
} else {
if(wasBreaking) {
wasBreaking = false;
RadixClient.getInstance().cancelBreak();
}
}
}
} catch (BlockStorage.CoordinatesOutOfBoundsException e) {
e.printStackTrace();
}
}