package com.brandon3055.townbuilder.schematics.commands; import com.brandon3055.townbuilder.ConfigHandler; import com.brandon3055.townbuilder.TownBuilder; import com.brandon3055.townbuilder.network.PacketFileTransfer; import com.brandon3055.townbuilder.schematics.FileHandler; import com.brandon3055.townbuilder.schematics.SchematicHandler; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextFormatting; import java.util.List; /** * Created by Brandon on 25/02/2015. */ public class CommandSend implements ISubCommand { public static CommandSend instance = new CommandSend(); @Override public String getCommandName() { return "uploadtoserver"; } @Override public void handleCommand(EntityPlayer player, String[] args) { if (args.length == 2 && TownBuilder.proxy.isDedicatedServer() && player instanceof EntityPlayerMP) { if (SchematicHandler.getFile(args[1]) != null) { player.addChatComponentMessage(new TextComponentString(args[1] + " Already exists on the server")); return; } if (!FileHandler.instance.transferInProgress) { FileHandler.instance.fileName = args[1]; TownBuilder.network.sendTo(new PacketFileTransfer(args[1], true, ConfigHandler.filePort), (EntityPlayerMP) player); } else player.addChatComponentMessage(new TextComponentString(TextFormatting.RED + "The server is already receiving a file")); } } @Override public List<String> addTabCompletionOptions(ICommandSender paramICommandSender, String[] paramArrayOfString) { return null; } @Override public boolean canSenderUseCommand(ICommandSender sender) { return CommandHandler.checkOpAndNotify(sender); } @Override public String[] helpInfo(EntityPlayer sender) { return new String[] { "Usage: /tt-schematic uploadtoserver <name>", "", "Sends the specified schematic from your client", "to the server" }; } }