@Override public boolean getAllowFlight() { return theServer.isFlightAllowed(); }
private void getServerStats(ICommandSender sender) { MinecraftServer tmp = ServerUtil.getServerInstance(); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "=================================================="); ChatHelper.sendMessage(sender, TextFormatting.BLUE + " Server Status"); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "=================================================="); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server: " + TextFormatting.AQUA + tmp.getServerModName()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Version: " + TextFormatting.AQUA + tmp.getMinecraftVersion()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Online Mode: " + TextFormatting.AQUA + tmp.isServerInOnlineMode()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Owner: " + TextFormatting.AQUA + tmp.getServerOwner()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server MOTD: " + TextFormatting.AQUA + tmp.getMOTD()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server IP: " + TextFormatting.AQUA + tmp.getServerHostname() + ":" + tmp.getServerPort()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Max Allowed Players: " + TextFormatting.AQUA + tmp.getMaxPlayers()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Spawn Protection Size: " + TextFormatting.AQUA + tmp.getSpawnProtectionSize()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server View Distance: " + TextFormatting.AQUA + tmp.getPlayerList().getViewDistance()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server World: " + TextFormatting.AQUA + tmp.getEntityWorld().getWorldInfo().getWorldName()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Allow Nether: " + TextFormatting.AQUA + tmp.getAllowNether()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Allow Flight: " + TextFormatting.AQUA + tmp.isFlightAllowed()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Default Gamemode: " + TextFormatting.AQUA + tmp.getGameType().getName()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Generate Structure: " + TextFormatting.AQUA + tmp.canStructuresSpawn()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Server Whitelist: " + TextFormatting.AQUA + tmp.getPlayerList().isWhiteListEnabled()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "Hardcore Mode: " + TextFormatting.AQUA + tmp.isHardcore()); ChatHelper.sendMessage( sender, TextFormatting.GOLD + "=================================================="); }
public void handleFlying(Packet10Flying par1Packet10Flying) { WorldServer worldserver = mcServer.worldServerForDimension(playerEntity.dimension); field_72584_h = true; if (playerEntity.playerHasConqueredTheEnd) { return; } if (!field_72587_r) { double d = par1Packet10Flying.yPosition - lastPosY; if (par1Packet10Flying.xPosition == lastPosX && d * d < 0.01D && par1Packet10Flying.zPosition == lastPosZ) { field_72587_r = true; } } if (field_72587_r) { if (playerEntity.ridingEntity != null) { float f = playerEntity.rotationYaw; float f1 = playerEntity.rotationPitch; playerEntity.ridingEntity.updateRiderPosition(); double d2 = playerEntity.posX; double d4 = playerEntity.posY; double d6 = playerEntity.posZ; double d8 = 0.0D; double d9 = 0.0D; if (par1Packet10Flying.rotating) { f = par1Packet10Flying.yaw; f1 = par1Packet10Flying.pitch; } if (par1Packet10Flying.moving && par1Packet10Flying.yPosition == -999D && par1Packet10Flying.stance == -999D) { if (par1Packet10Flying.xPosition > 1.0D || par1Packet10Flying.zPosition > 1.0D) { System.err.println( (new StringBuilder()) .append(playerEntity.username) .append(" was caught trying to crash the server with an invalid position.") .toString()); kickPlayerFromServer("Nope!"); return; } d8 = par1Packet10Flying.xPosition; d9 = par1Packet10Flying.zPosition; } playerEntity.onGround = par1Packet10Flying.onGround; playerEntity.onUpdateEntity(); playerEntity.moveEntity(d8, 0.0D, d9); playerEntity.setPositionAndRotation(d2, d4, d6, f, f1); playerEntity.motionX = d8; playerEntity.motionZ = d9; if (playerEntity.ridingEntity != null) { worldserver.uncheckedUpdateEntity(playerEntity.ridingEntity, true); } if (playerEntity.ridingEntity != null) { playerEntity.ridingEntity.updateRiderPosition(); } mcServer.getConfigurationManager().func_72358_d(playerEntity); lastPosX = playerEntity.posX; lastPosY = playerEntity.posY; lastPosZ = playerEntity.posZ; worldserver.updateEntity(playerEntity); return; } if (playerEntity.isPlayerSleeping()) { playerEntity.onUpdateEntity(); playerEntity.setPositionAndRotation( lastPosX, lastPosY, lastPosZ, playerEntity.rotationYaw, playerEntity.rotationPitch); worldserver.updateEntity(playerEntity); return; } double d1 = playerEntity.posY; lastPosX = playerEntity.posX; lastPosY = playerEntity.posY; lastPosZ = playerEntity.posZ; double d3 = playerEntity.posX; double d5 = playerEntity.posY; double d7 = playerEntity.posZ; float f2 = playerEntity.rotationYaw; float f3 = playerEntity.rotationPitch; if (par1Packet10Flying.moving && par1Packet10Flying.yPosition == -999D && par1Packet10Flying.stance == -999D) { par1Packet10Flying.moving = false; } if (par1Packet10Flying.moving) { d3 = par1Packet10Flying.xPosition; d5 = par1Packet10Flying.yPosition; d7 = par1Packet10Flying.zPosition; double d10 = par1Packet10Flying.stance - par1Packet10Flying.yPosition; if (!playerEntity.isPlayerSleeping() && (d10 > 1.6499999999999999D || d10 < 0.10000000000000001D)) { kickPlayerFromServer("Illegal stance"); logger.warning( (new StringBuilder()) .append(playerEntity.username) .append(" had an illegal stance: ") .append(d10) .toString()); return; } if (Math.abs(par1Packet10Flying.xPosition) > 32000000D || Math.abs(par1Packet10Flying.zPosition) > 32000000D) { kickPlayerFromServer("Illegal position"); return; } } if (par1Packet10Flying.rotating) { f2 = par1Packet10Flying.yaw; f3 = par1Packet10Flying.pitch; } playerEntity.onUpdateEntity(); playerEntity.ySize = 0.0F; playerEntity.setPositionAndRotation(lastPosX, lastPosY, lastPosZ, f2, f3); if (!field_72587_r) { return; } double d11 = d3 - playerEntity.posX; double d12 = d5 - playerEntity.posY; double d13 = d7 - playerEntity.posZ; double d14 = Math.min(Math.abs(d11), Math.abs(playerEntity.motionX)); double d15 = Math.min(Math.abs(d12), Math.abs(playerEntity.motionY)); double d16 = Math.min(Math.abs(d13), Math.abs(playerEntity.motionZ)); double d17 = d14 * d14 + d15 * d15 + d16 * d16; if (d17 > 100D && (!mcServer.isSinglePlayer() || !mcServer.getServerOwner().equals(playerEntity.username))) { logger.warning( (new StringBuilder()) .append(playerEntity.username) .append(" moved too quickly! ") .append(d11) .append(",") .append(d12) .append(",") .append(d13) .append(" (") .append(d14) .append(", ") .append(d15) .append(", ") .append(d16) .append(")") .toString()); setPlayerLocation( lastPosX, lastPosY, lastPosZ, playerEntity.rotationYaw, playerEntity.rotationPitch); return; } float f4 = 0.0625F; boolean flag = worldserver .getCollidingBoundingBoxes( playerEntity, playerEntity.boundingBox.copy().contract(f4, f4, f4)) .isEmpty(); if (playerEntity.onGround && !par1Packet10Flying.onGround && d12 > 0.0D) { playerEntity.addExhaustion(0.2F); } playerEntity.moveEntity(d11, d12, d13); playerEntity.onGround = par1Packet10Flying.onGround; playerEntity.addMovementStat(d11, d12, d13); double d18 = d12; d11 = d3 - playerEntity.posX; d12 = d5 - playerEntity.posY; if (d12 > -0.5D || d12 < 0.5D) { d12 = 0.0D; } d13 = d7 - playerEntity.posZ; d17 = d11 * d11 + d12 * d12 + d13 * d13; boolean flag1 = false; if (d17 > 0.0625D && !playerEntity.isPlayerSleeping() && !playerEntity.theItemInWorldManager.isCreative()) { flag1 = true; logger.warning( (new StringBuilder()) .append(playerEntity.username) .append(" moved wrongly!") .toString()); } playerEntity.setPositionAndRotation(d3, d5, d7, f2, f3); boolean flag2 = worldserver .getCollidingBoundingBoxes( playerEntity, playerEntity.boundingBox.copy().contract(f4, f4, f4)) .isEmpty(); if (flag && (flag1 || !flag2) && !playerEntity.isPlayerSleeping()) { setPlayerLocation(lastPosX, lastPosY, lastPosZ, f2, f3); return; } AxisAlignedBB axisalignedbb = playerEntity .boundingBox .copy() .expand(f4, f4, f4) .addCoord(0.0D, -0.55000000000000004D, 0.0D); if (!mcServer.isFlightAllowed() && !playerEntity.theItemInWorldManager.isCreative() && !worldserver.isAABBNonEmpty(axisalignedbb)) { if (d18 >= -0.03125D) { ticksForFloatKick++; if (ticksForFloatKick > 80) { logger.warning( (new StringBuilder()) .append(playerEntity.username) .append(" was kicked for floating too long!") .toString()); kickPlayerFromServer("Flying is not enabled on this server"); return; } } } else { ticksForFloatKick = 0; } playerEntity.onGround = par1Packet10Flying.onGround; mcServer.getConfigurationManager().func_72358_d(playerEntity); playerEntity.updateFlyingState(playerEntity.posY - d1, par1Packet10Flying.onGround); } }