Advertisement
Olivki

friend

Feb 28th, 2013
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.54 KB | None | 0 0
  1. package com.craftclient.mods.list.none;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.io.PrintWriter;
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.Iterator;
  10. import java.util.Map;
  11. import java.util.Set;
  12.  
  13. import net.minecraft.src.*;
  14.  
  15. import com.craftclient.events.*;
  16. import com.craftclient.events.controller.*;
  17. import com.craftclient.events.misc.*;
  18. import com.craftclient.events.server.*;
  19. import com.craftclient.mods.*;
  20. import com.craftclient.utils.*;
  21.  
  22. public class ModFriend extends ModBase {
  23.  
  24.     protected ArrayList<ArrayHelper<String, String>> loadedFriends = new ArrayList<ArrayHelper<String, String>>();
  25.  
  26.     public ModFriend() {
  27.         super("Friend", ModType.NONE, true, true, ModController.COMMAND);
  28.         setState(true);
  29.         registerCommand(new ModCommand(this, "friend", ".friend [add] [username] [alias]",
  30.                 "Adds the selected user to your friendslist.") {
  31.             @Override
  32.             public void onCommand(String msg, String... args) {
  33.                 try {
  34.                     if(msg.length() > getName().length()) {
  35.                         if(args[0].equalsIgnoreCase("friend")) {
  36.                             if(args[1].equalsIgnoreCase("add")) {
  37.                                 if(!(isFriend(args[2]))) {
  38.                                     getLoadedFriends().add(new ArrayHelper(args[2], msg.substring((args[0].length() + args[1].length()
  39.                                             + args[2].length() + 3))));
  40.                                     Player.addMessage("Added the friend: " + Colours.DARK_AQUA + msg.substring((args[0].length() + args[1].length()
  41.                                             + args[2].length() + 3)) + Colours.RESET + "!");
  42.                                     saveFriends();
  43.                                 } else {
  44.                                     Player.addMessage(Colours.DARK_AQUA + args[2] + Colours.RESET + " is already added!");
  45.                                 }
  46.                             }
  47.                         }
  48.                     }
  49.                 } catch(Exception exception) {
  50.                     Player.addMessage("Syntax: " + getUsage());
  51.                 }
  52.             }
  53.         });
  54.         registerCommand(new ModCommand(this, "friend", ".friend [remove] [username]",
  55.                 "Removes the selected user to your friendslist.") {
  56.             @Override
  57.             public void onCommand(String msg, String... args) {
  58.                 try {
  59.                     if(msg.length() > getName().length()) {
  60.                         if(args[0].equalsIgnoreCase("friend")) {
  61.                             if(args[1].equalsIgnoreCase("remove")) {
  62.                                 removeByAlias(msg.substring((args[0].length() + args[1].length() + 2)));
  63.                                 Player.addMessage("Removed the user: " + Colours.DARK_AQUA
  64.                                         + msg.substring((args[0].length() + args[1].length() + 2)));
  65.                                 saveFriends();
  66.                             }
  67.                         }
  68.                     }
  69.                 } catch(Exception exception) {
  70.                     Player.addMessage("Syntax: " + getUsage());
  71.                 }
  72.             }
  73.         });
  74.         loadFriends();
  75.     }
  76.  
  77.     @Override
  78.     public void init() {
  79.         registerEvent(EventChatSend.class);
  80.         registerEvent(EventStringRendered.class);
  81.         registerEvent(EventAttackEntity.class);
  82.     }
  83.  
  84.     @Override
  85.     public void onEnabled() {
  86.  
  87.     }
  88.  
  89.     @Override
  90.     public void onDisabled() {
  91.  
  92.     }
  93.  
  94.     @Override
  95.     public void onEvent(Event event) {
  96.         if(getState()) {
  97.             if(event instanceof EventChatSend) {
  98.                 for(ArrayHelper<String, String> friend : getLoadedFriends()) {
  99.                     ((EventChatSend)event).setMessage(((EventChatSend)event).getMessage().replace(((String)friend.getObject()[1]),
  100.                             ((String)friend.getObject()[0])));
  101.                 }
  102.             } if(event instanceof EventStringRendered) {
  103.                 for(ArrayHelper<String, String> friend : getLoadedFriends()) {
  104.                     ((EventStringRendered)event).setString(((EventStringRendered)event).getString().replaceAll(((String)friend.getObject()[0]),
  105.                             Colours.DARK_AQUA + ((String)friend.getObject()[1]) + Colours.RESET));
  106.                 }
  107.             } if(event instanceof EventAttackEntity) {
  108.                 if(((EventAttackEntity)event).getTarget() instanceof EntityPlayer) {
  109.                     ((EventAttackEntity)event).setCancelled(isFriend(((EntityPlayer)((EventAttackEntity)event).getTarget()).username));
  110.                 }
  111.             }
  112.         }
  113.     }
  114.  
  115.     public ArrayList<ArrayHelper<String, String>> getLoadedFriends() {
  116.         return loadedFriends;
  117.     }
  118.  
  119.     public void setLoadedFriends(ArrayList<ArrayHelper<String, String>> loadedFriends) {
  120.         this.loadedFriends = loadedFriends;
  121.     }
  122.  
  123.     public boolean isFriend(String alias) {
  124.         for(ArrayHelper<String, String> friend : getLoadedFriends()) {
  125.             if(((String)friend.getObject()[0]).equalsIgnoreCase(StringUtils.stripControlCodes(alias))) {
  126.                 return true;
  127.             }
  128.         }
  129.  
  130.         return false;
  131.     }
  132.  
  133.     public void removeByAlias(String alias) {
  134.         for(ArrayHelper friend : getLoadedFriends()) {
  135.             if(((String)friend.getObject()[1]).equalsIgnoreCase(alias)) {
  136.                 getLoadedFriends().remove(getLoadedFriends().indexOf(friend));
  137.             }
  138.         }
  139.     }
  140.    
  141.     public void saveFriends() {
  142.         try {
  143.             File friendFile = new File(Client.getMinecraft().getMinecraftDir() + "/energy/Friends.gcfg/");
  144.             PrintWriter friendsWriter = new PrintWriter(friendFile);
  145.            
  146.             for(ArrayHelper<String, String> friend : getLoadedFriends()) {
  147.                 friendsWriter.println(friend.getObject()[0] + " --> " + friend.getObject()[1]);
  148.             }
  149.  
  150.             friendsWriter.close();
  151.         } catch(Exception exception) {
  152.             exception.printStackTrace();
  153.         }
  154.     }
  155.  
  156.     public void loadFriends() {
  157.         File friendFile = new File(Client.getMinecraft().getMinecraftDir() + "/energy/Friends.gcfg/");
  158.  
  159.         if(friendFile.exists()) {
  160.             try {
  161.                 BufferedReader friendsReader = new BufferedReader(new FileReader(friendFile));
  162.  
  163.                 try {
  164.                     for(String line = ""; (line = friendsReader.readLine()) != null;) {
  165.                         String[] split = line.split(" --> ");
  166.  
  167.                         getLoadedFriends().add(new ArrayHelper(split[0], split[1]));
  168.                     }
  169.                 } catch(Exception exception) {
  170.                     exception.printStackTrace();
  171.                 }
  172.             } catch(Exception exception) {
  173.                 exception.printStackTrace();
  174.             }
  175.         } else {
  176.             saveFriends();
  177.         }
  178.     }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement