Advertisement
Guest User

Untitled

a guest
Jun 16th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 47.31 KB | None | 0 0
  1.  
  2. import java.net.SocketAddress;
  3. import java.util.ArrayList;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. import java.util.Map.Entry;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import net.minecraft.server.MinecraftServer;
  13.  
  14. public class id extends ej
  15.         implements ef {
  16.  
  17.     public static Logger a = Logger.getLogger("Minecraft");
  18.     public bb b;
  19.     public boolean c = false;
  20.     private MinecraftServer d;
  21.     private ea e;
  22.     private int f = 0;
  23.     private double g;
  24.     private double h;
  25.     private double i;
  26.     private boolean j = true;
  27.     private gp k = null;
  28.     private List<String> onlyOneUseKits = new ArrayList<String>();
  29.  
  30.     public id(MinecraftServer paramMinecraftServer, bb parambb, ea paramea) {
  31.         this.d = paramMinecraftServer;
  32.         this.b = parambb;
  33.         parambb.a(this);
  34.         this.e = paramea;
  35.         paramea.a = this;
  36.     }
  37.  
  38.     public void a() {
  39.         this.b.a();
  40.         if (this.f++ % 20 == 0) {
  41.             this.b.a(new iz());
  42.         }
  43.     }
  44.  
  45.     public void c(String paramString) {
  46.         this.b.a(new io(paramString));
  47.         this.b.c();
  48.         this.d.f.c(this.e);
  49.         this.c = true;
  50.     }
  51.  
  52.     public void a(gf paramgf) {
  53.         double d1;
  54.         if (!this.j) {
  55.             d1 = paramgf.b - this.h;
  56.             if ((paramgf.a == this.g) && (d1 * d1 < 0.01D) && (paramgf.c == this.i)) {
  57.                 this.j = true;
  58.             }
  59.         }
  60.         if (this.j) {
  61.             this.g = this.e.l;
  62.             this.h = this.e.m;
  63.             this.i = this.e.n;
  64.  
  65.             d1 = this.e.l;
  66.             double d2 = this.e.m;
  67.             double d3 = this.e.n;
  68.  
  69.             float f1 = this.e.r;
  70.             float f2 = this.e.s;
  71.  
  72.             if (paramgf.h) {
  73.                 d1 = paramgf.a;
  74.                 d2 = paramgf.b;
  75.                 d3 = paramgf.c;
  76.                 double d4 = paramgf.d - paramgf.b;
  77.                 if ((d4 > 1.65D) || (d4 < 0.1D)) {
  78.                     c("Illegal stance");
  79.                     a.warning(this.e.aq + " had an illegal stance: " + d4);
  80.                 }
  81.                 this.e.ai = paramgf.d;
  82.             }
  83.             if (paramgf.i) {
  84.                 f1 = paramgf.e;
  85.                 f2 = paramgf.f;
  86.             }
  87.  
  88.             this.e.i();
  89.             this.e.M = 0.0F;
  90.             this.e.b(this.g, this.h, this.i, f1, f2);
  91.  
  92.             double d4 = d1 - this.e.l;
  93.             double d5 = d2 - this.e.m;
  94.             double d6 = d3 - this.e.n;
  95.  
  96.             float f3 = 0.0625F;
  97.             int m = this.d.e.a(this.e, this.e.v.b().e(f3, f3, f3)).size() == 0 ? 1 : 0;
  98.  
  99.             this.e.c(d4, d5, d6);
  100.             d4 = d1 - this.e.l;
  101.             d5 = d2 - this.e.m;
  102.             if ((d5 > -0.5D) || (d5 < 0.5D)) {
  103.                 d5 = 0.0D;
  104.             }
  105.             d6 = d3 - this.e.n;
  106.             double d7 = d4 * d4 + d5 * d5 + d6 * d6;
  107.             int n = 0;
  108.             if (d7 > 0.0625D) {
  109.                 n = 1;
  110.                 a.warning(this.e.aq + " moved wrongly!");
  111.             }
  112.             this.e.b(d1, d2, d3, f1, f2);
  113.  
  114.             int i1 = this.d.e.a(this.e, this.e.v.b().e(f3, f3, f3)).size() == 0 ? 1 : 0;
  115.             if ((m != 0) && ((n != 0) || (i1 == 0))) {
  116.                 a(this.g, this.h, this.i, f1, f2);
  117.                 return;
  118.             }
  119.  
  120.             this.e.w = paramgf.g;
  121.             this.d.f.b(this.e);
  122.         }
  123.     }
  124.  
  125.     public void a(double paramDouble1, double paramDouble2, double paramDouble3, float paramFloat1, float paramFloat2) {
  126.         this.j = false;
  127.         this.g = paramDouble1;
  128.         this.h = paramDouble2;
  129.         this.i = paramDouble3;
  130.         this.e.b(paramDouble1, paramDouble2, paramDouble3, paramFloat1, paramFloat2);
  131.         this.e.a.b(new dq(paramDouble1, paramDouble2 + 1.620000004768372D, paramDouble2, paramDouble3, paramFloat1, paramFloat2, false));
  132.     }
  133.  
  134.     //Destroy function
  135.     public void a(hd paramhd) {
  136.         this.e.aj.a[this.e.aj.d] = this.k;
  137.         boolean bool = this.d.e.z = (this.d.f.g(this.e.aq) || etc.getInstance().isAdmin(e));
  138.         int m = 0;
  139.         if (paramhd.e == 0) {
  140.             m = 1;
  141.         }
  142.         if (paramhd.e == 1) {
  143.             m = 1;
  144.         }
  145.  
  146.         if (m != 0) {
  147.             double d1 = this.e.m;
  148.             this.e.m = this.e.ai;
  149.             fr localfr = this.e.a(4.0D, 1.0F);
  150.             this.e.m = d1;
  151.             if (localfr == null) {
  152.                 return;
  153.             }
  154.             if ((localfr.b != paramhd.a) || (localfr.c != paramhd.b) || (localfr.d != paramhd.c) || (localfr.e != paramhd.d)) {
  155.                 return;
  156.             }
  157.         }
  158.         int n = paramhd.a;
  159.         int i1 = paramhd.b;
  160.         int i2 = paramhd.c;
  161.         int i3 = paramhd.d;
  162.         int i4 = (int) gj.e(n - this.d.e.n);
  163.         int i5 = (int) gj.e(i2 - this.d.e.p);
  164.         if (i4 > i5) {
  165.             i5 = i4;
  166.         }
  167.         if (paramhd.e == 0) {
  168.             if (!etc.getInstance().canBuild(e)) {
  169.                 return;
  170.             }
  171.             if (i5 > etc.getInstance().spawnProtectionSize || bool) {
  172.                 this.e.ad.a(n, i1, i2);
  173.             }
  174.         } else if (paramhd.e == 2) {
  175.             this.e.ad.a();
  176.         } else if (paramhd.e == 1) {
  177.             if (!etc.getInstance().canBuild(e)) {
  178.                 return;
  179.             }
  180.             if (i5 > etc.getInstance().spawnProtectionSize || bool) {
  181.                 this.e.ad.a(n, i1, i2, i3);
  182.             }
  183.         } else if (paramhd.e == 3) {
  184.             double d2 = this.e.l - (n + 0.5D);
  185.             double d3 = this.e.m - (i1 + 0.5D);
  186.             double d4 = this.e.n - (i2 + 0.5D);
  187.             double d5 = d2 * d2 + d3 * d3 + d4 * d4;
  188.             if (d5 < 256.0D) {
  189.                 this.e.a.b(new et(n, i1, i2, this.d.e));
  190.             }
  191.         }
  192.         this.d.e.z = false;
  193.     }
  194.  
  195.     //Build function
  196.     public void a(fe paramfe) {
  197.         if (!etc.getInstance().canBuild(e)) {
  198.             return;
  199.         }
  200.         boolean bool = this.d.e.z = (this.d.f.g(this.e.aq) || etc.getInstance().isAdmin(e));
  201.         int m = paramfe.b;
  202.         int n = paramfe.c;
  203.         int i1 = paramfe.d;
  204.         int i2 = paramfe.e;
  205.         int i3 = (int) gj.e(m - this.d.e.n);
  206.         int i4 = (int) gj.e(i1 - this.d.e.p);
  207.         if (i3 > i4) {
  208.             i4 = i3;
  209.         }
  210.         if (i4 > etc.getInstance().spawnProtectionSize || bool) {
  211.             gp localgp = paramfe.a >= 0 ? new gp(paramfe.a) : null;
  212.  
  213.             if (localgp != null) {
  214.                 if (!etc.getInstance().isOnItemBlacklist(localgp.c) || bool) {
  215.                     this.e.ad.a(this.e, this.d.e, localgp, m, n, i1, i2);
  216.                 }
  217.             } else {
  218.                 // is this right?
  219.                 this.e.ad.a(this.e, this.d.e, localgp, m, n, i1, i2);
  220.             }
  221.         }
  222.         this.e.a.b(new et(m, n, i1, this.d.e));
  223.         this.d.e.z = false;
  224.     }
  225.  
  226.     public void a(String paramString) {
  227.         a.info(this.e.aq + " lost connection: " + paramString);
  228.         this.d.f.c(this.e);
  229.         this.c = true;
  230.     }
  231.  
  232.     public void a(hp paramhp) {
  233.         a.warning(getClass() + " wasn't prepared to deal with a " + paramhp.getClass());
  234.         c("Protocol error, unexpected packet");
  235.     }
  236.  
  237.     public void b(hp paramhp) {
  238.         this.b.a(paramhp);
  239.     }
  240.  
  241.     public void a(fv paramfv) {
  242.         int m = paramfv.b;
  243.         this.e.aj.d = (this.e.aj.a.length - 1);
  244.         if (m == 0) {
  245.             this.k = null;
  246.         } else {
  247.             this.k = new gp(m);
  248.         }
  249.         this.e.aj.a[this.e.aj.d] = this.k;
  250.         this.d.k.a(this.e, new fv(this.e.c, m));
  251.     }
  252.  
  253.     public void a(k paramk) {
  254.         double d1 = paramk.b / 32.0D;
  255.         double d2 = paramk.c / 32.0D;
  256.         double d3 = paramk.d / 32.0D;
  257.         fn localfn = new fn(this.d.e, d1, d2, d3, new gp(paramk.h, paramk.i));
  258.         localfn.o = (paramk.e / 128.0D);
  259.         localfn.p = (paramk.f / 128.0D);
  260.         localfn.q = (paramk.g / 128.0D);
  261.         localfn.ad = 10;
  262.         this.d.e.a(localfn);
  263.     }
  264.  
  265.     public void a(ba paramba) {
  266.         String str = paramba.a;
  267.         if (str.length() > 100) {
  268.             b("Chat message too long");
  269.             return;
  270.         }
  271.         str = str.trim();
  272.         for (int k = 0; k < str.length(); ++k) {
  273.             if (" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'abcdefghijklmnopqrstuvwxyz{|}~¦ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»".indexOf(str.charAt(k)) < 0) {
  274.                 b("Illegal characters in chat");
  275.                 return;
  276.             }
  277.         }
  278.  
  279.         if (str.startsWith("/")) {
  280.             d(str);
  281.         } else {
  282.             if (etc.getInstance().isMuted(e)) {
  283.                 msg(Colors.Rose + "You are currently muted.");
  284.                 return;
  285.             }
  286.            
  287.             etc.getInstance().getLoader().callHook(PluginLoader.HOOKS.CHAT, new Object[]{e, str});
  288.             String message = "<" + etc.getInstance().getUserColor(e.aq) + this.e.aq + Colors.White + "> " + str;
  289.             a.log(Level.INFO, "<" + e.aq + "> " + str);
  290.             this.d.f.a(new ba(message));
  291.         }
  292.     }
  293.  
  294.     private ea match(String name) {
  295.         ea player = null;
  296.         boolean found = false;
  297.         if (("`" + this.d.f.c().toUpperCase() + "`").split(name.toUpperCase()).length == 2) {
  298.             for (int i = 0; i < this.d.f.b.size() && !found; ++i) {
  299.                 ea localea = (ea) this.d.f.b.get(i);
  300.                 if (("`" + localea.aq.toUpperCase() + "`").split(name.toUpperCase()).length == 2) {
  301.                     player = localea;
  302.                     found = true;
  303.                 }
  304.             }
  305.         } else if (("`" + this.d.f.c() + "`").split(name).length > 2) {
  306.             // Too many partial matches.
  307.             for (int i = 0; i < this.d.f.b.size() && !found; ++i) {
  308.                 ea localea = (ea) this.d.f.b.get(i);
  309.                 if (localea.aq.equalsIgnoreCase(name)) {
  310.                     player = localea;
  311.                     found = true;
  312.                 }
  313.             }
  314.         }
  315.         return player;
  316.     }
  317.  
  318.     public static String combineSplit(int startIndex, String[] string, String seperator) {
  319.         StringBuilder builder = new StringBuilder();
  320.         for (int i = startIndex; i < string.length; i++) {
  321.             builder.append(string[i]);
  322.             builder.append(seperator);
  323.         }
  324.         builder.deleteCharAt(builder.length() - seperator.length()); // remove the extra
  325.         // seperator
  326.         return builder.toString();
  327.     }
  328.  
  329.     public boolean hasControlOver(ea player) {
  330.         boolean isInGroup = false;
  331.  
  332.         if (etc.getInstance().getUser(player.aq) != null) {
  333.             for (String str : etc.getInstance().getUser(player.aq).Groups) {
  334.                 if (etc.getInstance().isUserInGroup(e, str)) {
  335.                     isInGroup = true;
  336.                 }
  337.             }
  338.         } else {
  339.             return true;
  340.         }
  341.  
  342.         return isInGroup;
  343.     }
  344.  
  345.     public void msg(String msg) {
  346.         b(new ba(msg));
  347.     }
  348.  
  349.     private void d(String paramString) {
  350.         try {
  351.             if (etc.getInstance().isLogging()) {
  352.                 a.info("Command used by " + e.aq + " " + paramString);
  353.             }
  354.             String[] split = paramString.split(" ");
  355.             if (etc.getInstance().getLoader().callHook(PluginLoader.HOOKS.COMMAND, new Object[]{e, split})) {
  356.                 return; //No need to go on, commands were parsed.
  357.             }
  358.             if (!etc.getInstance().canUseCommand(e.aq, split[0]) && !split[0].startsWith("/#")) {
  359.                 msg(Colors.Rose + "Unknown command.");
  360.                 return;
  361.             }
  362.             if (split[0].equalsIgnoreCase("/help")) {
  363.                 //Meh, not the greatest way, but not the worst either.
  364.                 List<String> availableCommands = new ArrayList<String>();
  365.                 for (Entry<String, String> entry : etc.getInstance().commands.entrySet()) {
  366.                     if (etc.getInstance().canUseCommand(e.aq, entry.getKey())) {
  367.                         if (entry.getKey().equals("/kit") && !etc.getInstance().getDataSource().hasKits()) {
  368.                             continue;
  369.                         }
  370.                         if (entry.getKey().equals("/listwarps") && !etc.getInstance().getDataSource().hasWarps()) {
  371.                             continue;
  372.                         }
  373.  
  374.                         availableCommands.add(entry.getKey() + " " + entry.getValue());
  375.                     }
  376.                 }
  377.  
  378.                 msg(Colors.Blue + "Available commands (Page " + (split.length == 2 ? split[1] : "1") + " of " + (int) Math.ceil((double) availableCommands.size() / (double) 7) + ") [] = required <> = optional:");
  379.                 if (split.length == 2) {
  380.                     try {
  381.                         int amount = Integer.parseInt(split[1]);
  382.  
  383.                         if (amount > 0) {
  384.                             amount = (amount - 1) * 7;
  385.                         } else {
  386.                             amount = 0;
  387.                         }
  388.  
  389.                         for (int i = amount; i < amount + 7; i++) {
  390.                             if (availableCommands.size() > i) {
  391.                                 msg(Colors.Rose + availableCommands.get(i));
  392.                             }
  393.                         }
  394.                     } catch (NumberFormatException ex) {
  395.                         msg(Colors.Rose + "Not a valid page number.");
  396.                     }
  397.                 } else {
  398.                     for (int i = 0; i < 7; i++) {
  399.                         if (availableCommands.size() > i) {
  400.                             msg(Colors.Rose + availableCommands.get(i));
  401.                         }
  402.                     }
  403.                 }
  404.             } else if (split[0].equalsIgnoreCase("/reload")) {
  405.                 etc.getInstance().load();
  406.                 etc.getInstance().loadData();
  407.                 a.info("Reloaded config");
  408.                 msg("Successfuly reloaded config");
  409.             } else if ((split[0].equalsIgnoreCase("/modify") || split[0].equalsIgnoreCase("/mp"))) {
  410.                 if (split.length < 4) {
  411.                     msg(Colors.Rose + "Usage is: /modify [player] [key] [value]");
  412.                     msg(Colors.Rose + "Keys:");
  413.                     msg(Colors.Rose + "prefix: only the letter the color represents");
  414.                     msg(Colors.Rose + "commands: list seperated by comma");
  415.                     msg(Colors.Rose + "groups: list seperated by comma");
  416.                     msg(Colors.Rose + "ignoresrestrictions: true or false");
  417.                     msg(Colors.Rose + "admin: true or false");
  418.                     msg(Colors.Rose + "modworld: true or false");
  419.                     return;
  420.                 }
  421.  
  422.                 ea player = match(split[1]);
  423.  
  424.                 if (player == null) {
  425.                     msg(Colors.Rose + "Player does not exist.");
  426.                     return;
  427.                 }
  428.  
  429.                 String key = split[2];
  430.                 String value = split[3];
  431.                 User user = etc.getInstance().getUser(split[1]);
  432.                 boolean newUser = false;
  433.  
  434.                 if (user == null) {
  435.                     if (!key.equalsIgnoreCase("groups") && !key.equalsIgnoreCase("g")) {
  436.                         msg(Colors.Rose + "When adding a new user, set their group(s) first.");
  437.                         return;
  438.                     }
  439.                     msg(Colors.Rose + "Adding new user.");
  440.                     newUser = true;
  441.                     user = new User();
  442.                     user.Name = split[1];
  443.                     user.Administrator = false;
  444.                     user.CanModifyWorld = true;
  445.                     user.IgnoreRestrictions = false;
  446.                     user.Commands = new String[]{""};
  447.                     user.Prefix = "";
  448.                 }
  449.  
  450.                 if (key.equalsIgnoreCase("prefix") || key.equalsIgnoreCase("p")) {
  451.                     user.Prefix = value;
  452.                 } else if (key.equalsIgnoreCase("commands") || key.equalsIgnoreCase("c")) {
  453.                     user.Commands = value.split(",");
  454.                 } else if (key.equalsIgnoreCase("groups") || key.equalsIgnoreCase("g")) {
  455.                     user.Groups = value.split(",");
  456.                 } else if (key.equalsIgnoreCase("ignoresrestrictions") || key.equalsIgnoreCase("ir")) {
  457.                     user.IgnoreRestrictions = value.equalsIgnoreCase("true") || value.equals("1");
  458.                 } else if (key.equalsIgnoreCase("admin") || key.equalsIgnoreCase("a")) {
  459.                     user.Administrator = value.equalsIgnoreCase("true") || value.equals("1");
  460.                 } else if (key.equalsIgnoreCase("modworld") || key.equalsIgnoreCase("mw")) {
  461.                     user.CanModifyWorld = value.equalsIgnoreCase("true") || value.equals("1");
  462.                 }
  463.  
  464.                 if (newUser) {
  465.                     etc.getInstance().getDataSource().addUser(user);
  466.                 } else {
  467.                     etc.getInstance().getDataSource().modifyUser(user);
  468.                 }
  469.                 msg(Colors.Rose + "Modified user.");
  470.                 a.info("Modifed user " + split[1] + ". " + key + " => " + value + " by " + e.aq);
  471.             } else if (split[0].equalsIgnoreCase("/whitelist")) {
  472.                 if (split.length < 2) {
  473.                     msg(Colors.Rose + "whitelist [operation (toggle, add or remove)] <player>");
  474.                     return;
  475.                 }
  476.  
  477.                 if (split[1].equalsIgnoreCase("toggle")) {
  478.                     msg(Colors.Rose + (etc.getInstance().toggleWhitelist() ? "Whitelist enabled" : "Whitelist disabled"));
  479.                 } else if(split.length == 3) {
  480.                     if (split[1].equalsIgnoreCase("add")) {
  481.                         etc.getInstance().getDataSource().addToWhitelist(split[2]);
  482.                         msg(Colors.Rose + split[2] + " added to whitelist");
  483.                     } else if (split[1].equalsIgnoreCase("remove")) {
  484.                         etc.getInstance().getDataSource().removeFromWhitelist(split[2]);
  485.                         msg(Colors.Rose + split[2] + " removed from whitelist");
  486.                     } else {
  487.                         msg(Colors.Rose + "Invalid operation.");
  488.                     }
  489.                 } else {
  490.                     msg(Colors.Rose + "Invalid operation.");
  491.                 }
  492.             } else if (split[0].equalsIgnoreCase("/reservelist")) {
  493.                 if (split.length != 3) {
  494.                     msg(Colors.Rose + "reservelist [operation (add or remove)] [player]");
  495.                     return;
  496.                 }
  497.  
  498.                 if (split[1].equalsIgnoreCase("add")) {
  499.                     etc.getInstance().getDataSource().addToReserveList(split[2]);
  500.                     msg(Colors.Rose + split[2] + " added to reservelist");
  501.                 } else if (split[1].equalsIgnoreCase("remove")) {
  502.                     etc.getInstance().getDataSource().removeFromReserveList(split[2]);
  503.                     msg(Colors.Rose + split[2] + " removed from reservelist");
  504.                 } else {
  505.                     msg(Colors.Rose + "Invalid operation.");
  506.                 }
  507.             } else if (split[0].equalsIgnoreCase("/mute")) {
  508.                 if (split.length != 2) {
  509.                     msg(Colors.Rose + "Correct usage is: /mute [player]");
  510.                     return;
  511.                 }
  512.  
  513.                 ea player = match(split[1]);
  514.  
  515.                 if (player != null) {
  516.                     if (etc.getInstance().toggleMute(player)) {
  517.                         msg(Colors.Rose + "player was muted");
  518.                     } else {
  519.                         msg(Colors.Rose + "player was unmuted");
  520.                     }
  521.                 } else {
  522.                     msg(Colors.Rose + "Can't find player " + split[1]);
  523.                 }
  524.             } else if ((split[0].equalsIgnoreCase("/msg") || split[0].equalsIgnoreCase("/tell")) || split[0].equalsIgnoreCase("/m")) {
  525.                 if (split.length < 3) {
  526.                     msg(Colors.Rose + "Correct usage is: /msg [player] [message]");
  527.                     return;
  528.                 }
  529.                 if (etc.getInstance().isMuted(e)) {
  530.                     msg(Colors.Rose + "You are currently muted.");
  531.                     return;
  532.                 }
  533.  
  534.                 ea player = match(split[1]);
  535.  
  536.                 if (player != null) {
  537.                     if (player.aq.equals(e.aq)) {
  538.                         msg(Colors.Rose + "You can't message yourself!");
  539.                         return;
  540.                     }
  541.                     String prefix = etc.getInstance().getUserColor(e.aq);
  542.  
  543.                     player.a.msg("(MSG) " + prefix + "<" + e.aq + "> " + Colors.White + combineSplit(2, split, " "));
  544.                     msg("(MSG) " + prefix + "<" + e.aq + "> " + Colors.White + combineSplit(2, split, " "));
  545.                 } else {
  546.                     msg(Colors.Rose + "Couldn't find player " + split[1]);
  547.                 }
  548.             } else if (split[0].equalsIgnoreCase("/kit") && etc.getInstance().getDataSource().hasKits()) {
  549.                 if (split.length != 2 && split.length != 3) {
  550.                     msg(Colors.Rose + "Available kits: " + Colors.White + etc.getInstance().getDataSource().getKitNames(e.aq));
  551.                     return;
  552.                 }
  553.  
  554.                 ea toGive = e;
  555.                 if (split.length > 2 && etc.getInstance().canIgnoreRestrictions(e)) {
  556.                     toGive = match(split[1]);
  557.                 }
  558.  
  559.                 Kit kit = etc.getInstance().getDataSource().getKit(split[1]);
  560.                 if (toGive != null) {
  561.                     if (kit != null) {
  562.                         if (!etc.getInstance().isUserInGroup(e, kit.Group) && !kit.Group.equals("")) {
  563.                             msg(Colors.Rose + "That kit does not exist.");
  564.                         } else if (onlyOneUseKits.contains(kit.Name)) {
  565.                             msg(Colors.Rose + "You can only get this kit once per login.");
  566.                         } else if (MinecraftServer.b.containsKey(this.e.aq + " " + kit.Name)) {
  567.                             msg(Colors.Rose + "You can't get this kit again for a while.");
  568.                         } else {
  569.                             if (!etc.getInstance().canIgnoreRestrictions(e)) {
  570.                                 if (kit.Delay >= 0) {
  571.                                     MinecraftServer.b.put(this.e.aq + " " + kit.Name, kit.Delay);
  572.                                 } else {
  573.                                     onlyOneUseKits.add(kit.Name);
  574.                                 }
  575.                             }
  576.  
  577.                             a.info(this.e.aq + " got a kit!");
  578.                             toGive.a.msg(Colors.Rose + "Enjoy this kit!");
  579.                             for (Map.Entry<String, Integer> entry : kit.IDs.entrySet()) {
  580.                                 try {
  581.                                     int itemId = 0;
  582.                                     try {
  583.                                         itemId = Integer.parseInt(entry.getKey());
  584.                                     } catch (NumberFormatException n) {
  585.                                         itemId = etc.getInstance().getDataSource().getItem(entry.getKey());
  586.                                     }
  587.  
  588.                                     int temp = kit.IDs.get(entry.getKey());
  589.                                     do {
  590.                                         if (temp - 64 >= 64) {
  591.                                             toGive.a(new gp(itemId, 64));
  592.                                         } else {
  593.                                             toGive.a(new gp(itemId, temp));
  594.                                         }
  595.                                         temp -= 64;
  596.                                     } while (temp >= 64);
  597.                                 } catch (Exception e1) {
  598.                                     a.info("Got an exception while giving out a kit (Kit name \"" + kit.Name + "\"). Are you sure all the Ids are numbers?");
  599.                                     msg(Colors.Rose + "The server encountered a problem while giving the kit :(");
  600.                                 }
  601.                             }
  602.                         }
  603.                     } else {
  604.                         msg(Colors.Rose + "That kit does not exist.");
  605.                     }
  606.                 } else {
  607.                     msg(Colors.Rose + "That user does not exist.");
  608.                 }
  609.             } else if (split[0].equalsIgnoreCase("/tp")) {
  610.                 if (split.length < 2) {
  611.                     msg(Colors.Rose + "Correct usage is: /tp [player]");
  612.                     return;
  613.                 }
  614.  
  615.                 ea player = match(split[1]);
  616.  
  617.                 if (this.e.aq.equalsIgnoreCase(split[1])) {
  618.                     msg(Colors.Rose + "You're already here!");
  619.                     return;
  620.                 }
  621.  
  622.                 if (player != null) {
  623.                     a.info(this.e.aq + " teleported to " + player.aq);
  624.                     a(player.l, player.m, player.n, player.r, player.s);
  625.                 } else {
  626.                     msg(Colors.Rose + "Can't find user " + split[1] + ".");
  627.                 }
  628.             } else if ((split[0].equalsIgnoreCase("/tphere") || split[0].equalsIgnoreCase("/s"))) {
  629.                 if (split.length < 2) {
  630.                     msg(Colors.Rose + "Correct usage is: /tphere [player]");
  631.                     return;
  632.                 }
  633.  
  634.                 ea player = match(split[1]);
  635.  
  636.                 if (this.e.aq.equalsIgnoreCase(split[1])) {
  637.                     msg(Colors.Rose + "Wow look at that! You teleported yourself to yourself!");
  638.                     return;
  639.                 }
  640.  
  641.                 if (player != null) {
  642.                     a.info(this.e.aq + " teleported " + player.aq + " to their self.");
  643.                     player.a.a(e.l, e.m, e.n, e.r, e.s);
  644.                 } else {
  645.                     msg(Colors.Rose + "Can't find user " + split[1] + ".");
  646.                 }
  647.             } else if (split[0].equalsIgnoreCase("/playerlist") || split[0].equalsIgnoreCase("/who")) {
  648.                 msg(Colors.Rose + "Player list (" + d.f.b.size() + "/" + etc.getInstance().playerLimit + "): " + Colors.White + d.f.c());
  649.             } else if (split[0].equalsIgnoreCase("/item") || split[0].equalsIgnoreCase("/i") || split[0].equalsIgnoreCase("/give")) {
  650.                 if (split.length < 2) {
  651.                     if (etc.getInstance().canIgnoreRestrictions(e)) {
  652.                         msg(Colors.Rose + "Correct usage is: /item [itemid] <amount> <player> (optional)");
  653.                     } else {
  654.                         msg(Colors.Rose + "Correct usage is: /item [itemid] <amount>");
  655.                     }
  656.                     return;
  657.                 }
  658.  
  659.                 ea toGive = e;
  660.                 if (split.length == 4 && etc.getInstance().canIgnoreRestrictions(e)) {
  661.                     toGive = match(split[3]);
  662.                 }
  663.  
  664.                 if (toGive != null) {
  665.                     try {
  666.                         int i2 = 0;
  667.                         try {
  668.                             i2 = Integer.parseInt(split[1]);
  669.                         } catch (NumberFormatException n) {
  670.                             i2 = etc.getInstance().getDataSource().getItem(split[1]);
  671.                         }
  672.                         int i3 = 1;
  673.                         if (split.length > 2) {
  674.                             i3 = Integer.parseInt(split[2]);
  675.                         }
  676.  
  677.                         String i2str = Integer.toString(i2);
  678.                         if (i3 == -1 && etc.getInstance().isAdmin(e)) {
  679.                             i3 = 255;
  680.                         } else if (i3 <= 0) {
  681.                             i3 = 1;
  682.                         }
  683.                         if (i3 > 64 && !etc.getInstance().canIgnoreRestrictions(this.e)) {
  684.                             i3 = 64;
  685.                         }
  686.  
  687.                         boolean allowedItem = false;
  688.                         if (!etc.getInstance().allowedItems[0].equals("") && (!etc.getInstance().canIgnoreRestrictions(this.e))) {
  689.                             for (String str : etc.getInstance().allowedItems) {
  690.                                 if (i2str.equals(str)) {
  691.                                     allowedItem = true;
  692.                                 }
  693.                             }
  694.                         } else {
  695.                             allowedItem = true;
  696.                         }
  697.                         if (!etc.getInstance().disallowedItems[0].equals("") && !etc.getInstance().canIgnoreRestrictions(this.e)) {
  698.                             for (String str : etc.getInstance().disallowedItems) {
  699.                                 if (i2str.equals(str)) {
  700.                                     allowedItem = false;
  701.                                 }
  702.                             }
  703.                         }
  704.                         if (i2 < ez.c.length) {
  705.                             if (ez.c[i2] != null && (allowedItem || etc.getInstance().canIgnoreRestrictions(this.e))) {
  706.                                 a.log(Level.INFO, "Giving " + toGive.aq + " some " + i2);
  707.                                 if (i3 == 255) {
  708.                                     toGive.a(new gp(i2, 255));
  709.                                 } else {
  710.                                     int temp = i3;
  711.                                     if (temp >= 257) {
  712.                                         msg(Colors.Red + "Are you trying to break the server?");
  713.                                         msg(Colors.Red + "The LIMIT is 256");
  714.                                         return;
  715.                                     }
  716.                                     do {
  717.                                         if (temp - 64 >= 64) {
  718.                                             toGive.a(new gp(i2, 64));
  719.                                         } else {
  720.                                             toGive.a(new gp(i2, temp));
  721.                                         }
  722.                                         temp -= 64;
  723.                                     } while (temp >= 64);
  724.                                 }
  725.  
  726.                                 if (toGive == this.e) {
  727.                                     msg(Colors.Rose + "There you go c:");
  728.                                 } else {
  729.                                     msg(Colors.Rose + "Gift given! :D");
  730.                                     toGive.a.msg(Colors.Rose + "Enjoy your gift! :D");
  731.                                 }
  732.                             } else if ((!allowedItem) && (ez.c[i2] != null) && !etc.getInstance().canIgnoreRestrictions(this.e)) {
  733.                                 msg(Colors.Rose + "You are not allowed to spawn that item.");
  734.                             } else {
  735.                                 msg(Colors.Rose + "No item with ID " + split[1]);
  736.                             }
  737.                         } else {
  738.                             msg(Colors.Rose + "No item with ID " + split[1]);
  739.                         }
  740.                     } catch (NumberFormatException localNumberFormatException) {
  741.                         msg(Colors.Rose + "Improper ID and/or amount.");
  742.                     }
  743.                 } else {
  744.                     msg(Colors.Rose + "Can't find user " + split[3]);
  745.                 }
  746.             } else if (split[0].equalsIgnoreCase("/tempban")) {
  747.                 // /tempban MINUTES HOURS DAYS
  748.                 if (split.length == 1) {
  749.                     //TODO;
  750.                     return;
  751.                 }
  752.                 int minutes = 0, hours = 0, days = 0;
  753.                 if (split.length >= 2) {
  754.                     minutes = Integer.parseInt(split[1]);
  755.                 }
  756.                 if (split.length >= 3) {
  757.                     hours = Integer.parseInt(split[2]);
  758.                 }
  759.                 if (split.length >= 4) {
  760.                     days = Integer.parseInt(split[3]);
  761.                 }
  762.                 Date date = new Date();
  763.                 //date.
  764.             } else if (split[0].equalsIgnoreCase("/banlist")) {
  765.                 byte type = 0;
  766.                 if (split.length == 2) {
  767.                     if (split[1].equalsIgnoreCase("ips")) {
  768.                         type = 1;
  769.                     }
  770.                 }
  771.                 if (type == 0) { //Regular user bans
  772.                     msg(Colors.Blue + "Ban list:" + Colors.White + " " + d.f.getBans());
  773.                 } else { //IP bans
  774.                     msg(Colors.Blue + "IP Ban list:" + Colors.White + " " + d.f.getBans());
  775.                 }
  776.             } else if (split[0].equalsIgnoreCase("/banip")) {
  777.                 if (split.length < 2) {
  778.                     msg(Colors.Rose + "Correct usage is: /banip [player] <reason> (optional) NOTE: this permabans IPs.");
  779.                     return;
  780.                 }
  781.  
  782.                 ea player = match(split[1]);
  783.  
  784.                 if (player != null) {
  785.                     if (!hasControlOver(player)) {
  786.                         msg(Colors.Rose + "You can't ban that user.");
  787.                         return;
  788.                     }
  789.  
  790.                     // adds player to ban list
  791.                     this.d.f.c(player.a.b.b().toString().split(":")[0].substring(1));
  792.  
  793.                     etc.getInstance().getLoader().callHook(PluginLoader.HOOKS.IPBAN, new Object[]{e, split.length > 2 ? split[1] : ""});
  794.  
  795.                     a.log(Level.INFO, "IP Banning " + player.aq + " (IP: " + player.a.b.b().toString() + ")");
  796.                     msg(Colors.Rose + "IP Banning " + player.aq + " (IP: " + player.a.b.b().toString() + ")");
  797.  
  798.                     if (split.length > 2) {
  799.                         player.a.c("IP Banned by " + e.aq + ": " + combineSplit(2, split, " "));
  800.                     } else {
  801.                         player.a.c("IP Banned by " + e.aq + ".");
  802.                     }
  803.                 } else {
  804.                     msg(Colors.Rose + "Can't find user " + split[1] + ".");
  805.                 }
  806.             } else if (split[0].equalsIgnoreCase("/ban")) {
  807.                 if (split.length < 2) {
  808.                     msg(Colors.Rose + "Correct usage is: /ban [player] <reason> (optional)");
  809.                     return;
  810.                 }
  811.  
  812.                 ea player = match(split[1]);
  813.  
  814.                 if (player != null) {
  815.                     if (!hasControlOver(player)) {
  816.                         msg(Colors.Rose + "You can't ban that user.");
  817.                         return;
  818.                     }
  819.  
  820.                     // adds player to ban list
  821.                     this.d.f.a(player.aq);
  822.  
  823.                     etc.getInstance().getLoader().callHook(PluginLoader.HOOKS.BAN, new Object[]{e, split.length > 2 ? split[1] : ""});
  824.  
  825.                     if (split.length > 2) {
  826.                         player.a.c("Banned by " + e.aq + ": " + combineSplit(2, split, " "));
  827.                     } else {
  828.                         player.a.c("Banned by " + e.aq + ".");
  829.                     }
  830.                     a.log(Level.INFO, "Banning " + player.aq);
  831.                     msg(Colors.Rose + "Banning " + player.aq);
  832.                 } else {
  833.                     msg(Colors.Rose + "Can't find user " + split[1] + ".");
  834.                 }
  835.             } else if (split[0].equalsIgnoreCase("/unban")) {
  836.                 if (split.length != 2) {
  837.                     msg(Colors.Rose + "Correct usage is: /unban [player]");
  838.                     return;
  839.                 }
  840.                 this.d.f.b(split[1]);
  841.                 msg(Colors.Rose + "Unbanned " + split[1]);
  842.             } else if (split[0].equalsIgnoreCase("/unbanip")) {
  843.                 if (split.length != 2) {
  844.                     msg(Colors.Rose + "Correct usage is: /unbanip [ip]");
  845.                     return;
  846.                 }
  847.                 this.d.f.d(split[1]);
  848.                 msg(Colors.Rose + "Unbanned " + split[1]);
  849.             } else if (split[0].equalsIgnoreCase("/kick")) {
  850.                 if (split.length < 2) {
  851.                     msg(Colors.Rose + "Correct usage is: /kick [player] <reason> (optional)");
  852.                     return;
  853.                 }
  854.  
  855.                 ea player = match(split[1]);
  856.  
  857.                 if (player != null) {
  858.                     if (!hasControlOver(player)) {
  859.                         msg(Colors.Rose + "You can't kick that user.");
  860.                         return;
  861.                     }
  862.  
  863.                     etc.getInstance().getLoader().callHook(PluginLoader.HOOKS.KICK, new Object[]{e, split.length > 2 ? split[1] : ""});
  864.  
  865.                     if (split.length > 2) {
  866.                         player.a.c("Kicked by " + e.aq + ": " + combineSplit(2, split, " "));
  867.                     } else {
  868.                         player.a.c("Kicked by " + e.aq + ".");
  869.                     }
  870.                     a.log(Level.INFO, "Kicking " + player.aq);
  871.                     msg(Colors.Rose + "Kicking " + player.aq);
  872.                 } else {
  873.                     msg(Colors.Rose + "Can't find user " + split[1] + ".");
  874.                 }
  875.             } else if (split[0].equalsIgnoreCase("/me")) {
  876.                 if (etc.getInstance().isMuted(e)) {
  877.                     msg(Colors.Rose + "You are currently muted.");
  878.                     return;
  879.                 }
  880.                 if (split.length == 1)
  881.                     return;
  882.                 String prefix = etc.getInstance().getUserColor(e.aq);
  883.                 String paramString2 = "* " + prefix + this.e.aq + Colors.White + " " + paramString.substring(paramString.indexOf(" ")).trim();
  884.                 a.info("* " + this.e.aq + " " + paramString.substring(paramString.indexOf(" ")).trim());
  885.                 this.d.f.a(new ba(paramString2));
  886.             } else if (split[0].equalsIgnoreCase("/sethome")) {
  887.                 // player.k, player.l, player.m
  888.                 // x, y, z
  889.                 Location loc = new Location();
  890.                 loc.x = e.l;
  891.                 loc.y = e.m;
  892.                 loc.z = e.n;
  893.                 loc.rotX = e.r;
  894.                 loc.rotY = e.s;
  895.                 Warp home = new Warp();
  896.                 home.Location = loc;
  897.                 home.Group = ""; //no group neccessary, lol.
  898.                 home.Name = e.aq;
  899.                 etc.getInstance().changeHome(home);
  900.                 msg(Colors.Rose + "Your home has been set.");
  901.             } else if (split[0].equalsIgnoreCase("/spawn")) {
  902.                 int m = this.d.e.d(this.d.e.n, this.d.e.p);
  903.                 a(this.d.e.n + 0.5D, m + 1.5D, this.d.e.p + 0.5D, 0.0F, 0.0F);
  904.             } else if (split[0].equalsIgnoreCase("/setspawn")) {
  905.                 this.d.e.n = (int) Math.ceil(e.l);
  906.                 //Too lazy to actually update this considering it's not even used anyways.
  907.                 //this.d.e.n = (int) Math.ceil(e.m); //Not that the Y axis really matters since it tries to get the highest point iirc.
  908.                 this.d.e.p = (int) Math.ceil(e.n);
  909.                 a.info("Spawn position changed.");
  910.                 msg(Colors.Rose + "You have set the spawn to your current position.");
  911.             } else if (split[0].equalsIgnoreCase("/home")) {
  912.                 Warp home = null;
  913.                 if (split.length > 1 && etc.getInstance().isAdmin(e)) {
  914.                     home = etc.getInstance().getDataSource().getHome(split[1]);
  915.                 } else {
  916.                     home = etc.getInstance().getDataSource().getHome(e.aq);
  917.                 }
  918.  
  919.                 if (home != null) {
  920.                     a(home.Location.x, home.Location.y, home.Location.z, home.Location.rotX, home.Location.rotY);
  921.                 } else if (split.length > 1 && etc.getInstance().isAdmin(e)) {
  922.                     msg(Colors.Rose + "That player home does not exist");
  923.                 } else {
  924.                     int m = this.d.e.d(this.d.e.n, this.d.e.p);
  925.                     a(this.d.e.n + 0.5D, m + 1.5D, this.d.e.p + 0.5D, 0.0F, 0.0F);
  926.                 }
  927.             } else if (split[0].equalsIgnoreCase("/warp")) {
  928.                 if (split.length < 2) {
  929.                     msg(Colors.Rose + "Correct usage is: /warp [warpname]");
  930.                     return;
  931.                 }
  932.                 ea toWarp = e;
  933.                 Warp warp = null;
  934.                 if (split.length == 3 && etc.getInstance().canIgnoreRestrictions(e)) {
  935.                     warp = etc.getInstance().getDataSource().getWarp(split[1]);
  936.                     toWarp = match(split[2]);
  937.                 } else {
  938.                     warp = etc.getInstance().getDataSource().getWarp(split[1]);
  939.                 }
  940.                 if (toWarp != null) {
  941.                     if (warp != null) {
  942.                         if (!etc.getInstance().isUserInGroup(e, warp.Group) && !warp.Group.equals("")) {
  943.                             msg(Colors.Rose + "Warp not found.");
  944.                         } else {
  945.                             toWarp.a.a(warp.Location.x, warp.Location.y, warp.Location.z, warp.Location.rotX, warp.Location.rotY);
  946.                             toWarp.a.msg(Colors.Rose + "Woosh!");
  947.                         }
  948.                     } else {
  949.                         msg(Colors.Rose + "Warp not found");
  950.                     }
  951.                 } else {
  952.                     msg(Colors.Rose + "Player not found.");
  953.                 }
  954.             } else if (split[0].equalsIgnoreCase("/listwarps") && etc.getInstance().getDataSource().hasWarps()) {
  955.                 if (split.length != 2 && split.length != 3) {
  956.                     msg(Colors.Rose + "Available warps: " + Colors.White + etc.getInstance().getDataSource().getWarpNames(e.aq));
  957.                     return;
  958.                 }
  959.             } else if (split[0].equalsIgnoreCase("/setwarp")) {
  960.                 if (split.length < 2) {
  961.                     if (etc.getInstance().canIgnoreRestrictions(e)) {
  962.                         msg(Colors.Rose + "Correct usage is: /setwarp [warpname] [group]");
  963.                     } else {
  964.                         msg(Colors.Rose + "Correct usage is: /setwarp [warpname]");
  965.                     }
  966.                     return;
  967.                 }
  968.                 Location loc = new Location();
  969.                 loc.x = e.l;
  970.                 loc.y = e.m;
  971.                 loc.z = e.n;
  972.                 loc.rotX = e.r;
  973.                 loc.rotY = e.s;
  974.                 Warp warp = new Warp();
  975.                 warp.Name = split[1];
  976.                 warp.Location = loc;
  977.                 if (split.length == 3) {
  978.                     warp.Group = split[2];
  979.                 } else {
  980.                     warp.Group = "";
  981.                 }
  982.                 etc.getInstance().setWarp(warp);
  983.                 msg(Colors.Rose + "Created warp point " + split[1] + ".");
  984.             } else if (split[0].equalsIgnoreCase("/removewarp")) {
  985.                 if (split.length < 2) {
  986.                     msg(Colors.Rose + "Correct usage is: /removewarp [warpname]");
  987.                     return;
  988.                 }
  989.                 Warp warp = etc.getInstance().getDataSource().getWarp(split[1]);
  990.                 if (warp != null) {
  991.                     etc.getInstance().getDataSource().removeWarp(warp);
  992.                     msg(Colors.Blue + "Warp removed.");
  993.                 } else {
  994.                     msg(Colors.Rose + "That warp does not exist");
  995.                 }
  996.             } else if (split[0].equalsIgnoreCase("/lighter")) {
  997.                 if (MinecraftServer.b.containsKey(this.e.aq + " lighter")) {
  998.                     a.info(this.e.aq + " failed to iron!");
  999.                     msg(Colors.Rose + "You can't create another lighter again so soon");
  1000.                 } else {
  1001.                     if (!etc.getInstance().canIgnoreRestrictions(e)) {
  1002.                         MinecraftServer.b.put(this.e.aq + " lighter", Integer.valueOf(6000));
  1003.                     }
  1004.                     a.info(this.e.aq + " created a lighter!");
  1005.                     this.e.a(new gp(259, 1));
  1006.                 }
  1007.             } else if ((paramString.startsWith("/#")) && (this.d.f.g(this.e.aq))) {
  1008.                 String str = paramString.substring(2);
  1009.                 a.info(this.e.aq + " issued server command: " + str);
  1010.                 this.d.a(str, this);
  1011.             } else if (split[0].equalsIgnoreCase("/time")) {
  1012.                 if (split.length != 2) {
  1013.                     msg(Colors.Rose + "Correct usage is: /time [time|day|night]");
  1014.                     return;
  1015.                 }
  1016.  
  1017.                 if (split[1].equalsIgnoreCase("day")) {
  1018.                     this.d.e.c = 0;
  1019.                 } else if (split[1].equalsIgnoreCase("night")) {
  1020.                     this.d.e.c = 13000;
  1021.                 } else {
  1022.                     try {
  1023.                         this.d.e.c = Long.parseLong(split[1]);
  1024.                     } catch (NumberFormatException e) {
  1025.                         msg(Colors.Rose + "Please enter numbers, not letters.");
  1026.                     }
  1027.                 }
  1028.             } else if (split[0].equalsIgnoreCase("/getpos")) {
  1029.                 msg("Pos X: " + e.l + " Y: " + e.m + " Z " + e.n);
  1030.                 msg("Rotation X: " + e.r + " Y: " + e.s);
  1031.  
  1032.                 double degreeRotation = ((e.r - 90) % 360);
  1033.                 if (degreeRotation < 0) {
  1034.                     degreeRotation += 360.0;
  1035.                 }
  1036.                 msg("Compass: " + etc.getCompassPointForDirection(degreeRotation) + " (" + (Math.round(degreeRotation * 10) / 10.0) + ")");
  1037.             } else if (split[0].equalsIgnoreCase("/compass")) {
  1038.                 double degreeRotation = ((e.r - 90) % 360);
  1039.                 if (degreeRotation < 0) {
  1040.                     degreeRotation += 360.0;
  1041.                 }
  1042.  
  1043.                 msg(Colors.Rose + "Compass: " + etc.getCompassPointForDirection(degreeRotation));
  1044.             } else if (split[0].equalsIgnoreCase("/motd")) {
  1045.                 for (String str : etc.getInstance().motd) {
  1046.                     msg(str);
  1047.                 }
  1048.             } else {
  1049.                 a.info(this.e.aq + " tried command " + paramString);
  1050.                 msg(Colors.Rose + "Unknown command");
  1051.             }
  1052.         } catch (Exception ex) {
  1053.             a.log(Level.SEVERE, "Exception in command handler (Report this to hey0 unless you did something dumb like enter letters as numbers):", ex);
  1054.             if (etc.getInstance().isAdmin(e)) {
  1055.                 msg(Colors.Rose + "Exception occured. Check the server for more info.");
  1056.             }
  1057.         }
  1058.     }
  1059.  
  1060.     public void a(o paramo) {
  1061.         if (paramo.b == 1) {
  1062.             this.e.z();
  1063.         }
  1064.     }
  1065.  
  1066.     public void a(io paramio) {
  1067.         this.b.a("Quitting");
  1068.     }
  1069.  
  1070.     public int b() {
  1071.         return this.b.d();
  1072.     }
  1073.  
  1074.     public void b(String paramString) {
  1075.         b(new ba("§7" + paramString));
  1076.     }
  1077.  
  1078.     public String c() {
  1079.         return this.e.aq;
  1080.     }
  1081.  
  1082.     public void a(r paramr) {
  1083.         if (paramr.a == -1) {
  1084.             this.e.aj.a = paramr.b;
  1085.         }
  1086.         if (paramr.a == -2) {
  1087.             this.e.aj.c = paramr.b;
  1088.         }
  1089.         if (paramr.a == -3) {
  1090.             this.e.aj.b = paramr.b;
  1091.         }
  1092.     }
  1093.  
  1094.     public void d() {
  1095.         this.b.a(new r(-1, this.e.aj.a));
  1096.         this.b.a(new r(-2, this.e.aj.c));
  1097.         this.b.a(new r(-3, this.e.aj.b));
  1098.     }
  1099.  
  1100.     public void a(ib paramib) {
  1101.         as localas = this.d.e.k(paramib.a, paramib.b, paramib.c);
  1102.         if (localas != null) {
  1103.             localas.a(paramib.e);
  1104.             localas.c();
  1105.         }
  1106.     }
  1107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement