@Override
  public void execute(ICommandListener var1, String[] var2) throws class_bz {
    if (var2.length < 1) {
      throw new class_cf("commands.whitelist.usage", new Object[0]);
    } else {
      MinecraftServer var3 = MinecraftServer.P();
      if (var2[0].equals("on")) {
        var3.ar().a(true);
        a(var1, this, "commands.whitelist.enabled", new Object[0]);
      } else if (var2[0].equals("off")) {
        var3.ar().a(false);
        a(var1, this, "commands.whitelist.disabled", new Object[0]);
      } else if (var2[0].equals("list")) {
        var1.a(
            new class_fb(
                "commands.whitelist.list",
                new Object[] {
                  Integer.valueOf(var3.ar().l().length), Integer.valueOf(var3.ar().q().length)
                }));
        String[] var4 = var3.ar().l();
        var1.a(new class_fa(a(var4)));
      } else {
        GameProfile var5;
        if (var2[0].equals("add")) {
          if (var2.length < 2) {
            throw new class_cf("commands.whitelist.add.usage", new Object[0]);
          }

          var5 = var3.aH().a(var2[1]);
          if (var5 == null) {
            throw new class_bz("commands.whitelist.add.failed", new Object[] {var2[1]});
          }

          var3.ar().d(var5);
          a(var1, this, "commands.whitelist.add.success", new Object[] {var2[1]});
        } else if (var2[0].equals("remove")) {
          if (var2.length < 2) {
            throw new class_cf("commands.whitelist.remove.usage", new Object[0]);
          }

          var5 = var3.ar().k().a(var2[1]);
          if (var5 == null) {
            throw new class_bz("commands.whitelist.remove.failed", new Object[] {var2[1]});
          }

          var3.ar().c(var5);
          a(var1, this, "commands.whitelist.remove.success", new Object[] {var2[1]});
        } else if (var2[0].equals("reload")) {
          var3.ar().a();
          a(var1, this, "commands.whitelist.reloaded", new Object[0]);
        }
      }
    }
  }
예제 #2
0
  public void b(ICommandListener icommandlistener, String[] astring) {
    if (astring.length > 0) {
      IChatBaseComponent ichatbasecomponent =
          a(icommandlistener, astring, 0, icommandlistener.a(1, "me"));

      MinecraftServer.getServer()
          .getPlayerList()
          .sendMessage(
              new ChatMessage(
                  "chat.type.emote",
                  new Object[] {icommandlistener.getScoreboardDisplayName(), ichatbasecomponent}));
    } else {
      throw new ExceptionUsage("commands.me.usage", new Object[0]);
    }
  }
예제 #3
0
  public void execute(ICommandListener icommandlistener, String[] astring) throws CommandException {
    if (astring.length > 1) {
      int i;

      if (astring[0].equals("set")) {
        if (astring[1].equals("day")) {
          i = 1000;
        } else if (astring[1].equals("night")) {
          i = 13000;
        } else {
          i = a(astring[1], 0);
        }

        this.a(icommandlistener, i);
        a(icommandlistener, this, "commands.time.set", new Object[] {Integer.valueOf(i)});
        return;
      }

      if (astring[0].equals("add")) {
        i = a(astring[1], 0);
        this.b(icommandlistener, i);
        a(icommandlistener, this, "commands.time.added", new Object[] {Integer.valueOf(i)});
        return;
      }

      if (astring[0].equals("query")) {
        if (astring[1].equals("daytime")) {
          i = (int) (icommandlistener.getWorld().getDayTime() % 2147483647L);
          icommandlistener.a(CommandObjectiveExecutor.EnumCommandResult.QUERY_RESULT, i);
          a(icommandlistener, this, "commands.time.query", new Object[] {Integer.valueOf(i)});
          return;
        }

        if (astring[1].equals("gametime")) {
          i = (int) (icommandlistener.getWorld().getTime() % 2147483647L);
          icommandlistener.a(CommandObjectiveExecutor.EnumCommandResult.QUERY_RESULT, i);
          a(icommandlistener, this, "commands.time.query", new Object[] {Integer.valueOf(i)});
          return;
        }
      }
    }

    throw new ExceptionUsage("commands.time.usage", new Object[0]);
  }
예제 #4
0
  public void execute(ICommandListener icommandlistener, String[] astring) {
    if (astring.length > 0 && astring[0].length() > 0) {
      IChatBaseComponent ichatbasecomponent = a(icommandlistener, astring, 0, true);

      MinecraftServer.getServer()
          .getPlayerList()
          .sendMessage(
              new ChatMessage(
                  "chat.type.announcement",
                  new Object[] {icommandlistener.getName(), ichatbasecomponent}));
    } else {
      throw new ExceptionUsage("commands.say.usage", new Object[0]);
    }
  }
예제 #5
0
  public void execute(final ICommandListener icommandlistener, String[] astring)
      throws CommandException {
    if (astring.length < 5) {
      throw new ExceptionUsage("commands.execute.usage", new Object[0]);
    } else {
      final Entity entity = a(icommandlistener, astring[0], Entity.class);
      final double d0 = b(entity.locX, astring[1], false);
      final double d1 = b(entity.locY, astring[2], false);
      final double d2 = b(entity.locZ, astring[3], false);
      final BlockPosition blockposition = new BlockPosition(d0, d1, d2);
      byte b0 = 4;

      if ("detect".equals(astring[4]) && astring.length > 10) {
        World world = entity.getWorld();
        double d3 = b(d0, astring[5], false);
        double d4 = b(d1, astring[6], false);
        double d5 = b(d2, astring[7], false);
        Block block = g(icommandlistener, astring[8]);
        int i = a(astring[9], -1, 15);
        BlockPosition blockposition1 = new BlockPosition(d3, d4, d5);
        IBlockData iblockdata = world.getType(blockposition1);

        if (iblockdata.getBlock() != block
            || i >= 0 && iblockdata.getBlock().toLegacyData(iblockdata) != i) {
          throw new CommandException(
              "commands.execute.failed", new Object[] {"detect", entity.getName()});
        }

        b0 = 10;
      }

      String s = a(astring, b0);
      ICommandListener icommandlistener1 =
          new ICommandListener() {
            public String getName() {
              return entity.getName();
            }

            public IChatBaseComponent getScoreboardDisplayName() {
              return entity.getScoreboardDisplayName();
            }

            public void sendMessage(IChatBaseComponent ichatbasecomponent) {
              icommandlistener.sendMessage(ichatbasecomponent);
            }

            public boolean a(int i, String s) {
              return icommandlistener.a(i, s);
            }

            public BlockPosition getChunkCoordinates() {
              return blockposition;
            }

            public Vec3D d() {
              return new Vec3D(d0, d1, d2);
            }

            public World getWorld() {
              return entity.world;
            }

            public Entity f() {
              return entity;
            }

            public boolean getSendCommandFeedback() {
              MinecraftServer minecraftserver = MinecraftServer.getServer();

              return minecraftserver == null
                  || minecraftserver.worldServer[0].getGameRules().getBoolean("commandBlockOutput");
            }

            public void a(
                CommandObjectiveExecutor.EnumCommandResult
                    commandobjectiveexecutor_enumcommandresult,
                int i) {
              entity.a(commandobjectiveexecutor_enumcommandresult, i);
            }
          };
      ICommandHandler icommandhandler = MinecraftServer.getServer().getCommandHandler();

      try {
        // CraftBukkit start
        org.bukkit.command.CommandSender sender = null;
        if (icommandlistener instanceof DedicatedServer) {
          sender = MinecraftServer.getServer().server.getConsoleSender();
        } else if (icommandlistener instanceof CommandBlockListenerAbstract) {
          sender = ((CommandBlockListenerAbstract) icommandlistener).sender;
        } else if (VanillaCommandWrapper.lastSender != null) {
          sender = VanillaCommandWrapper.lastSender;
        } else if (icommandlistener.f() != null) {
          sender = icommandlistener.f().getBukkitEntity();
        } else {
          throw new CommandException(
              "Unhandled executor " + icommandlistener.getClass().getSimpleName(), new Object[0]);
        }
        int j =
            CommandBlockListenerAbstract.executeCommand(
                icommandlistener1,
                new ProxiedNativeCommandSender(icommandlistener1, sender, entity.getBukkitEntity()),
                s);
        // CraftBukkit end

        if (j < 1) {
          throw new CommandException("commands.execute.allInvocationsFailed", new Object[] {s});
        }
      } catch (Throwable throwable) {
        // CraftBukkit start
        if (throwable instanceof CommandException) {
          throw (CommandException) throwable;
        }
        // CraftBukkit end
        throw new CommandException("commands.execute.failed", new Object[] {s, entity.getName()});
      }
    }
  }
예제 #6
0
  public void execute(ICommandListener icommandlistener, String[] astring) {
    if (astring.length < 2) {
      throw new ExceptionUsage(this.getUsage(icommandlistener), new Object[0]);
    } else {
      byte b0 = 0;
      int i = b0 + 1;
      String s = astring[b0];
      EntityPlayer entityplayer = a(icommandlistener, astring[i++]);
      Vec3D vec3d = icommandlistener.d();
      double d0 = vec3d.a;

      if (astring.length > i) {
        d0 = b(d0, astring[i++], true);
      }

      double d1 = vec3d.b;

      if (astring.length > i) {
        d1 = b(d1, astring[i++], 0, 0, false);
      }

      double d2 = vec3d.c;

      if (astring.length > i) {
        d2 = b(d2, astring[i++], true);
      }

      double d3 = 1.0D;

      if (astring.length > i) {
        d3 = a(astring[i++], 0.0D, 3.4028234663852886E38D);
      }

      double d4 = 1.0D;

      if (astring.length > i) {
        d4 = a(astring[i++], 0.0D, 2.0D);
      }

      double d5 = 0.0D;

      if (astring.length > i) {
        d5 = a(astring[i], 0.0D, 1.0D);
      }

      double d6 = d3 > 1.0D ? d3 * 16.0D : 16.0D;
      double d7 = entityplayer.f(d0, d1, d2);

      if (d7 > d6) {
        if (d5 <= 0.0D) {
          throw new CommandException(
              "commands.playsound.playerTooFar", new Object[] {entityplayer.getName()});
        }

        double d8 = d0 - entityplayer.locX;
        double d9 = d1 - entityplayer.locY;
        double d10 = d2 - entityplayer.locZ;
        double d11 = Math.sqrt(d8 * d8 + d9 * d9 + d10 * d10);

        if (d11 > 0.0D) {
          d0 = entityplayer.locX + d8 / d11 * 2.0D;
          d1 = entityplayer.locY + d9 / d11 * 2.0D;
          d2 = entityplayer.locZ + d10 / d11 * 2.0D;
        }

        d3 = d5;
      }

      entityplayer.playerConnection.sendPacket(
          new PacketPlayOutNamedSoundEffect(s, d0, d1, d2, (float) d3, (float) d4));
      a(
          icommandlistener,
          this,
          "commands.playsound.success",
          new Object[] {s, entityplayer.getName()});
    }
  }
예제 #7
0
  @Override
  public void execute(ICommandListener var1, String[] var2) throws class_bz {
    if (var2.length < 9) {
      throw new class_cf("commands.clone.usage", new Object[0]);
    } else {
      var1.a(class_n.class_a_in_class_n.b, 0);
      class_cj var3 = a(var1, var2, 0, false);
      class_cj var4 = a(var1, var2, 3, false);
      class_cj var5 = a(var1, var2, 6, false);
      class_aua var6 = new class_aua(var3, var4);
      class_aua var7 = new class_aua(var5, var5.a(var6.b()));
      int var8 = var6.c() * var6.d() * var6.e();
      if (var8 > '耀') {
        throw new class_bz(
            "commands.clone.tooManyBlocks",
            new Object[] {Integer.valueOf(var8), Integer.valueOf('耀')});
      } else {
        boolean var9 = false;
        Block var10 = null;
        int var11 = -1;
        if (((var2.length < 11) || (!var2[10].equals("force") && !var2[10].equals("move")))
            && var6.a(var7)) {
          throw new class_bz("commands.clone.noOverlap", new Object[0]);
        } else {
          if ((var2.length >= 11) && var2[10].equals("move")) {
            var9 = true;
          }

          if ((var6.b >= 0) && (var6.e < 256) && (var7.b >= 0) && (var7.e < 256)) {
            class_ago var12 = var1.e();
            if (var12.a(var6) && var12.a(var7)) {
              boolean var13 = false;
              if (var2.length >= 10) {
                if (var2[9].equals("masked")) {
                  var13 = true;
                } else if (var2[9].equals("filtered")) {
                  if (var2.length < 12) {
                    throw new class_cf("commands.clone.usage", new Object[0]);
                  }

                  var10 = g(var1, var2[11]);
                  if (var2.length >= 13) {
                    var11 = a(var2[12], 0, 15);
                  }
                }
              }

              ArrayList var14 = Lists.newArrayList();
              ArrayList var15 = Lists.newArrayList();
              ArrayList var16 = Lists.newArrayList();
              LinkedList var17 = Lists.newLinkedList();
              class_cj var18 = new class_cj(var7.a - var6.a, var7.b - var6.b, var7.c - var6.c);

              for (int var19 = var6.c; var19 <= var6.f; ++var19) {
                for (int var20 = var6.b; var20 <= var6.e; ++var20) {
                  for (int var21 = var6.a; var21 <= var6.d; ++var21) {
                    class_cj var22 = new class_cj(var21, var20, var19);
                    class_cj var23 = var22.a(var18);
                    class_apn var24 = var12.p(var22);
                    if ((!var13 || (var24.c() != Blocks.AIR))
                        && ((var10 == null)
                            || ((var24.c() == var10)
                                && ((var11 < 0) || (var24.c().c(var24) == var11))))) {
                      TileEntity var25 = var12.s(var22);
                      if (var25 != null) {
                        class_dn var26 = new class_dn();
                        var25.b(var26);
                        var15.add(new class_u.class_a_in_class_u(var23, var24, var26));
                        var17.addLast(var22);
                      } else if (!var24.c().q() && !var24.c().d()) {
                        var16.add(new class_u.class_a_in_class_u(var23, var24, (class_dn) null));
                        var17.addFirst(var22);
                      } else {
                        var14.add(new class_u.class_a_in_class_u(var23, var24, (class_dn) null));
                        var17.addLast(var22);
                      }
                    }
                  }
                }
              }

              if (var9) {
                Iterator var27;
                class_cj var29;
                for (var27 = var17.iterator();
                    var27.hasNext();
                    var12.a(var29, Blocks.BARRIER.getBlockData(), 2)) {
                  var29 = (class_cj) var27.next();
                  TileEntity var31 = var12.s(var29);
                  if (var31 instanceof class_pp) {
                    ((class_pp) var31).l();
                  }
                }

                var27 = var17.iterator();

                while (var27.hasNext()) {
                  var29 = (class_cj) var27.next();
                  var12.a(var29, Blocks.AIR.getBlockData(), 3);
                }
              }

              ArrayList var28 = Lists.newArrayList();
              var28.addAll(var14);
              var28.addAll(var15);
              var28.addAll(var16);
              List var30 = Lists.reverse(var28);

              Iterator var32;
              class_u.class_a_in_class_u var33;
              TileEntity var34;
              for (var32 = var30.iterator();
                  var32.hasNext();
                  var12.a(var33.a, Blocks.BARRIER.getBlockData(), 2)) {
                var33 = (class_u.class_a_in_class_u) var32.next();
                var34 = var12.s(var33.a);
                if (var34 instanceof class_pp) {
                  ((class_pp) var34).l();
                }
              }

              var8 = 0;
              var32 = var28.iterator();

              while (var32.hasNext()) {
                var33 = (class_u.class_a_in_class_u) var32.next();
                if (var12.a(var33.a, var33.b, 2)) {
                  ++var8;
                }
              }

              for (var32 = var15.iterator(); var32.hasNext(); var12.a(var33.a, var33.b, 2)) {
                var33 = (class_u.class_a_in_class_u) var32.next();
                var34 = var12.s(var33.a);
                if ((var33.c != null) && (var34 != null)) {
                  var33.c.a("x", var33.a.n());
                  var33.c.a("y", var33.a.o());
                  var33.c.a("z", var33.a.p());
                  var34.a(var33.c);
                  var34.o_();
                }
              }

              var32 = var30.iterator();

              while (var32.hasNext()) {
                var33 = (class_u.class_a_in_class_u) var32.next();
                var12.c(var33.a, var33.b.c());
              }

              List var35 = var12.a(var6, false);
              if (var35 != null) {
                Iterator var36 = var35.iterator();

                while (var36.hasNext()) {
                  class_agz var37 = (class_agz) var36.next();
                  if (var6.b(var37.a)) {
                    class_cj var38 = var37.a.a(var18);
                    var12.b(var38, var37.a(), (int) (var37.b - var12.R().e()), var37.c);
                  }
                }
              }

              if (var8 <= 0) {
                throw new class_bz("commands.clone.failed", new Object[0]);
              } else {
                var1.a(class_n.class_a_in_class_n.b, var8);
                a(var1, this, "commands.clone.success", new Object[] {Integer.valueOf(var8)});
              }
            } else {
              throw new class_bz("commands.clone.outOfWorld", new Object[0]);
            }
          } else {
            throw new class_bz("commands.clone.outOfWorld", new Object[0]);
          }
        }
      }
    }
  }