Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //FrostyMaingo Code
- //
- //
- // Version 2.0
- //
- //
- // Code By: Frostystorm1
- // Contributors: 314 (Some aspects of regex and commands were modified from his bot)
- //
- import java.awt.List;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.net.Proxy;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.Random;
- import java.util.Timer;
- import java.util.TimerTask;
- import java.util.concurrent.TimeUnit;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import org.spacehq.mc.auth.data.GameProfile;
- import org.spacehq.mc.auth.exception.request.RequestException;
- import org.spacehq.mc.protocol.MinecraftConstants;
- import org.spacehq.mc.protocol.MinecraftProtocol;
- import org.spacehq.mc.protocol.ServerLoginHandler;
- import org.spacehq.mc.protocol.data.SubProtocol;
- import org.spacehq.mc.protocol.data.game.PlayerListEntry;
- import org.spacehq.mc.protocol.data.game.PlayerListEntryAction;
- import org.spacehq.mc.protocol.data.game.entity.player.GameMode;
- import org.spacehq.mc.protocol.data.game.setting.Difficulty;
- import org.spacehq.mc.protocol.data.game.world.WorldType;
- import org.spacehq.mc.protocol.data.game.world.block.value.BlockValueType;
- import org.spacehq.mc.protocol.data.message.ChatColor;
- import org.spacehq.mc.protocol.data.message.ChatFormat;
- import org.spacehq.mc.protocol.data.message.Message;
- import org.spacehq.mc.protocol.data.message.MessageStyle;
- import org.spacehq.mc.protocol.data.message.TextMessage;
- import org.spacehq.mc.protocol.data.message.TranslationMessage;
- import org.spacehq.mc.protocol.data.status.PlayerInfo;
- import org.spacehq.mc.protocol.data.status.ServerStatusInfo;
- import org.spacehq.mc.protocol.data.status.VersionInfo;
- import org.spacehq.mc.protocol.data.status.handler.ServerInfoBuilder;
- import org.spacehq.mc.protocol.data.status.handler.ServerInfoHandler;
- import org.spacehq.mc.protocol.data.status.handler.ServerPingTimeHandler;
- import org.spacehq.mc.protocol.packet.ingame.client.ClientChatPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerChatPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerPlayerListEntryPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.entity.ServerEntityTeleportPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.entity.player.ServerPlayerChangeHeldItemPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.entity.spawn.ServerSpawnPlayerPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.world.ServerBlockChangePacket;
- import org.spacehq.mc.protocol.packet.ingame.server.world.ServerBlockValuePacket;
- import org.spacehq.packetlib.Client;
- import org.spacehq.packetlib.Server;
- import org.spacehq.packetlib.Session;
- import org.spacehq.packetlib.event.server.ServerAdapter;
- import org.spacehq.packetlib.event.server.SessionAddedEvent;
- import org.spacehq.packetlib.event.server.SessionRemovedEvent;
- import org.spacehq.packetlib.event.session.DisconnectedEvent;
- import org.spacehq.packetlib.event.session.PacketReceivedEvent;
- import org.spacehq.packetlib.event.session.SessionAdapter;
- import org.spacehq.packetlib.tcp.TcpSessionFactory;
- public class MCBotMain {
- private static final boolean SPAWN_SERVER = false;
- private static final boolean VERIFY_USERS = true;
- private static final String HOST = "mc.ecocitycraft.com";
- private static final int PORT = 25565;
- private static final Proxy PROXY = Proxy.NO_PROXY;
- private static final Proxy AUTH_PROXY = Proxy.NO_PROXY;
- private static String USERNAME = "";
- private static String PASSWORD = "";
- private static Message message = null;
- private static Client client;
- private static ArrayList<String> commandqueue = new ArrayList<String>();
- private static ArrayList<String> parameterOne = new ArrayList<String>();
- private static ArrayList<String> parameterTwo = new ArrayList<String>();
- private static ArrayList<String> parameterThree = new ArrayList<String>();
- private static ArrayList<String> parameterFour = new ArrayList<String>();
- private static ArrayList<String> parameterFive = new ArrayList<String>();
- private static ArrayList<String> parameterSix = new ArrayList<String>();
- private static boolean startLoggingPlayerJoin = false;
- private static boolean loggingBlocks = false;
- private static String blockLogPlayer = "";
- //Party Regex
- private static Pattern p_kick = Pattern.compile("^From ([*_A-Za-z0-9]+): !kick ([a-zA-Z0-9]+) (.+)$");
- private static Pattern p_invite = Pattern.compile("^From ([*_A-Za-z0-9]+): !invite ([*_A-Za-z0-9]+)$");
- private static Pattern p_whitelist = Pattern.compile("^From ([*_A-Za-z0-9]+): !whitelist (add|remove|info) ?([*_A-Za-z0-9]+)?$");
- private static Pattern p_getinvite = Pattern.compile("^From ([*_A-Za-z0-9]+): !getinvite$");
- //Party Arrays
- private static ArrayList<String> partyOwners = new ArrayList<String>();
- private static ArrayList<String> whitelist = new ArrayList<String>();
- //Rank Arrays
- private static ArrayList<String> admins = new ArrayList<String>();
- private static ArrayList<String> commanders = new ArrayList<String>();
- private static ArrayList<String> captains = new ArrayList<String>();
- private static ArrayList<String> sergeants = new ArrayList<String>();
- //Command Spam Check Vars
- private static double now = 0;
- private static double lastCMDTime = 0;
- //Command Regex
- private static Pattern p_say = Pattern.compile("^From ([*_A-Za-z0-9]+): !say (.+)$");
- private static Pattern p_ping = Pattern.compile("^From ([*_A-Za-z0-9]+): !ping$");
- private static Pattern p_stop = Pattern.compile("^From ([*_A-Za-z0-9]+): !stop$");
- private static Pattern p_calc = Pattern.compile("^From ([*_A-Za-z0-9]+): !calc ([0-9.-]+)([+\\-\\*/])([0-9.-]+)$");
- private static Pattern p_shout = Pattern.compile("^From ([*_A-Za-z0-9]+): !shout (.+)$");
- private static Pattern p_logblock = Pattern.compile("^From ([*_A-Za-z0-9]+): !logblocks$");
- //private static Pattern p_loglotto = Pattern.compile("^\\[LOTTERY\\] Congratulations go to ([*_A-Za-z0-9]+) for winning \\$([0-9]+) with ([0-9])+ tickets\\.$");
- //Generic Regex
- private static Pattern p_pmRecieved = Pattern.compile("^From ([*_A-Za-z0-9]+): (.+)$");
- //Group 1: Gives user rank, Group 2: Gives CTAG, DTAG, Group 3: Gives Username/Nickname, Group 4: Gives message
- private static Pattern p_global = Pattern.compile("^\\[G] \\[([_A-Za-z0-9$]+)](\\[.+])? (.+): (.+)$");
- public static boolean checkCommandSpam(String function, String parameter1, String parameter2, String parameter3, String parameter4, String parameter5, String parameter6){
- now = (double) System.currentTimeMillis();
- if (now-lastCMDTime > 3000){
- lastCMDTime = now;
- return true;
- }
- else{
- if(!function.equals("")){
- if(function.equals("say")){
- commandqueue.add("say");
- parameterOne.add(parameter1);
- }
- else if(function.equals("shout")){
- commandqueue.add("shout");
- parameterOne.add(parameter1);
- }
- else if(function.equals("kick")){
- commandqueue.add("kick");
- parameterOne.add(parameter1);
- parameterTwo.add(parameter2);
- parameterThree.add(parameter3);
- }
- else if(function.equals("invite")){
- commandqueue.add("invite");
- parameterOne.add(parameter1);
- parameterTwo.add(parameter2);
- }
- else if(function.equals("whitelistinfo")){
- commandqueue.add("whitelistinfo");
- parameterOne.add(parameter1);
- }
- else if(function.equals("getinvite")){
- commandqueue.add("getinvite");
- parameterOne.add(parameter1);
- }
- else if(function.equals("logblocks")){
- commandqueue.add("logblocks");
- parameterOne.add(parameter1);
- parameterTwo.add(parameter2);
- parameterThree.add(parameter3);
- parameterFour.add(parameter4);
- parameterFive.add(parameter5);
- parameterSix.add(parameter6);
- }
- }
- return false;
- }
- }
- public static void readWhitelist(){ //Reads the whitelist text file and puts it in an arraylist.
- String thisLine = null;
- try {
- BufferedReader br = new BufferedReader(new FileReader(new File("Whitelist.txt")));
- while ((thisLine = br.readLine()) != null) {
- whitelist.add(thisLine);
- }
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- public static void writeWhitelist(){ //Writes arraylist into whitelist text file
- BufferedWriter whitelistwriter = null;
- try
- {
- File whitelistfile = new File("Whitelist.txt");
- whitelistfile.delete();
- whitelistwriter = new BufferedWriter(new FileWriter("Whitelist.txt", true));
- for(int i=0;i<whitelist.size();i++){
- whitelistwriter.write(whitelist.get(i));
- whitelistwriter.write("\n");
- }
- }
- catch (IOException e)
- {
- }
- finally
- {
- try
- {
- if (whitelistwriter != null)
- whitelistwriter.close( );
- }
- catch (IOException e)
- {
- }
- }
- }
- public static void say(String message){ //Says or runs command when !say is issued
- if(checkCommandSpam("say", message, "", "", "", "", "")){
- sendMessage(message);
- lastCMDTime = now;
- }
- }
- public static void ping(){ //Responds with Pong! when !ping is issued
- if(checkCommandSpam("ping", "", "", "", "", "", "")){
- sendMessage("/r Pong!");
- lastCMDTime = now;
- }
- }
- public static void stopBot(){ //Disconnects the bot when !stop is issued
- client.getSession().disconnect("Disconnected!");
- }
- public static void calc(String firstValue, String calcType, String secondValue){ //Calculate simple functions
- if(checkCommandSpam("calc", firstValue, calcType, secondValue, "", "", "")){
- double numberOne = Double.parseDouble(firstValue);
- double numberTwo = Double.parseDouble(secondValue);
- if(calcType.equals("+")){
- sendMessage("/r = "+(numberOne+numberTwo));
- }
- else if(calcType.equals("-")){
- sendMessage("/r = "+(numberOne-numberTwo));
- }
- else if(calcType.equals("*")){
- sendMessage("/r = "+(numberOne*numberTwo));
- }
- else if(calcType.equals("/")){
- sendMessage("/r = "+(numberOne/numberTwo));
- }
- lastCMDTime = now;
- }
- }
- public static void shout(String message){ //Shouts message to party
- if(checkCommandSpam("shout", message, "", "","", "", "")){
- sendMessage("/p [Shout] "+message);
- lastCMDTime = now;
- }
- }
- public static void kick(String kicker, String kickMember, String reason) throws IOException{
- if(checkCommandSpam("kick", kicker, kickMember, reason,"", "", "")){
- sendMessage("/party kick "+kickMember);
- whitelist.remove(kickMember);
- writeWhitelist();
- BufferedWriter writer = null;
- DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy [HH:mm:ss]");
- Date dateFull = new Date();
- try
- {
- writer = new BufferedWriter(new FileWriter("Logs/PartyLog.txt", true));
- writer.write("\n");
- writer.write("["+dateFormat.format(dateFull)+"] Player "+kicker+ " kicked "+kickMember+" from the party: "+reason);
- }
- catch (IOException e)
- {
- }
- finally
- {
- try
- {
- if ( writer != null)
- writer.close( );
- }
- catch (IOException e)
- {
- }
- }
- lastCMDTime = now;
- }
- }
- public static void invite(String inviter, String inviteMember){
- if(checkCommandSpam("invite", inviter, inviteMember, "","", "", "")){
- sendMessage("/party invite "+inviteMember);
- BufferedWriter writer = null;
- DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy [HH:mm:ss]");
- Date dateFull = new Date();
- try
- {
- writer = new BufferedWriter(new FileWriter("Logs/PartyLog.txt", true));
- writer.write("\n");
- writer.write("["+dateFormat.format(dateFull)+"] "+inviter+ " invited "+inviteMember+" to the party.");
- }
- catch (IOException e)
- {
- }
- finally
- {
- try
- {
- if ( writer != null)
- writer.close( );
- }
- catch (IOException e)
- {
- }
- }
- lastCMDTime = now;
- }
- }
- public static void globalMessage(String rank, String userTags, String nickname, String message){
- }
- public static void whitelist(int groupCount, String subCommand, String user, String targetUser){
- if(groupCount == 3){
- if(subCommand.equals("remove")){
- whitelist.remove(targetUser);
- writeWhitelist();
- }
- else if(subCommand.equals("add")){
- if(!whitelist.contains(targetUser)){
- whitelist.add(targetUser);
- writeWhitelist();
- }
- }
- }
- if(subCommand.equals("info")){
- if(checkCommandSpam("whitelistinfo", user,"","","", "", "")){
- sendMessage("/pm "+user+" "+whitelist);
- lastCMDTime = now;
- }
- }
- }
- public static void logblocks(String blockLogPlayer, String blockID, String blockData, String xCoord, String yCoord, String zCoord){
- if(loggingBlocks == true){
- if(checkCommandSpam("logblocks",blockLogPlayer,blockID,blockData,xCoord,yCoord,zCoord)){
- sendMessage("/pm "+blockLogPlayer+" Block ID: "+blockID+", Block Data: "+blockData+", Coords: ("+xCoord+", "+yCoord+", "+zCoord+")");
- lastCMDTime = now;
- }
- }
- }
- public static void getinvite(String user){
- if(checkCommandSpam("getinvite",user, "","","", "", "")){
- sendMessage("/party invite "+user);
- lastCMDTime = now;
- }
- }
- public static void recieveCredentials(String username, String password){ //Recieve info from login panel
- USERNAME = username;
- PASSWORD = password;
- status();
- login();
- }
- public static void sendMessage(String message){ //Send a message/command to the server from the bot
- client.getSession().send(new ClientChatPacket(message));
- }
- public static void runCommandQueue(){
- if(commandqueue.size() > 0){
- if(commandqueue.get(0).equals("say")){
- say(parameterOne.get(0));
- }
- else if(commandqueue.get(0).equals("shout")){
- shout(parameterOne.get(0));
- }
- else if(commandqueue.get(0).equals("kick")){
- try {
- kick(parameterOne.get(0), parameterTwo.get(0), parameterThree.get(0));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- else if(commandqueue.get(0).equals("invite")){
- invite(parameterOne.get(0), parameterTwo.get(0));
- }
- else if(commandqueue.get(0).equals("whitelistinfo")){
- sendMessage("/pm "+parameterOne.get(0)+" "+whitelist);
- }
- else if(commandqueue.get(0).equals("getinvite")){
- getinvite(parameterOne.get(0));
- }
- else if(commandqueue.get(0).equals("logblocks")){
- logblocks(parameterOne.get(0),parameterTwo.get(0),parameterThree.get(0),parameterFour.get(0),parameterFive.get(0),parameterSix.get(0));
- }
- commandqueue.remove(0);
- parameterOne.remove(0);
- parameterTwo.remove(0);
- parameterThree.remove(0);
- parameterFour.remove(0);
- parameterFive.remove(0);
- parameterSix.remove(0);
- }
- }
- public static void writeChatToFile(){ //Log chat to a text file and timestamp the messages
- DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy [HH:mm:ss]");
- Date dateFull = new Date();
- DateFormat dateFormatShort = new SimpleDateFormat("MM-dd-yyyy");
- Date dateShort = new Date();
- BufferedWriter writer = null;
- Console.updateChat(message.getFullText());
- try
- {
- writer = new BufferedWriter(new FileWriter("Logs/["+(dateFormatShort.format(dateShort))+"] Log.txt", true));
- writer.write("\n");
- writer.write(dateFormat.format(dateFull)+message.getFullText());
- }
- catch (IOException e)
- {
- }
- finally
- {
- try
- {
- if ( writer != null)
- writer.close( );
- }
- catch (IOException e)
- {
- }
- }
- }
- public static void main(String[] args) {
- if(SPAWN_SERVER) {
- Server server = new Server(HOST, PORT, MinecraftProtocol.class, new TcpSessionFactory(PROXY));
- server.setGlobalFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY);
- server.setGlobalFlag(MinecraftConstants.VERIFY_USERS_KEY, VERIFY_USERS);
- server.setGlobalFlag(MinecraftConstants.SERVER_INFO_BUILDER_KEY, new ServerInfoBuilder() {
- @Override
- public ServerStatusInfo buildInfo(Session session) {
- return new ServerStatusInfo(new VersionInfo(MinecraftConstants.GAME_VERSION, MinecraftConstants.PROTOCOL_VERSION), new PlayerInfo(100, 0, new GameProfile[0]), new TextMessage("Hello world!"), null);
- }
- });
- server.setGlobalFlag(MinecraftConstants.SERVER_LOGIN_HANDLER_KEY, new ServerLoginHandler() {
- @Override
- public void loggedIn(Session session) {
- session.send(new ServerJoinGamePacket(0, false, GameMode.SURVIVAL, 0, Difficulty.PEACEFUL, 10, WorldType.DEFAULT, false));
- }
- });
- server.setGlobalFlag(MinecraftConstants.SERVER_COMPRESSION_THRESHOLD, 100);
- server.addListener(new ServerAdapter() {
- @Override
- public void sessionAdded(SessionAddedEvent event) {
- event.getSession().addListener(new SessionAdapter() {
- @Override
- public void packetReceived(PacketReceivedEvent event) {
- if(event.getPacket() instanceof ClientChatPacket) {
- ClientChatPacket packet = event.getPacket();
- GameProfile profile = event.getSession().getFlag(MinecraftConstants.PROFILE_KEY);
- System.out.println(profile.getName() + ": " + packet.getMessage());
- Message msg = new TextMessage("Hello, ").setStyle(new MessageStyle().setColor(ChatColor.GREEN));
- Message name = new TextMessage(profile.getName()).setStyle(new MessageStyle().setColor(ChatColor.AQUA).addFormat(ChatFormat.UNDERLINED));
- Message end = new TextMessage("!");
- msg.addExtra(name);
- msg.addExtra(end);
- event.getSession().send(new ServerChatPacket(msg));
- }
- }
- });
- }
- @Override
- public void sessionRemoved(SessionRemovedEvent event) {
- MinecraftProtocol protocol = (MinecraftProtocol) event.getSession().getPacketProtocol();
- if(protocol.getSubProtocol() == SubProtocol.GAME) {
- System.out.println("Closing server.");
- event.getServer().close();
- }
- }
- });
- server.bind();
- }
- }
- public static void status() {
- MinecraftProtocol protocol = new MinecraftProtocol(SubProtocol.STATUS);
- Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(PROXY));
- client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY);
- client.getSession().setFlag(MinecraftConstants.SERVER_INFO_HANDLER_KEY, new ServerInfoHandler() {
- @Override
- public void handle(Session session, ServerStatusInfo info) {
- System.out.println("Version: " + info.getVersionInfo().getVersionName() + ", " + info.getVersionInfo().getProtocolVersion());
- System.out.println("Player Count: " + info.getPlayerInfo().getOnlinePlayers() + " / " + info.getPlayerInfo().getMaxPlayers());
- System.out.println("Players: " + Arrays.toString(info.getPlayerInfo().getPlayers()));
- System.out.println("Description: " + info.getDescription().getFullText());
- System.out.println("Icon: " + info.getIcon());
- }
- });
- client.getSession().setFlag(MinecraftConstants.SERVER_PING_TIME_HANDLER_KEY, new ServerPingTimeHandler() {
- @Override
- public void handle(Session session, long pingTime) {
- System.out.println("Server ping took " + pingTime + "ms");
- }
- });
- client.getSession().connect();
- while(client.getSession().isConnected()) {
- try {
- Thread.sleep(5);
- } catch(InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- public static void readChat(String message){ //Called whenever a message is received
- Matcher m_say = p_say.matcher(message);
- Matcher m_ping = p_ping.matcher(message);
- Matcher m_stop = p_stop.matcher(message);
- Matcher m_calc = p_calc.matcher(message);
- Matcher m_shout = p_shout.matcher(message);
- Matcher m_logblock = p_logblock.matcher(message);
- //Party Matchers
- Matcher m_kick = p_kick.matcher(message);
- Matcher m_invite = p_invite.matcher(message);
- Matcher m_whitelist = p_whitelist.matcher(message);
- Matcher m_getinvite = p_getinvite.matcher(message);
- Matcher m_global = p_global.matcher(message);
- Matcher m_pmRecieved = p_pmRecieved.matcher(message);
- if(m_say.find() && admins.contains(m_say.group(1))) {
- say(m_say.group(2));
- }
- else if(m_ping.find() && admins.contains(m_ping.group(1))) {
- ping();
- }
- else if(m_stop.find() && admins.contains(m_stop.group(1))) {
- stopBot();
- }
- else if(m_calc.find() && captains.contains(m_calc.group(1))){
- calc(m_calc.group(2),m_calc.group(3),m_calc.group(4));
- }
- else if(m_shout.find() && sergeants.contains(m_shout.group(1))){
- shout(m_shout.group(2));
- }
- else if(m_kick.find() && partyOwners.contains(m_kick.group(1))){
- try {
- kick(m_kick.group(1), m_kick.group(2), m_kick.group(3));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- else if(m_invite.find() && partyOwners.contains(m_invite.group(1))){
- invite(m_invite.group(1), m_invite.group(2));
- }
- else if(m_whitelist.find() && partyOwners.contains(m_whitelist.group(1))){
- if(m_whitelist.groupCount()==3){
- whitelist(m_whitelist.groupCount(), m_whitelist.group(2), m_whitelist.group(1), m_whitelist.group(3));
- }
- else{
- whitelist(m_whitelist.groupCount(), m_whitelist.group(2), m_whitelist.group(1), "");
- }
- }
- else if(m_getinvite.find() && whitelist.contains(m_getinvite.group(1))){
- getinvite(m_getinvite.group(1));
- }
- else if(m_logblock.find() && admins.contains(m_logblock.group(1))){
- if(loggingBlocks == false){
- loggingBlocks = true;
- blockLogPlayer = m_logblock.group(1);
- }
- else{
- loggingBlocks = false;
- blockLogPlayer = "";
- }
- }
- else if(m_global.find()){
- globalMessage(m_global.group(1),m_global.group(2),m_global.group(3),m_global.group(4));
- }
- }
- public static void login() {
- //ADD THE USERNAMES TO EACH RANK ARRAY
- //Admins
- admins.add("Frostystorm1");
- admins.add("FrostyMaingo");
- //Commanders
- //Sergeants
- //Captains
- //Add the admins to all the rank arrays
- for(int x = 0; x < admins.size(); x = x + 1) {
- commanders.add(admins.get(x));
- sergeants.add(admins.get(x));
- captains.add(admins.get(x));
- }
- //Add commanders to the sergeant and captain rank arrays
- for(int x = 0; x < commanders.size()-3; x = x + 1) {
- sergeants.add(commanders.get(x));
- captains.add(commanders.get(x));
- }
- //Add sergeants to the captain rank array
- for(int x = 0; x < sergeants.size()-4; x = x + 1) {
- captains.add(sergeants.get(x));
- }
- partyOwners.add("Frostystorm1");
- MinecraftProtocol protocol = null;
- if(VERIFY_USERS) {
- try {
- protocol = new MinecraftProtocol(USERNAME, PASSWORD, false);
- System.out.println("Successfully authenticated user.");
- Console.loginSuccess();
- } catch(RequestException e) {
- Console.loginError();
- e.printStackTrace();
- return;
- }
- } else {
- protocol = new MinecraftProtocol(USERNAME);
- }
- client = new Client(HOST, PORT, protocol, new TcpSessionFactory(PROXY));
- client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY);
- client.getSession().addListener(new SessionAdapter() {
- @Override
- public void packetReceived(PacketReceivedEvent event) {
- now = (double) System.currentTimeMillis();
- if (now-lastCMDTime > 3000){
- runCommandQueue();
- }
- if(event.getPacket() instanceof ServerJoinGamePacket) {
- //sendMessage("/p", false);
- }
- else if(event.getPacket() instanceof ServerBlockChangePacket) {
- String blockID = Integer.toString(event.<ServerBlockChangePacket>getPacket().getRecord().getBlock().getId());
- String blockData = Integer.toString(event.<ServerBlockChangePacket>getPacket().getRecord().getBlock().getData());
- String xCoord = Integer.toString(event.<ServerBlockChangePacket>getPacket().getRecord().getPosition().getX());
- String yCoord = Integer.toString(event.<ServerBlockChangePacket>getPacket().getRecord().getPosition().getY());
- String zCoord = Integer.toString(event.<ServerBlockChangePacket>getPacket().getRecord().getPosition().getZ());
- logblocks(blockLogPlayer, blockID, blockData, xCoord, yCoord, zCoord);
- }
- else if(event.getPacket() instanceof ServerBlockValuePacket) {
- int blockID = event.<ServerBlockValuePacket>getPacket().getBlockId();
- double xCoord = event.<ServerBlockValuePacket>getPacket().getPosition().getX();
- double yCoord = event.<ServerBlockValuePacket>getPacket().getPosition().getY();
- double zCoord = event.<ServerBlockValuePacket>getPacket().getPosition().getZ();
- String type = event.<ServerBlockValuePacket>getPacket().getType().toString();
- String value = event.<ServerBlockValuePacket>getPacket().getValue().toString();
- System.out.println("Block ID: "+blockID+", Coords: ("+xCoord+", "+yCoord+", "+zCoord+"), Type: "+type+", Value: "+value);
- }
- /*else if(event.getPacket() instanceof ServerPlayerListEntryPacket) {
- if(((ServerPlayerListEntryPacket) event.getPacket()).getAction() == PlayerListEntryAction.ADD_PLAYER){
- PlayerListEntry[] entry = ((ServerPlayerListEntryPacket) event.getPacket()).getEntries();
- if(!entry[0].getProfile().getName().startsWith(" BTLP Slot ") && startLoggingPlayerJoin == true){
- System.out.println(entry[0].getProfile().getName()+" joined the server.");
- }
- if(entry[0].getProfile().getName().equals("FrostyMaingo")){
- startLoggingPlayerJoin = true;
- }
- }
- }*/
- else if(event.getPacket() instanceof ServerChatPacket) {
- message = event.<ServerChatPacket>getPacket().getMessage();
- writeChatToFile();
- readChat(message.getFullText());
- if(message instanceof TranslationMessage) {
- System.out.println("Received Translation Components: " + Arrays.toString(((TranslationMessage) message).getTranslationParams()));
- }
- // event.getSession().disconnect("Finished");
- }
- }
- @Override
- public void disconnected(DisconnectedEvent event) {
- System.out.println("Disconnected: " + Message.fromString(event.getReason()).getFullText());
- if(event.getCause() != null) {
- event.getCause().printStackTrace();
- }
- }
- });
- client.getSession().connect();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement