package dmillerw.menu.data.click;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiConfirmOpenLink;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.client.ClientCommandHandler;
/**
* @author dmillerw
*/
public class ClickActionCommand implements ClickAction.IClickAction {
public final String command;
public boolean clipboard;
public ClickActionCommand(String command, boolean clipboard) {
this.command = command;
this.clipboard = clipboard;
}
@Override
public ClickAction getClickAction() {
return ClickAction.COMMAND;
}
@Override
public boolean onClicked() {
EntityPlayerSP player = Minecraft.getMinecraft().player;
String parsedCommand = command.replace("@p", player.getName());
if (ClientCommandHandler.instance.executeCommand(player, parsedCommand) == 0) {
if (clipboard) {
GuiConfirmOpenLink.setClipboardString(parsedCommand);
player.sendStatusMessage(new TextComponentString("Command copied to clipboard"), true);
} else {
player.sendChatMessage(parsedCommand);
}
}
return false;
}
@Override
public void onRemoved() {
clipboard = !clipboard;
}
}