Browse Source

First commit, replacment for the txtfiles.java

Bit messy, will clean up later, but for now it works.
TrapAlice 15 years ago
parent
commit
8da12dcea7
3 changed files with 161 additions and 31 deletions
  1. 127 0
      settings.java
  2. 0 17
      txtfiles.java
  3. 34 14
      vminecraft.java

+ 127 - 0
settings.java

@@ -0,0 +1,127 @@
+//This doesn't do anything yet, eventually you will be able to toggle features by writing true or false in vminecraft-config.txt
+//This is high up on my priority list
+import java.io.*;
+import java.util.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import net.minecraft.server.MinecraftServer;
+public class settings {
+	private final static Object syncLock = new Object();
+        protected static final Logger log = Logger.getLogger("Minecraft");
+        private static volatile settings instance;
+	static boolean toggle = true;
+        private boolean adminChat = false;
+	private boolean greentext = false;
+	private boolean FFF = false;
+	private boolean quakeColors = false;
+	private boolean cmdFabulous = false;
+        private boolean cmdPromote = false;
+        private boolean cmdDemote = false;
+        private boolean cmdWhoIs = false;
+        private PropertiesFile properties;
+	String file = "vminecraft.properties";
+	//Unfinished was interrupted in the middle of making this shit, where we can triggle toggles in a text file for commands
+        //example return true for greentext=true in vminecraft.properties file would disable that code
+
+
+	public  void loadSettings()
+	{
+		try{
+
+                        Scanner scanner = new Scanner(new File(file));
+                        while (scanner.hasNextLine()) {
+                            String line  = scanner.nextLine();
+                            if( line.startsWith("#") || line.equals(""))
+                            {
+                                continue;
+                            }
+                            String[] split = line.split("=");
+                            if(split[0].equalsIgnoreCase("adminchat"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    adminChat = true;
+                                }
+                                   else adminChat = false;
+                            }
+                            if(split[0].equalsIgnoreCase("Greentext"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    greentext = true;
+                                }
+                                   else greentext = false;
+                            }
+                            if(split[0].equalsIgnoreCase("FFF"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    FFF = true;
+                                }
+                                   else FFF = false;
+                            }
+                            if(split[0].equalsIgnoreCase("QuakeColors"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    quakeColors = true;
+                                }
+                                   else quakeColors = false;
+                            }
+                            if(split[0].equalsIgnoreCase("cmdFabulous"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    cmdFabulous = true;
+                                }
+                                   else cmdFabulous = false;
+                            }
+                            if(split[0].equalsIgnoreCase("cmdPromote"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    cmdPromote = true;
+                                }
+                                   else cmdPromote = false;
+                            }
+                            if(split[0].equalsIgnoreCase("cmdDemote"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    cmdDemote = true;
+                                }
+                                   else cmdDemote = false;
+                            }
+                            if(split[0].equalsIgnoreCase("cmdWhoIs"))
+                            {
+                                if(split[1].equalsIgnoreCase("true"))
+                                {
+                                    cmdWhoIs = true;
+                                }
+                                   else cmdWhoIs = false;
+                            }
+                        }
+                        scanner.close();
+                }
+                catch (Exception e) {log.log(Level.SEVERE, "Oh shi-: "+ e.getMessage() );}
+
+	}
+
+        public boolean adminchat() {return adminChat;}
+        public boolean greentext() {return greentext;}
+        public boolean FFF() {return FFF;}
+        public boolean quakeColors() {return quakeColors;}
+        public boolean cmdFabulous() {return cmdFabulous;}
+        public boolean cmdPromote() {return cmdPromote;}
+        public boolean cmdDemote() {return cmdDemote;}
+        public boolean cmdWhoIs() {return cmdWhoIs;}
+
+        public static settings getInstance() {
+        if (instance == null) {
+            instance = new settings();
+        }
+
+        return instance;
+    }
+		
+}

+ 0 - 17
txtfiles.java

@@ -1,17 +0,0 @@
-//This doesn't do anything yet, eventually you will be able to toggle features by writing true or false in vminecraft-config.txt
-//This is high up on my priority list
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Scanner;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-public class txtfiles {
-    	static final Logger log = Logger.getLogger("Minecraft");
-	private final static Object syncLock = new Object();        
-	static boolean toggle = true;
-        private PropertiesFile properties;
-	//Unfinished was interrupted in the middle of making this shit, where we can triggle toggles in a text file for commands
-        //example return true for greentext=true in vminecraft.properties file would disable that code
-	}

+ 34 - 14
vminecraft.java

@@ -2,7 +2,7 @@
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 import java.util.logging.Level;
 import java.util.logging.Level;
 public class vminecraft extends Plugin {
 public class vminecraft extends Plugin {
-
+    //settings Settings;
     @Override
     @Override
     public void disable() {
     public void disable() {
         //throw new UnsupportedOperationException("Not supported yet.");
         //throw new UnsupportedOperationException("Not supported yet.");
@@ -15,13 +15,21 @@ public class vminecraft extends Plugin {
         //I have to include this to compile, not sure why.
         //I have to include this to compile, not sure why.
     }
     }
     static final Logger log = Logger.getLogger("Minecraft");
     static final Logger log = Logger.getLogger("Minecraft");
+
+    public void onLogin(Player player)
+    {
+        settings.getInstance().loadSettings();
+    }
+
     public boolean onChat(Player player, String message){
     public boolean onChat(Player player, String message){
+        //Settings.loadSettings();
+        settings.getInstance().loadSettings();
         String playerb = player.getName(); //Used to get names from players, can't remember why I can't just use 'player'
         String playerb = player.getName(); //Used to get names from players, can't remember why I can't just use 'player'
         String temp2 = "<" + etc.getInstance().getUserColor(playerb) + player.getName()  +  Colors.White +"> "; //Inserts a name before the message
         String temp2 = "<" + etc.getInstance().getUserColor(playerb) + player.getName()  +  Colors.White +"> "; //Inserts a name before the message
         String adminchat = Colors.LightGreen + "{" + etc.getInstance().getUserColor(playerb) + player.getName()  +  Colors.LightGreen +"}" + Colors.White + " "; //Inserts names admin chat style before the message
         String adminchat = Colors.LightGreen + "{" + etc.getInstance().getUserColor(playerb) + player.getName()  +  Colors.LightGreen +"}" + Colors.White + " "; //Inserts names admin chat style before the message
         String message2 = ""; //Used for greentext and FFF
         String message2 = ""; //Used for greentext and FFF
         String check = temp2+message; //Calculates how long your message will be including your name in the equation, this prevents minecraft clients from crashing when a color code is inserted after a linebreak
         String check = temp2+message; //Calculates how long your message will be including your name in the equation, this prevents minecraft clients from crashing when a color code is inserted after a linebreak
-        if (message.startsWith("@") && (etc.getInstance().isUserInGroup(player, "mods") || etc.getInstance().isUserInGroup(player, "admins") || etc.getInstance().isUserInGroup(player, "superadmins"))) {
+        if (settings.getInstance().adminchat()&&message.startsWith("@") && (etc.getInstance().isUserInGroup(player, "mods") || etc.getInstance().isUserInGroup(player, "admins") || etc.getInstance().isUserInGroup(player, "superadmins"))) {
             for (Player p : etc.getServer().getPlayerList()) {
             for (Player p : etc.getServer().getPlayerList()) {
                 if (p != null) {
                 if (p != null) {
                     if (etc.getInstance().isUserInGroup(p, "mods") || (etc.getInstance().isUserInGroup(p, "admins")) || (etc.getInstance().isUserInGroup(p, "superadmins"))) {
                     if (etc.getInstance().isUserInGroup(p, "mods") || (etc.getInstance().isUserInGroup(p, "admins")) || (etc.getInstance().isUserInGroup(p, "superadmins"))) {
@@ -37,23 +45,25 @@ public class vminecraft extends Plugin {
             return true;
             return true;
       }
       }
         //Greentext
         //Greentext
-        if (message.startsWith(">")) {
+        if (settings.getInstance().greentext()&&message.startsWith(">")) {
+            id.a.log(Level.INFO, "<"+player.getName()+"> "+message);
             message = Colors.LightGreen + message;
             message = Colors.LightGreen + message;
             message2 = temp2 + message;
             message2 = temp2 + message;
             other.gmsg(message2);
             other.gmsg(message2);
-            id.a.log(Level.INFO, message2);
+            
             return true;
             return true;
         }
         }
         //FFF
         //FFF
-        if (message.startsWith("FFF")) {
+        if (settings.getInstance().FFF()&&message.startsWith("FFF")) {
+            id.a.log(Level.INFO, "<"+player.getName()+"> "+message);
             message = Colors.Red + message;
             message = Colors.Red + message;
             message2 = temp2 + message;
             message2 = temp2 + message;
             other.gmsg(message2);
             other.gmsg(message2);
-            id.a.log(Level.INFO, message2);
+            
             return true;
             return true;
         }
         }
         //QuakeColors
         //QuakeColors
-        if(message.length()>2 && lengthCheck(check)) {
+        if(settings.getInstance().quakeColors()&&message.length()>2 && lengthCheck(check)) {
 			String temp = "";
 			String temp = "";
 			for(int x = 0; x< message.length(); x++)
 			for(int x = 0; x< message.length(); x++)
 			{
 			{
@@ -66,11 +76,12 @@ public class vminecraft extends Plugin {
 					temp+=message.charAt(x);
 					temp+=message.charAt(x);
 				}
 				}
 			}
 			}
+                        log.log(Level.INFO, "<"+player.getName()+"> "+message);
 			message = temp2 + temp + " ";
 			message = temp2 + temp + " ";
                         for (Player p : etc.getServer().getPlayerList()) {
                         for (Player p : etc.getServer().getPlayerList()) {
                                 if (p != null) {
                                 if (p != null) {
                                      other.gmsg(message);
                                      other.gmsg(message);
-                                     log.log(Level.INFO, message);
+                                     
                                      return true;
                                      return true;
                                 }
                                 }
                             }                                                
                             }                                                
@@ -82,7 +93,7 @@ public class vminecraft extends Plugin {
             return false;
             return false;
         }
         }
         //Fabulous
         //Fabulous
-        if (split[0].equalsIgnoreCase("/fabulous")) {
+        if (split[0].equalsIgnoreCase("/fabulous")&&settings.getInstance().cmdFabulous()) {
             etc.getInstance().addCommand("/fabulous", "/fabulous <message>");
             etc.getInstance().addCommand("/fabulous", "/fabulous <message>");
                     if (split.length == 1) {return false;}
                     if (split.length == 1) {return false;}
                     String temp = "";
                     String temp = "";
@@ -94,6 +105,7 @@ public class vminecraft extends Plugin {
                     int counter=0;
                     int counter=0;
                     if(lengthCheck(temp2))
                     if(lengthCheck(temp2))
                     {
                     {
+                           id.a.log(Level.INFO, player.getName()+" fabulously said \""+ str+"\"");
                     for(int x=0; x<str.length(); x++)
                     for(int x=0; x<str.length(); x++)
                     {
                     {
                             temp+=rainbow[counter]+str.charAt(x);
                             temp+=rainbow[counter]+str.charAt(x);
@@ -104,14 +116,14 @@ public class vminecraft extends Plugin {
                     }
                     }
                     str = temp+" ";
                     str = temp+" ";
                     String message = "<" + etc.getInstance().getUserColor(player.getName()) + player.getName() + Colors.White + "> " + str;
                     String message = "<" + etc.getInstance().getUserColor(player.getName()) + player.getName() + Colors.White + "> " + str;
-                            id.a.log(Level.INFO, "[F]"+str);
+                            
                             other.gmsg(message);
                             other.gmsg(message);
                     } else {
                     } else {
                             player.sendMessage(Colors.Rose + "Message is too long");
                             player.sendMessage(Colors.Rose + "Message is too long");
                     }
                     }
                 }
                 }
         //Promote
         //Promote
-        else if (split[0].equalsIgnoreCase("/promote")) {
+        else if (settings.getInstance().cmdPromote()&&split[0].equalsIgnoreCase("/promote")) {
                 log.log(Level.INFO, "Command used by " + player + " " + split[0] +" "+split[1]+" ");
                 log.log(Level.INFO, "Command used by " + player + " " + split[0] +" "+split[1]+" ");
                 User user2 = etc.getInstance().getUser(split[1]);
                 User user2 = etc.getInstance().getUser(split[1]);
                 if (split.length < 2) {
                 if (split.length < 2) {
@@ -121,7 +133,7 @@ public class vminecraft extends Plugin {
                     player.sendMessage(Colors.Rose + "Player does not exist.");
                     player.sendMessage(Colors.Rose + "Player does not exist.");
                     return false;
                     return false;
                 }
                 }
-                //ea player = match(split[1]);
+                //ea player2 = id.match(split[1]);
                 User user = etc.getInstance().getUser(split[1]);
                 User user = etc.getInstance().getUser(split[1]);
                 boolean newUser = false;
                 boolean newUser = false;
                 if (user == null) {
                 if (user == null) {
@@ -162,7 +174,7 @@ public class vminecraft extends Plugin {
                 }                
                 }                
             }
             }
         //Demote
         //Demote
-                else if (split[0].equalsIgnoreCase("/demote")) {
+                else if (settings.getInstance().cmdDemote()&&split[0].equalsIgnoreCase("/demote")) {
                     log.log(Level.INFO, "Command used by " + player + " " + split[0] +" "+split[1]+" ");
                     log.log(Level.INFO, "Command used by " + player + " " + split[0] +" "+split[1]+" ");
                     etc.getInstance().addCommand("/demote", "/demote [user]");
                     etc.getInstance().addCommand("/demote", "/demote [user]");
                 if (split.length < 2) {
                 if (split.length < 2) {
@@ -209,7 +221,7 @@ public class vminecraft extends Plugin {
                     etc.getInstance().getDataSource().modifyUser(user);
                     etc.getInstance().getDataSource().modifyUser(user);
                 }
                 }
           //Whois will display info about a player
           //Whois will display info about a player
-        } else if (split[0].equalsIgnoreCase("/whois")) {
+        } else if (settings.getInstance().cmdWhoIs()&&split[0].equalsIgnoreCase("/whois")) {
             String admin ="";
             String admin ="";
             String group ="";
             String group ="";
             String ignore ="";
             String ignore ="";
@@ -245,6 +257,14 @@ public class vminecraft extends Plugin {
         }
         }
         return true;
         return true;
     }
     }
+
+    public void onKick(Player player, String reason)
+    {
+    }
+
+
+
+
     //Calculates how long the specified String is to prevent linebreaks when using scripts that insert color codes, designed to be used with playername included
     //Calculates how long the specified String is to prevent linebreaks when using scripts that insert color codes, designed to be used with playername included
     private boolean lengthCheck(String str)
     private boolean lengthCheck(String str)
 	{
 	{