@Override public void tick() { ticks++; if (ticks % (20 * 10) == 0) { warnEveryone(Localization.get(Localization.WB_FILL_STILLGOING).replaceAll("%eta", getETA())); } int i = 0; while (i < chunksAtick) { if ((rad + ModuleWorldBorder.overGenerate) > ModuleWorldBorder.getDistanceRound(centerX, centerZ, X, Z)) { i++; world.theChunkProviderServer.provideChunk((X >> 4), (Z >> 4)); if (X <= maxX) { X += 16; } else { // New row! if (Z <= maxZ) { Z += 16; X = minX; } else { // Done! isComplete = true; } } } } }
@Override public void processCommandPlayer(EntityPlayer sender, String[] args) { if (FMLCommonHandler.instance().getEffectiveSide().isClient()) return; boolean set = ModuleWorldBorder.set; // Info if (args.length == 0) { sender.sendChatToPlayer(Localization.get(Localization.WB_STATUS_HEADER)); if (set) { sender.sendChatToPlayer( FEChatFormatCodes.GREEN + Localization.get(Localization.WB_STATUS_BORDERSET)); sender.sendChatToPlayer("Coordinates :"); if (ModuleWorldBorder.shape.equals(BorderShape.square)) { sender.sendChatToPlayer( "centerX:" + ModuleWorldBorder.X + " centerZ:" + ModuleWorldBorder.Z); sender.sendChatToPlayer("rad:" + ModuleWorldBorder.rad + " Shape: Square"); sender.sendChatToPlayer( "minX:" + ModuleWorldBorder.minX + " maxX:" + ModuleWorldBorder.maxX); sender.sendChatToPlayer( "minZ:" + ModuleWorldBorder.minZ + " maxZ:" + ModuleWorldBorder.maxZ); } if (ModuleWorldBorder.shape.equals(BorderShape.round)) { sender.sendChatToPlayer( "centerX:" + ModuleWorldBorder.X + " centerZ:" + ModuleWorldBorder.Z); sender.sendChatToPlayer("rad:" + ModuleWorldBorder.rad + " Shape: Round"); } } else { sender.sendChatToPlayer( FEChatFormatCodes.RED + Localization.get(Localization.WB_STATUS_BORDERNOTSET)); } return; } // Fill if (args[0].equalsIgnoreCase("fill")) { if (args.length == 1) { sender.sendChatToPlayer( FEChatFormatCodes.RED + Localization.get(Localization.WB_LAGWARING)); sender.sendChatToPlayer( FEChatFormatCodes.RED + Localization.get(Localization.WB_FILL_INFO)); sender.sendChatToPlayer(Localization.get(Localization.WB_FILL_CONFIRM)); return; } if (args[1].equalsIgnoreCase("start")) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); WorldServer world = server.worldServers[sender.dimension]; if (taskGooing != null) { sender.sendChatToPlayer(Localization.get(Localization.WB_FILL_ONLYONCE)); } else { taskGooing = new TickTaskFill(world); } return; } if (args[1].equalsIgnoreCase("continue")) { MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); WorldServer world = server.worldServerForDimension(sender.dimension); if (taskGooing != null) { sender.sendChatToPlayer(Localization.get(Localization.WB_FILL_ONLYONCE)); } else { taskGooing = new TickTaskFill(world); } return; } if (args[1].equalsIgnoreCase("cancel")) { taskGooing.stop(); return; } if (args[1].equalsIgnoreCase("message")) { if (args[2].equalsIgnoreCase("off") || args[2].equalsIgnoreCase("false")) { TickTaskFill.enablemsg = false; } else { TickTaskFill.enablemsg = true; } return; } } // Set if (args[0].equalsIgnoreCase("set") && args.length >= 3) { BorderShape shape = BorderShape.valueOf(args[1].toLowerCase()); int rad = parseIntWithMin(sender, args[2], 0); if (args.length == 3) { ModuleWorldBorder.setCenter(rad, (int) sender.posX, (int) sender.posZ, shape, true); sender.sendChatToPlayer( Localization.get(Localization.WB_SET) .replaceAll("%r", "" + rad) .replaceAll("%x", "" + (int) sender.posX) .replaceAll("%z", "" + (int) sender.posZ)); return; } if (args.length == 5) { int X = parseInt(sender, args[3]); int Z = parseInt(sender, args[4]); ModuleWorldBorder.setCenter(rad, X, Z, shape, true); sender.sendChatToPlayer( Localization.get(Localization.WB_SET) .replaceAll("%r", "" + rad) .replaceAll("%x", "" + X) .replaceAll("%z", "" + Z)); return; } } // Command unknown OutputHandler.chatError( sender, Localization.get(Localization.ERROR_BADSYNTAX) + getSyntaxPlayer(sender)); }