Nukkit Player 实例中的所有方法介绍中文最全

Author
玄易同志
作者
2026-03-17
发布时间
MC杂谈
分类
有点长哈~
方法名 (Method Name)中文解释 (Chinese Explanation)
`getStartActionTick()`获取玩家开始执行动作(如使用物品)的游戏刻(tick)。
`startAction()`【已废弃】 标记玩家开始使用物品。请使用 `setUsingItem(true)`。
`stopAction()`【已废弃】 标记玩家停止使用物品。请使用 `setUsingItem(false)`。
`getLastEnderPearlThrowingTick()`获取玩家最后一次投掷末影珍珠的游戏刻。
`onThrowEnderPearl()`当玩家投掷末影珍珠时调用,记录当前游戏刻。
`getLastChorusFruitTeleport()`获取玩家最后一次食用紫颂果传送的游戏刻。
`onChorusFruitTeleport()`当玩家食用紫颂果传送时调用,记录当前游戏刻。
`getLastInAirTick()`获取玩家最后一次处于非地面状态的游戏刻。
`onSpinAttack(int riptideLevel)`当玩家使用激流附魔的三叉戟进行旋转攻击时调用。
`getViewingEnderChest()`获取玩家当前正在查看的末影箱方块。
`setViewingEnderChest(BlockEnderChest chest)`设置或清除玩家正在查看的末影箱。
`getLeaveMessage()`获取玩家离开服务器时默认的广播消息。
`getClientId()`获取玩家客户端的唯一ID(一个长整型数字)。
`isBanned()`检查此玩家的用户名是否在封禁名单中。
`setBanned(boolean value)`添加或移除对该玩家的封禁。
`isWhitelisted()`检查此玩家的用户名是否在白名单中。
`setWhitelisted(boolean value)`添加或移除此玩家到白名单。
`getPlayer()`获取玩家自身的实例对象。
`getFirstPlayed()`获取玩家首次登录该服务器的Unix时间戳(秒)。
`getLastPlayed()`获取玩家最近一次登录该服务器的Unix时间戳(秒)。
`hasPlayedBefore()`检查这个玩家以前是否玩过这个服务器。
`getAdventureSettings()`获取玩家的冒险设置对象(如飞行、建造权限等)。
`setAdventureSettings(AdventureSettings adventureSettings)`设置玩家的冒险设置。
`resetInAirTicks()`重置玩家在空中的持续时间计数器。
`setAllowFlight(boolean value)`设置是否允许玩家飞行。
`getAllowFlight()`检查玩家是否被允许飞行。
`setAllowModifyWorld(boolean value)`设置是否允许玩家修改世界(放置和破坏方块)。
`setAllowInteract(boolean value, boolean containers)`分别设置玩家是否允许与世界(门、开关等)和容器(箱子等)交互。
`setAutoJump(boolean value)`为玩家启用或禁用自动跳跃。
`hasAutoJump()`检查玩家是否启用了自动跳跃。
`spawnTo(Player player)`将当前玩家实体生成在目标玩家的客户端中,使其可见。
`getRemoveFormat()`检查是否会自动移除发送给该玩家消息中的颜色/格式代码。
`setRemoveFormat(boolean remove)`设置是否自动移除发送给该玩家消息中的颜色/格式代码。
`canSee(Player player)`检查当前玩家能否看到目标玩家。
`hidePlayer(Player player)`向当前玩家隐藏目标玩家。
`showPlayer(Player player)`向当前玩家显示一个之前被隐藏的玩家。
`canCollideWith(Entity entity)`判断玩家是否能与指定实体发生碰撞。
`canPickupXP()`检查玩家是否可以拾取经验球。
`setCanPickupXP(boolean canPickupXP)`设置玩家是否可以拾取经验球。
`resetFallDistance()`重置玩家的摔落距离,防止受到摔落伤害。
`isOnline()`检查玩家当前是否已成功登录并且在线。
`isOp()`检查玩家是否是服务器操作员(OP)。
`setOp(boolean value)`授予或撤销玩家的服务器操作员(OP)身份。
`setShowAdmin(boolean showAdmin)`设置在Tab玩家列表中是否将该玩家显示为管理员。
`showAdmin()`检查在Tab玩家列表中该玩家是否被显示为管理员。
`isPermissionSet(String name)`检查指定的权限(字符串)是否被显式地设置过(允许或拒绝)。
`isPermissionSet(Permission permission)`检查指定的权限(对象)是否被显式地设置过。
`hasPermission(String name)`检查玩家是否拥有指定的权限(字符串)。
`hasPermission(Permission permission)`检查玩家是否拥有指定的权限(对象)。
`addAttachment(Plugin plugin, String name, Boolean value)`为玩家临时添加一个权限。
`removeAttachment(PermissionAttachment attachment)`移除一个之前添加的临时权限。
`recalculatePermissions()`重新计算玩家的所有有效权限。
`isEnableClientCommand()`检查是否为该玩家启用了客户端命令。
`setEnableClientCommand(boolean enable)`为该玩家启用或禁用客户端命令。
`sendCommandData()`向玩家客户端发送可用命令列表。
`getEffectivePermissions()`获取该玩家当前所有生效的权限。
`Player(SourceInterface interfaz, Long clientID, ...)`【构造函数】 创建一个新的Player对象。
`removeAchievement(String achievementId)`移除玩家的一个成就。
`hasAchievement(String achievementId)`检查玩家是否获得了某个成就。
`isConnected()`检查玩家是否仍然保持网络连接。
`getDisplayName()`获取玩家的显示名称(可被插件修改)。
`setDisplayName(String displayName)`设置玩家的显示名称。
`setSkin(Skin skin)`设置玩家的皮肤。
`getLocatorBarColor()`获取该玩家在地图上定位标记的颜色。
`setLocatorBarColor(Color locatorBarColor)`设置该玩家在地图上定位标记的颜色。
`getRawAddress()`获取玩家连接的原始IP地址(未经过代理)。
`getRawPort()`获取玩家连接的原始端口。
`getRawSocketAddress()`获取玩家连接的原始Socket地址。
`getAddress()`获取玩家的IP地址(可能为代理地址)。
`getPort()`获取玩家的端口。
`getSocketAddress()`获取玩家的Socket地址。
`getNextPosition()`获取客户端报告的下一个移动位置。
`isSleeping()`检查玩家当前是否正在床上睡觉。
`getInAirTicks()`获取玩家处于空中的游戏刻数。
`isUsingItem()`检查玩家当前是否正在使用物品(如吃食物、拉弓)。
`setUsingItem(boolean value)`设置玩家是否正在使用物品。
`getButtonText()`获取交互按钮上显示的文本(当准星指向某些实体时)。
`setButtonText(String text)`设置交互按钮上显示的文本。
`unloadChunk(int x, int z, Level level)`为玩家卸载指定坐标的区块。
`getSpawn()`获取玩家的重生点位置。
`checkSpawnBlockPosition()`检查玩家设置的重生方块(床、重生锚)是否仍然有效。
`sendChunk(int x, int z, DataPacket packet)`向玩家发送一个预封装好的区块数据包。
`sendChunk(int x, int z, int subChunkCount, ...)`【已废弃】 向玩家发送区块数据。
`orderChunks()`根据玩家当前位置排序要加载和卸载的区块。
`dataPacket(DataPacket packet)`向玩家发送一个数据包。
`forceDataPacket(DataPacket packet, Runnable callback)`强制立即发送一个数据包,并在完成后执行回调。
`getPing()`获取玩家的网络延迟(ping值),单位为毫秒。
`sleepOn(Vector3 pos)`尝试让玩家在指定位置的床上睡觉。
`setSpawn(Vector3 pos)`设置玩家的重生点(不受方块限制)。
`setSpawnBlock(Vector3 spawnBlock)`设置玩家的重生方块(床或重生锚)。
`stopSleep()`将玩家从睡眠状态中唤醒。
`getSleepingPos()`获取玩家睡觉的床的位置。
`awardAchievement(String achievementId)`给予玩家一个成就。
`getGamemode()`获取玩家的游戏模式(以整数形式返回)。
`setGamemode(int gamemode, boolean clientSide, ...)`设置玩家的游戏模式。
`sendSettings()`向客户端同步玩家的冒险设置。
`isSurvival()`检查玩家是否为生存模式。
`isCreative()`检查玩家是否为创造模式。
`isSpectator()`检查玩家是否为观察者模式。
`isAdventure()`检查玩家是否为冒险模式。
`getDrops()`获取玩家死亡时应掉落的所有物品。
`onUpdate(int currentTick)`实体更新函数,每tick调用一次以处理玩家逻辑。
`processAutoCompletion()`处理需要持续使用的物品(如食物)在服务端的自动完成逻辑。
`checkInteractNearby()`检查附近是否有可交互的实体,并更新交互按钮文本。
`getEntityPlayerLookingAt(int maxDistance)`获取玩家在指定距离内正在注视的可交互实体。
`checkNetwork()`检查网络状态,处理区块发送和排序。
`canInteract(Vector3 pos, double maxDistance, ...)`检查玩家是否能够与给定位置进行交互。
`handleDataPacket(DataPacket packet)`处理从该玩家接收到的数据包。
`chat(String message)`以该玩家的身份发送一条聊天消息。
`emote(EmotePacket emote)`向其他玩家广播一个玩家表情。
`kick(PlayerKickEvent.Reason reason, ...)`以指定理由将玩家踢出服务器。
`setViewDistance(int distance)`设置玩家的区块加载/视野距离。
`getViewDistance()`获取玩家的区块加载/视野距离。
`sendMessage(String message)`向玩家发送一条原始文本消息。
`sendMessage(TextContainer message)`向玩家发送一条可被翻译的文本消息。
`sendCommandOutput(CommandOutputContainer container)`向玩家发送命令执行结果。
`sendRawTextMessage(RawText text)`向玩家发送一条JSON格式的文本消息。
`sendTranslation(String message, String[] parameters)`向玩家发送一条可被翻译且带参数的文本消息。
`sendChat(String source, String message)`向玩家发送一条带有发送者名称的聊天消息。
`sendPopup(String message)`在玩家物品栏上方显示一条弹出消息。
`sendPopupJukebox(String message, ...)`显示一条唱片机正在播放的弹出消息。
`sendTip(String message)`在玩家屏幕中央(行动栏位置)显示一条提示消息。
`clearTitle()`清除玩家屏幕上显示的标题。
`resetTitleSettings()`重置玩家屏幕标题的动画时间(淡入、停留、淡出)。
`setSubtitle(String subtitle)`设置玩家屏幕上显示的副标题。
`setRawTextSubTitle(RawText text)`使用JSON格式设置副标题。
`setTitleAnimationTimes(int fadein, ...)`设置标题的动画时间。
`sendTitle(String title, String subtitle, ...)`向玩家发送标题和副标题。
`setRawTextTitle(RawText text)`使用JSON格式设置主标题。
`sendActionBar(String title, ...)`向玩家发送行动栏消息(同sendTip)。
`setRawTextActionBar(RawText text, ...)`使用JSON格式发送行动栏消息。
`setItemCoolDown(int coolDown, String itemCategory)`设置客户端上某一类物品的冷却动画。
`sendToast(String title, String content)`向玩家发送一个类似成就解锁的弹窗通知。
`spawnToAll()`将此玩家实体在所有在线玩家的客户端中生成。
`despawnFromAll()`从所有在线玩家的客户端中移除此玩家实体。
`close(TextContainer message, String reason, ...)`以指定原因关闭与玩家的连接。
`save(boolean async)`保存玩家数据到文件,可选择是否异步执行。
`getName()`获取玩家的准确名称。
`getLanguageCode()`获取玩家客户端设置的语言代码。
`kill()`杀死该玩家并触发死亡事件和逻辑。
`setHealth(float newHealth)`设置玩家的生命值。
`setMaxHealth(int newMaxHealth)`设置玩家的最大生命值。
`getExperience()`获取玩家当前的经验值(非等级)。
`getExperienceLevel()`获取玩家当前的等级。
`addExperience(int add)`为玩家增加指定数量的经验值,并自动处理升级。
`calculateRequireExperience(int level)`【静态】 计算从指定等级升到下一级所需的总经验。
`setExperience(int exp, int level)`设置玩家的经验和等级。
`sendExperience(int exp)`向客户端同步玩家的经验值。
`sendExperienceLevel(int level)`向客户端同步玩家的等级。
`setAttribute(Attribute attribute)`设置一个实体属性并同步到客户端。
`sendMovementSpeed()`向客户端同步玩家的移动速度属性。
`getKiller()`获取最后杀死此玩家的实体。
`attack(EntityDamageEvent source)`对该玩家应用一次伤害事件。
`dropItem(Item item)`让玩家丢下一个物品。
`dropAndGetItem(Item item)`丢下一个物品并返回代表该物品的实体对象。
`sendPosition(Vector3 pos, double yaw, ...)`向该玩家或指定玩家们发送此玩家的位置更新包。
`teleport(Location location, TeleportCause cause)`将玩家传送至指定位置。
`teleportImmediate(Location location, TeleportCause cause)`立即将玩家传送至指定位置,通常用于跨世界传送。
`showFormWindow(FormWindow window, int id)`向玩家显示一个UI表单窗口。
`closeFormWindows()`关闭当前为玩家打开的UI表单窗口。
`showDialogWindow(FormWindowDialog dialog, ...)`向玩家显示一个NPC对话框窗口。
`addServerSettings(FormWindow window)`在玩家的游戏设置界面中添加一个由服务器定义的设置页面。
`createBossBar(DummyBossBar dummyBossBar)`为玩家创建一个Boss血条。
`getDummyBossBar(long bossBarId)`通过ID获取一个已创建的Boss血条对象。
`getDummyBossBars()`获取该玩家当前显示的所有Boss血条。
`updateBossBar(String text, int length, long bossBarId)`更新一个已存在的Boss血条的文本和长度。
`removeBossBar(long bossBarId)`移除一个Boss血条。
`getWindowId(Inventory inventory)`获取指定背包在玩家窗口系统中的ID。
`getWindowById(int id)`通过ID获取对应的背包对象。
`addWindow(Inventory inventory, Integer forceId, ...)`为玩家打开一个新的背包窗口(如箱子、工作台)。
`getTopWindow()`获取当前玩家打开的最上层的非永久性背包窗口。
`removeWindow(Inventory inventory)`移除(关闭)一个背包窗口。
`sendAllInventories()`向客户端发送玩家所有已打开窗口的背包内容。
`getUIInventory()`获取玩家的UI背包(用于工作台、铁砧等)。
`getCursorInventory()`获取玩家的鼠标指针背包(即抓在鼠标上的物品)。
`getCraftingGrid()`获取玩家的合成格。
`getTradeInventory()`获取玩家正在查看的交易背包。
`setCraftingGrid(CraftingGrid grid)`设置玩家的合成格(可以是大或小合成格)。
`resetCraftingGridType()`重置玩家的合成交互状态,并清空相关背包中的物品。
`removeAllWindows(boolean permanent)`移除玩家所有已打开的背包窗口。
`getClosingWindowId()`获取当前正在被关闭的窗口ID。
`setMetadata(String metadataKey, MetadataValue newMetadataValue)`为玩家设置一个元数据。
`getMetadata(String metadataKey)`获取玩家的一个元数据。
`hasMetadata(String metadataKey)`检查玩家是否拥有某个元数据。
`removeMetadata(String metadataKey, Plugin owningPlugin)`移除玩家的一个元数据。
`onChunkChanged(FullChunk chunk)`(内部方法) 当玩家所在的区块数据发生改变时调用。
`onChunkLoaded(FullChunk chunk)`(内部方法) 当玩家视野内的一个区块加载完成时调用。
`onChunkPopulated(FullChunk chunk)`(内部方法) 当玩家视野内的一个区块填充完成时调用。
`onChunkUnloaded(FullChunk chunk)`(内部方法) 当玩家视野内的一个区块被卸载时调用。
`onBlockChanged(Vector3 block)`(内部方法) 当玩家视野内的一个方块发生改变时调用。
`getLoaderId()`获取该玩家作为区块加载器的唯一ID。
`isLoaderActive()`检查该玩家作为区块加载器是否仍处于活动状态。
`getChunkCacheFromData(GameVersion gameVersion, ...)`【静态】 将原始区块数据转换为可用于缓存的压缩数据包。
`isFoodEnabled()`检查是否为该玩家启用了饥饿度系统。
`setFoodEnabled(boolean foodEnabled)`为该玩家启用或禁用饥饿度系统。
`getFoodData()`获取该玩家的饥饿度数据对象。
`setDimension(int dimension)`改变玩家所在的维度(主世界、下界、末地)。
`setCheckMovement(boolean checkMovement)`设置服务器是否检查该玩家的移动合法性以防止作弊。
`isCheckingMovement()`检查服务器是否正在检查该玩家的移动合法性。
`setLocale(Locale locale)`设置玩家的语言环境。
`getLocale()`获取玩家的语言环境。
`setSprinting(boolean value, boolean send)`设置玩家的疾跑状态,并可选择是否立即同步速度属性。
`setSneaking(boolean value)`设置玩家的潜行状态。
`setCrawling(boolean value)`设置玩家的爬行状态。
`transfer(String hostName, int port)`将玩家传送到另一个服务器。
`getLoginChainData()`获取玩家登录时Mojang提供的认证数据链。
`isJavaClient()`检查玩家是否是通过代理连接的Java版客户端。
`pickupEntity(Entity entity, boolean near)`尝试拾取一个实体(如掉落物、经验球)。
`hashCode()`返回该玩家对象的哈希码。
`equals(Object obj)`比较两个玩家对象是否相等。
`isBreakingBlock()`检查玩家当前是否正在破坏一个方块。
`showXboxProfile(String xuid)`在游戏内打开指定XUID的Xbox个人资料页面。
`startFishing(Item fishingRod)`使用鱼竿开始钓鱼。
`stopFishing(boolean click)`停止钓鱼。
`doesTriggerPressurePlate()`判断玩家是否能触发压力板(观察者模式不能)。
`getNoShieldTicks()`获取玩家护盾被破后的冷却时间(ticks)。
`setNoShieldTicks(int noShieldTicks)`设置玩家护盾的冷却时间。
`getTimeSinceRest()`获取玩家自上次睡觉以来经过的游戏刻数。
`setTimeSinceRest(int ticks)`设置玩家自上次睡觉以来经过的游戏刻数。
`getNetworkSession()`获取该玩家的网络会话对象。
`shouldLogin()`判断玩家是否应该开始执行登录流程。
`toString()`返回代表该玩家对象的字符串信息(名称和位置)。
`setAirTicks(int ticks)`设置玩家的氧气值(以ticks为单位)。
`giveItem(Item... items)`给予玩家一个或多个物品,如果背包满了则丢弃在地上。
`isMovementServerAuthoritative()`检查当前服务器是否为权威性移动模式。
`getAuthoritativeMovementMode()`获取服务器设置的权威性移动模式。
`isServerAuthoritativeBlockBreaking()`检查当前服务器是否为权威性方块破坏模式。
`isEnableNetworkEncryption()`检查当前连接是否启用了网络加密。
`display(IScoreboard scoreboard, DisplaySlot slot)`在指定位置为玩家显示一个计分板。
`hide(DisplaySlot slot)`隐藏指定位置的计分板。
`removeScoreboard(IScoreboard scoreboard)`从玩家客户端移除一个计分板的定义。
`removeLine(IScoreboardLine line)`移除计分板中的某一行。
`updateScore(IScoreboardLine line)`更新计分板中的某一行分数。
`getServerSettings()`获取为玩家注册的服务器设置表单。
`getUsername()`获取玩家的用户名。
`getLastEmote()`获取玩家最后一次使用的表情ID。
`setLastEmote(int lastEmote)`设置玩家最后一次使用的表情ID。
`validateVehicleInput(float value)`【静态】 验证发送到载具的输入值是否在有效范围内。
`canEat(boolean update)`检查玩家当前是否能够进食。
`setLockCameraInput(boolean lockCameraInput)`锁定或解锁玩家的视角转动。
`setLockMovementInput(boolean lockMovementInput)`锁定或解锁玩家的移动。
`isLockCameraInput()`检查玩家的视角转动是否被锁定。
`isLockMovementInput()`检查玩家的移动是否被锁定。
`addMovementSpeedModifier(EntityMovementSpeedModifier modifier)`添加一个移动速度修改器。
`removeMovementSpeedModifier(String identifier)`移除一个移动速度修改器。
`recalculateMovementSpeedToSend()`重新计算需要发送给客户端的基础移动速度值。
`addShape(DebugShape shape)`为玩家添加一个用于调试的可视化形状(如一个立方体范围)。
`removeShape(DebugShape shape)`移除一个指定的调试形状。
`removeAllShapes()`移除所有调试形状。
`setGamemode(int gamemode)`设置玩家的游戏模式
`setGamemode(int gamemode, boolean clientSide)`设置玩家的游戏模式
`recalculateMovementSpeed()`重新计算移动速度
`recalculatePermissions()`重新计算权限
`setAllowInteract(boolean value)`设置允许交互
`setSprinting(boolean value)`设置冲刺
`getGameVersion()`获取游戏版本
`setWalkSpeed(float walkSpeed)`设置走路速度
`getWalkSpeed()`获取走路速度
`getFlySpeed()`获取飞行速度
`setFlySpeed(float flySpeed)`设置飞行速度
`getVerticalFlySpeed()`获取垂直飞行速度
`setVerticalFlySpeed(float verticalFlySpeed)`设置垂直飞行速度
`setNeedSendData(boolean needSendData)`设置需要发送的数据
`setNeedSendInventory(boolean needSendInventory)`设置需要发送的物品栏
`setWhitelisted(boolean value)`设置白名单
`addAttachment(Plugin plugin)`添加附件
`addAttachment(Plugin plugin, String name)`添加附件
`batchDataPacket(DataPacket packet)`批量数据包
`dataPacket(DataPacket packet, boolean needACK)`数据包
`directDataPacket(DataPacket packet)`直接数据包
`directDataPacket(DataPacket packet, boolean needACK)`直接数据包
`getGamemode()`获取游戏模式
`setRemoveFormat()`设置删除格式
`kick(String reason, boolean isAdmin)`踢出
`kick(String reason)`踢出
`kick(PlayerKickEvent.Reason reason)`踢出
`kick(PlayerKickEvent.Reason reason, String reasonString)`踢出
`kick(PlayerKickEvent.Reason reason, boolean isAdmin)`踢出
`sendPopup(String message, String subtitle)`发送弹窗
`setRawTextActionBar(RawText text)`设置原始文本动作条
`close()`关闭
`close(String message)`关闭
`close(String message, String reason)`关闭
`close(String message, String reason, boolean notify)`关闭
`close(TextContainer message)`关闭
`close(TextContainer message, String reason)`关闭
`close(TextContainer message, String reason, boolean notify)`关闭
`save()`保存
`sendPosition(Vector3 pos)`发送位置
`sendPosition(Vector3 pos, double yaw)`发送位置
`sendPosition(Vector3 pos, double yaw, double pitch)`发送位置
`sendPosition(Vector3 pos, double yaw, double pitch, int mode)`发送位置
`sendPosition(Vector3 pos, double yaw, double pitch, double headYaw)`发送位置
`sendPosition(Vector3 pos, double yaw, double pitch, double headYaw, int mode)`发送位置
`sendPosition(Vector3 pos, double yaw, double pitch, int mode, Player[] targets)`发送位置
`sendPosition(Location pos, int mode)`发送位置
`createBossBar(String text, int length)`创建血量条
`removeWindow(Inventory inventory)`移除窗口
`getFogStack()`获取雾效栈
setFogStack(List<PlayerFogPacket.Fog> fogStack)设置雾效栈
----------------------------------------