Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.Serious07.SeriousCore2.Commands;
- import java.util.List;
- import ru.Serious07.SeriousCore2.Hash.Collections;
- import ru.Serious07.SeriousCore2.display.Chat;
- import net.minecraft.command.ICommand;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.player.EntityPlayerMP;
- import net.minecraft.server.MinecraftServer;
- public class Unload implements ICommand {
- Chat ch = new Chat();
- Collections cl = new Collections();
- @Override
- public int compareTo(Object arg0) {
- return 0;
- }
- @Override
- public String getCommandName() {
- return "unload";
- }
- @Override
- public String getCommandUsage(ICommandSender p_71518_1_) {
- return "/unload";
- }
- @Override
- public List getCommandAliases() {
- return null;
- }
- @Override
- public void processCommand(ICommandSender sender, String[] args) {
- if(sender instanceof EntityPlayerMP){ // Если команду выполнил игрок
- String permission = "UNLOAD";
- if(cl.CheckGroupPermission(cl.GetPlayerGroup(cl.GetPlayerId(((EntityPlayerMP) sender).getDisplayName())), permission)) {
- MinecraftServer minecraftserver = MinecraftServer.getServer();
- int length = minecraftserver.worldServers.length;
- int count = 0;
- for(int i=0; i<length; i++){
- count += minecraftserver.worldServers[i].theChunkProviderServer.getLoadedChunkCount();
- }
- // Выполнить команду на сохранение здесь
- MinecraftServer.getServer().getCommandManager().executeCommand(MinecraftServer.getServer(), "save-all");
- ch.SendMessageToPlayer((EntityPlayerMP) sender, "Сейчас подгружено " + count);
- ch.SendMessageToPlayer((EntityPlayerMP) sender, "Выгружаем чанки!");
- for(int i=0; i<length; i++){
- boolean flag = MinecraftServer.getServer().worldServers[i].levelSaving;
- minecraftserver.worldServers[i].levelSaving = true;
- minecraftserver.worldServers[i].theChunkProviderServer.unloadAllChunks();
- minecraftserver.worldServers[i].theChunkProviderServer.unloadQueuedChunks();
- ch.SendMessageToPlayer((EntityPlayerMP) sender, (i + 1) + " из " + length + " " + MinecraftServer.getServer().worldServers[i].theChunkProviderServer.canSave());
- minecraftserver.worldServers[i].levelSaving = flag;
- }
- count = 0;
- for(int i=0; i<length; i++){
- count += minecraftserver.worldServers[i].theChunkProviderServer.getLoadedChunkCount();
- }
- ch.SendMessageToPlayer((EntityPlayerMP) sender, "Чанки успешно выгружены! Подгружено: " + count);
- }
- }
- }
- @Override
- public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_) {
- return true;
- }
- @Override
- public List addTabCompletionOptions(ICommandSender p_71516_1_,
- String[] p_71516_2_) {
- return null;
- }
- @Override
- public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement