值之间 EntityPlayer.posX "flickering" 的问题
Issue with EntityPlayer.posX "flickering" between values
所以基本上我正在尝试创建一个坐标显示 mod。当使用 posX/Y/Z(本例使用 X)访问玩家的位置时,显示的坐标会出现奇怪的“闪烁”。您可以在 this 视频中看到它。
@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
EntityPlayer player = event.player;
posX = player.posX;
System.out.println(posX); // Used to debug, also had the issue, meaning it isn't an issue with round()
}
@SubscribeEvent
public void renderOverlay(RenderGameOverlayEvent event) {
if (event.type == RenderGameOverlayEvent.ElementType.TEXT) {
drawString(renderer, String.valueOf(round(posX, 8)), 0, 0, -1);
}
}
我认为这可能与我使用 playerTick 或其他东西有关,但我是锻造新手并且 Java 并且不知道我可能会使用什么(假设这是问题所在) .
我使用 PlayerTickEvent 而不是 ClientTickEvent 时遇到问题。
public void clientTick(ClientTickEvent event) {
EntityPlayerSP player = mc.thePlayer;
if (player == null) return;
posX = player.posX
}
if (player == null) return;
是必需的,因为当不在游戏中时,mc.thePlayer
returns null
所以 .posX
会导致崩溃。
所以基本上我正在尝试创建一个坐标显示 mod。当使用 posX/Y/Z(本例使用 X)访问玩家的位置时,显示的坐标会出现奇怪的“闪烁”。您可以在 this 视频中看到它。
@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
EntityPlayer player = event.player;
posX = player.posX;
System.out.println(posX); // Used to debug, also had the issue, meaning it isn't an issue with round()
}
@SubscribeEvent
public void renderOverlay(RenderGameOverlayEvent event) {
if (event.type == RenderGameOverlayEvent.ElementType.TEXT) {
drawString(renderer, String.valueOf(round(posX, 8)), 0, 0, -1);
}
}
我认为这可能与我使用 playerTick 或其他东西有关,但我是锻造新手并且 Java 并且不知道我可能会使用什么(假设这是问题所在) .
我使用 PlayerTickEvent 而不是 ClientTickEvent 时遇到问题。
public void clientTick(ClientTickEvent event) {
EntityPlayerSP player = mc.thePlayer;
if (player == null) return;
posX = player.posX
}
if (player == null) return;
是必需的,因为当不在游戏中时,mc.thePlayer
returns null
所以 .posX
会导致崩溃。