private static void doPlayer(EntityPlayerMP player, VoteEvent vote) { if (!ConfigServerVote.msgAll.equals("")) { player.playerNetServerHandler.sendPacket( new S02PacketChat( new ChatComponentText( ChatOutputHandler.formatColors( ConfigServerVote.msgAll .replaceAll("%service", vote.serviceName) .replaceAll("%player", vote.player))))); } if (!ConfigServerVote.msgVoter.equals("")) { ChatOutputHandler.sendMessage( player, ChatOutputHandler.formatColors( ConfigServerVote.msgAll .replaceAll("%service", vote.serviceName) .replaceAll("%player", vote.player))); } if (!ConfigServerVote.freeStuff.isEmpty()) { for (ItemStack stack : ConfigServerVote.freeStuff) { LoggingHandler.felog.debug(stack.toString()); player.inventory.addItemStackToInventory(stack.copy()); } } }
public static void teleport(EntityPlayerMP player, WarpPoint point) { if (point.getWorld() == null) { DimensionManager.initDimension(point.getDimension()); if (point.getWorld() == null) { ChatOutputHandler.chatError( player, Translator.translate("Unable to teleport! Target dimension does not exist")); return; } } // Check permissions UserIdent ident = UserIdent.get(player); if (!APIRegistry.perms.checkPermission(player, TELEPORT_FROM)) throw new TranslatedCommandException("You are not allowed to teleport from here."); if (!APIRegistry.perms.checkUserPermission(ident, point.toWorldPoint(), TELEPORT_TO)) throw new TranslatedCommandException("You are not allowed to teleport to that location."); if (player.dimension != point.getDimension() && !APIRegistry.perms.checkUserPermission(ident, point.toWorldPoint(), TELEPORT_CROSSDIM)) throw new TranslatedCommandException("You are not allowed to teleport across dimensions."); // Get and check teleport cooldown int teleportCooldown = ServerUtil.parseIntDefault( APIRegistry.perms.getUserPermissionProperty(ident, TELEPORT_COOLDOWN), 0) * 1000; if (teleportCooldown > 0) { PlayerInfo pi = PlayerInfo.get(player); long cooldownDuration = (pi.getLastTeleportTime() + teleportCooldown) - System.currentTimeMillis(); if (cooldownDuration >= 0) { ChatOutputHandler.chatNotification( player, Translator.format("Cooldown still active. %d seconds to go.", cooldownDuration / 1000)); return; } } // Get and check teleport warmup int teleportWarmup = ServerUtil.parseIntDefault( APIRegistry.perms.getUserPermissionProperty(ident, TELEPORT_WARMUP), 0); if (teleportWarmup <= 0) { checkedTeleport(player, point); return; } if (!canTeleportTo(point)) { ChatOutputHandler.chatError( player, Translator.translate("Unable to teleport! Target location obstructed.")); return; } // Setup timed teleport tpInfos.put(player.getPersistentID(), new TeleportInfo(player, point, teleportWarmup * 1000)); ChatOutputHandler.chatNotification( player, Translator.format( "Teleporting. Please stand still for %s.", ChatOutputHandler.formatTimeDurationReadable(teleportWarmup, true))); }
public boolean check() { if (playerPos.distance(new WarpPoint(player)) > 0.2) { ChatOutputHandler.chatWarning(player, "Teleport cancelled."); return true; } if (System.currentTimeMillis() - start < timeout) { return false; } checkedTeleport(player, point); ChatOutputHandler.chatConfirmation(player, "Teleported."); return true; }
@Override public void processCommandPlayer(EntityPlayerMP player, String[] args) { /*if (!PlayerInfo.get(player).getHasFEClient()) { ChatOutputHandler.chatError(player, "You need the FE client addon to use this command."); ChatOutputHandler.chatError(player, "Please visit https://github.com/ForgeEssentials/ForgeEssentialsMain/wiki/FE-Client-mod for more information."); return; }*/ ChatOutputHandler.chatWarning( player, "Here be dragons. Proceed at own risk. Use /speed reset to reset your speed.."); if (args.length >= 1) { // float speed = Float.parseFloat(args[0]); if (args[0].equals("reset")) { ChatOutputHandler.chatNotification(player, "Resetting speed to regular walking speed."); // NetworkUtils.netHandler.sendTo(new Packet6Speed(0.0F), player); NBTTagCompound tagCompound = new NBTTagCompound(); player.capabilities.writeCapabilitiesToNBT(tagCompound); tagCompound.getCompoundTag("abilities").setTag("flySpeed", new NBTTagFloat(0.05F)); tagCompound.getCompoundTag("abilities").setTag("walkSpeed", new NBTTagFloat(0.1F)); player.capabilities.readCapabilitiesFromNBT(tagCompound); player.sendPlayerAbilities(); return; } float speed = 0.05F; int multiplier = parseInt(player, args[0]); if (multiplier >= 10) { ChatOutputHandler.chatWarning( player, "Multiplier set too high. Bad things may happen, so we're throttling your speed to 10x walking speed."); multiplier = 10; } speed = speed * multiplier; NBTTagCompound tagCompound = new NBTTagCompound(); player.capabilities.writeCapabilitiesToNBT(tagCompound); tagCompound.getCompoundTag("abilities").setTag("flySpeed", new NBTTagFloat(speed)); tagCompound.getCompoundTag("abilities").setTag("walkSpeed", new NBTTagFloat(speed)); player.capabilities.readCapabilitiesFromNBT(tagCompound); player.sendPlayerAbilities(); ChatOutputHandler.chatNotification(player, "Walk/fly speed set to " + speed); // NetworkUtils.netHandler.sendTo(new Packet6Speed(speed), player); } }
public static void checkedTeleport(EntityPlayerMP player, WarpPoint point) { if (!canTeleportTo(point)) { ChatOutputHandler.chatError( player, Translator.translate("Unable to teleport! Target location obstructed.")); return; } PlayerInfo pi = PlayerInfo.get(player); pi.setLastTeleportOrigin(new WarpPoint(player)); pi.setLastTeleportTime(System.currentTimeMillis()); pi.setLastDeathLocation(null); doTeleport(player, point); }
@Override public void error(String message) { if (!isTabCompletion) ChatOutputHandler.chatError(sender, "Error: " + message); }