本文整理汇总了Java中net.minecraft.network.play.client.CPacketEntityAction.getAction方法的典型用法代码示例。如果您正苦于以下问题:Java CPacketEntityAction.getAction方法的具体用法?Java CPacketEntityAction.getAction怎么用?Java CPacketEntityAction.getAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.network.play.client.CPacketEntityAction
的用法示例。
在下文中一共展示了CPacketEntityAction.getAction方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processEntityAction
import net.minecraft.network.play.client.CPacketEntityAction; //导入方法依赖的package包/类
@Hook("net.minecraft.network.NetHandlerPlayServer#func_147357_a")
public static Hook.Result processEntityAction(NetHandlerPlayServer handler, CPacketEntityAction action) {
if (action.getAction() == Action.START_FALL_FLYING) {
PacketThreadUtil.checkThreadAndEnqueue(action, handler, handler.player.getServerWorld());
handler.player.markPlayerActive();
if (!handler.player.onGround && handler.player.motionY < 0.0D &&
!handler.player.isElytraFlying() && !handler.player.isInWater()) {
ItemStack item = getFormLiving0(handler.player);
if (item.getItem() == Items.ELYTRA && ItemElytra.isUsable(item))
handler.player.setElytraFlying();
} else
handler.player.clearElytraFlying();
return Hook.Result.NULL;
}
return Hook.Result.VOID;
}
示例2: processEntityAction
import net.minecraft.network.play.client.CPacketEntityAction; //导入方法依赖的package包/类
/**
* Processes a range of action-types: sneaking, sprinting, waking from sleep, opening the inventory or setting jump
* height of the horse the player is riding
*/
public void processEntityAction(CPacketEntityAction packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());
this.playerEntity.markPlayerActive();
switch (packetIn.getAction())
{
case START_SNEAKING:
this.playerEntity.setSneaking(true);
break;
case STOP_SNEAKING:
this.playerEntity.setSneaking(false);
break;
case START_SPRINTING:
this.playerEntity.setSprinting(true);
break;
case STOP_SPRINTING:
this.playerEntity.setSprinting(false);
break;
case STOP_SLEEPING:
this.playerEntity.wakeUpPlayer(false, true, true);
this.targetPos = new Vec3d(this.playerEntity.posX, this.playerEntity.posY, this.playerEntity.posZ);
break;
case START_RIDING_JUMP:
if (this.playerEntity.getRidingEntity() instanceof IJumpingMount)
{
IJumpingMount ijumpingmount1 = (IJumpingMount)this.playerEntity.getRidingEntity();
int i = packetIn.getAuxData();
if (ijumpingmount1.canJump() && i > 0)
{
ijumpingmount1.handleStartJump(i);
}
}
break;
case STOP_RIDING_JUMP:
if (this.playerEntity.getRidingEntity() instanceof IJumpingMount)
{
IJumpingMount ijumpingmount = (IJumpingMount)this.playerEntity.getRidingEntity();
ijumpingmount.handleStopJump();
}
break;
case OPEN_INVENTORY:
if (this.playerEntity.getRidingEntity() instanceof EntityHorse)
{
((EntityHorse)this.playerEntity.getRidingEntity()).openGUI(this.playerEntity);
}
break;
case START_FALL_FLYING:
if (!this.playerEntity.onGround && this.playerEntity.motionY < 0.0D && !this.playerEntity.isElytraFlying() && !this.playerEntity.isInWater())
{
ItemStack itemstack = this.playerEntity.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
if (itemstack != null && itemstack.getItem() == Items.ELYTRA && ItemElytra.isBroken(itemstack))
{
this.playerEntity.setElytraFlying();
}
}
else
{
this.playerEntity.clearElytraFlying();
}
break;
default:
throw new IllegalArgumentException("Invalid client command!");
}
}