|  | @@ -42,58 +42,71 @@ import net.minecraft.world.World;
 | 
	
		
			
				|  |  |  import net.minecraft.world.server.ServerWorld;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  public class PlayerCommands {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    public static void registerFunctions(ScriptManager sm, Scripts scripts,
 | 
	
		
			
				|  |  | -            Permissions perms, SnuviScheduler scheduler, MinecraftServer server,
 | 
	
		
			
				|  |  | -            IPlayerBank playerBank) {
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getitemamount", (sc, in) -> (double) InventoryUtils.searchInventoryFor(((PlayerEntity) in[0].get(sc)).inventory, (ItemStack) in[2].get(sc), in[1].getBoolean(sc)));
 | 
	
		
			
				|  |  | +    @SuppressWarnings("unchecked")
 | 
	
		
			
				|  |  | +    public static void registerFunctions(ScriptManager sm, Scripts scripts, Permissions perms,
 | 
	
		
			
				|  |  | +            SnuviScheduler scheduler, MinecraftServer server, IPlayerBank playerBank) {
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getitemamount",
 | 
	
		
			
				|  |  | +                (sc, in) -> (double) InventoryUtils.searchInventoryFor(
 | 
	
		
			
				|  |  | +                        ((PlayerEntity) in[0].get(sc)).inventory, (ItemStack) in[2].get(sc),
 | 
	
		
			
				|  |  | +                        in[1].getBoolean(sc)));
 | 
	
		
			
				|  |  |          sm.registerFunction("player.removeitem", (sc, in) -> {
 | 
	
		
			
				|  |  |              ItemStack stack = ((ItemStack) in[1].get(sc)).copy();
 | 
	
		
			
				|  |  | -            stack.setCount(InventoryUtils.removeFromInventory(((PlayerEntity) in[0].get(sc)).inventory, stack));
 | 
	
		
			
				|  |  | +            stack.setCount(InventoryUtils
 | 
	
		
			
				|  |  | +                    .removeFromInventory(((PlayerEntity) in[0].get(sc)).inventory, stack));
 | 
	
		
			
				|  |  |              return stack;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerFunction("player.giveitem", (sc, in) -> {
 | 
	
		
			
				|  |  |              ItemStack stack = ((ItemStack) in[1].get(sc)).copy();
 | 
	
		
			
				|  |  | -            stack.setCount(InventoryUtils.addToInventory(((PlayerEntity) in[0].get(sc)).inventory, stack));
 | 
	
		
			
				|  |  | +            stack.setCount(
 | 
	
		
			
				|  |  | +                    InventoryUtils.addToInventory(((PlayerEntity) in[0].get(sc)).inventory, stack));
 | 
	
		
			
				|  |  |              return stack;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.respawn", (sc, in) -> {
 | 
	
		
			
				|  |  |              final ServerPlayerEntity p = ((ServerPlayerEntity) in[0].get(sc));
 | 
	
		
			
				|  |  |              scheduler.scheduleTask(() -> {
 | 
	
		
			
				|  |  |                  try {
 | 
	
		
			
				|  |  | -                    p.connection.processClientStatus(new CClientStatusPacket(CClientStatusPacket.State.PERFORM_RESPAWN));
 | 
	
		
			
				|  |  | -                } catch(ThreadQuickExitException ex) {
 | 
	
		
			
				|  |  | +                    p.connection.processClientStatus(
 | 
	
		
			
				|  |  | +                            new CClientStatusPacket(CClientStatusPacket.State.PERFORM_RESPAWN));
 | 
	
		
			
				|  |  | +                } catch (ThreadQuickExitException ex) {
 | 
	
		
			
				|  |  |                      // Minecraft needs this for canceling and queueing into main thread
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerConsumer("player.clearinventory", (sc, in) -> ((PlayerEntity) in[0].get(sc)).inventory.clear());
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.inventorytolist", (sc, in) -> ((PlayerEntity) in[1].get(sc)).inventory.mainInventory);
 | 
	
		
			
				|  |  | +        sm.registerConsumer("player.clearinventory",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).inventory.clear());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.inventorytolist",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[1].get(sc)).inventory.mainInventory);
 | 
	
		
			
				|  |  |          sm.registerFunction("player.getnearest", (sc, in) -> {
 | 
	
		
			
				|  |  |              Location l = (Location) in[0].get(sc);
 | 
	
		
			
				|  |  |              return l.getWorld().getClosestPlayer(l.getX(), l.getY(), l.getZ(), -1, p -> true);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.say", (sc, in) -> {
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  | -                ((ServerPlayerEntity) in[0].get(sc)).connection.processChatMessage(new CChatMessagePacket(SnuviUtils.connect(sc, in, 1)));
 | 
	
		
			
				|  |  | -            } catch(ThreadQuickExitException ex) {
 | 
	
		
			
				|  |  | +                ((ServerPlayerEntity) in[0].get(sc)).connection
 | 
	
		
			
				|  |  | +                        .processChatMessage(new CChatMessagePacket(SnuviUtils.connect(sc, in, 1)));
 | 
	
		
			
				|  |  | +            } catch (ThreadQuickExitException ex) {
 | 
	
		
			
				|  |  |                  // Minecraft needs this for canceling and queueing into main thread
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.speak", (sc, in) -> {
 | 
	
		
			
				|  |  | -            sendMessageToGroup(server, scripts, perms, in[0].get(sc), sc, concat(sc, 2, "[" + in[1].getString(sc) + "§r] ", in));
 | 
	
		
			
				|  |  | +            sendMessageToGroup(server, scripts, perms, in[0].get(sc), sc,
 | 
	
		
			
				|  |  | +                    concat(sc, 2, "[" + in[1].getString(sc) + "§r] ", in));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setcompass", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((ServerPlayerEntity) in[0].get(sc)).connection.sendPacket(new SWorldSpawnChangedPacket(
 | 
	
		
			
				|  |  | -                    ((Location) in[1].get(sc)).getBlockPos(), in.length > 2 ? in[2].getFloat(sc) : 0.0f));
 | 
	
		
			
				|  |  | +            ((ServerPlayerEntity) in[0].get(sc)).connection.sendPacket(
 | 
	
		
			
				|  |  | +                    new SWorldSpawnChangedPacket(((Location) in[1].get(sc)).getBlockPos(),
 | 
	
		
			
				|  |  | +                            in.length > 2 ? in[2].getFloat(sc) : 0.0f));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.gethunger", (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).getFoodStats().getFoodLevel());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.gethunger",
 | 
	
		
			
				|  |  | +                (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).getFoodStats().getFoodLevel());
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.sethunger", (sc, in) -> {
 | 
	
		
			
				|  |  |              ((PlayerEntity) in[0].get(sc)).getFoodStats().setFoodLevel(in[1].getInt(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getsaturation", (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).getFoodStats().getSaturationLevel());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getsaturation", (sc,
 | 
	
		
			
				|  |  | +                in) -> (double) ((PlayerEntity) in[0].get(sc)).getFoodStats().getSaturationLevel());
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setsaturation", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ReflectionUtils.setSaturation(((PlayerEntity) in[0].get(sc)).getFoodStats(), in[1].getFloat(sc));
 | 
	
		
			
				|  |  | +            ReflectionUtils.setSaturation(((PlayerEntity) in[0].get(sc)).getFoodStats(),
 | 
	
		
			
				|  |  | +                    in[1].getFloat(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerFunction("player.getname", (sc, in) -> {
 | 
	
		
			
				|  |  |              Object o = in[0].get(sc);
 | 
	
	
		
			
				|  | @@ -114,17 +127,25 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |              return playerBank.getUUID(o.toString());
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerFunction("player.getid", (sc, in) -> (double) getId(playerBank, in[0].get(sc)));
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.get", (sc, in) -> server.getPlayerList().getPlayerByUUID(getUUID(in[0].get(sc))));
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getuuidfromid", (sc, in) -> playerBank.getUUIDfromID(in[0].getInt(sc)));
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getnamefromid", (sc, in) -> playerBank.getNamefromID(in[0].getInt(sc)));
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getip", (sc, in) -> ((ServerPlayerEntity) in[0].get(sc)).connection.netManager.getRemoteAddress().toString());
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.iscreative", (sc, in) -> ((PlayerEntity) in[0].get(sc)).isCreative());
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.isspectator", (sc, in) -> ((PlayerEntity) in[0].get(sc)).isSpectator());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.get",
 | 
	
		
			
				|  |  | +                (sc, in) -> server.getPlayerList().getPlayerByUUID(getUUID(in[0].get(sc))));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getuuidfromid",
 | 
	
		
			
				|  |  | +                (sc, in) -> playerBank.getUUIDfromID(in[0].getInt(sc)));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getnamefromid",
 | 
	
		
			
				|  |  | +                (sc, in) -> playerBank.getNamefromID(in[0].getInt(sc)));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getip",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((ServerPlayerEntity) in[0].get(sc)).connection.netManager
 | 
	
		
			
				|  |  | +                        .getRemoteAddress().toString());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.iscreative",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).isCreative());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.isspectator",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).isSpectator());
 | 
	
		
			
				|  |  |          sm.registerFunction("player.issurvival", (sc, in) -> {
 | 
	
		
			
				|  |  |              PlayerEntity p = (PlayerEntity) in[0].get(sc);
 | 
	
		
			
				|  |  |              return !p.isCreative() && !p.isSpectator();
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.isadventure", (sc, in) -> !((PlayerEntity) in[0].get(sc)).abilities.allowEdit);
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.isadventure",
 | 
	
		
			
				|  |  | +                (sc, in) -> !((PlayerEntity) in[0].get(sc)).abilities.allowEdit);
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setfly", (sc, in) -> {
 | 
	
		
			
				|  |  |              PlayerEntity p = ((PlayerEntity) in[0].get(sc));
 | 
	
		
			
				|  |  |              boolean b = in[1].getBoolean(sc);
 | 
	
	
		
			
				|  | @@ -132,11 +153,13 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |              p.abilities.isFlying = b;
 | 
	
		
			
				|  |  |              p.sendPlayerAbilities();
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.hasfly", (sc, in) -> ((PlayerEntity) in[0].get(sc)).abilities.allowFlying);
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.isflying", (sc, in) -> ((PlayerEntity) in[0].get(sc)).abilities.isFlying);
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.hasfly",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).abilities.allowFlying);
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.isflying",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).abilities.isFlying);
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setgamemode", (sc, in) -> {
 | 
	
		
			
				|  |  |              PlayerEntity p = (PlayerEntity) in[0].get(sc);
 | 
	
		
			
				|  |  | -            switch(in[1].get(sc).toString()) {
 | 
	
		
			
				|  |  | +            switch (in[1].get(sc).toString()) {
 | 
	
		
			
				|  |  |                  case "survival":
 | 
	
		
			
				|  |  |                  case "s":
 | 
	
		
			
				|  |  |                  case "0":
 | 
	
	
		
			
				|  | @@ -191,7 +214,8 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |              Vector3d unit = p.getLook(0.0f);
 | 
	
		
			
				|  |  |              Vector3d end = start.add(unit.x * radius, unit.y * radius, unit.z * radius);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            BlockRayTraceResult result = p.world.rayTraceBlocks(new RayTraceContext(start, end, bm, fm, p));
 | 
	
		
			
				|  |  | +            BlockRayTraceResult result =
 | 
	
		
			
				|  |  | +                    p.world.rayTraceBlocks(new RayTraceContext(start, end, bm, fm, p));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if(result.getType() == RayTraceResult.Type.BLOCK) {
 | 
	
		
			
				|  |  |                  return new Location(p.world, result.getPos());
 | 
	
	
		
			
				|  | @@ -199,17 +223,19 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return new Location(p.world, end);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          sm.registerFunction("player.gettargetentity", (sc, in) -> {
 | 
	
		
			
				|  |  | -            return Utils.getTargetedEntity((PlayerEntity) in[0].get(sc), in[1].getDouble(sc), getNamedClass(in[2].getString(sc)));
 | 
	
		
			
				|  |  | +            return Utils.getTargetedEntity((PlayerEntity) in[0].get(sc), in[1].getDouble(sc),
 | 
	
		
			
				|  |  | +                    (Class<? extends Entity>) getNamedClass(in[2].getString(sc)));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerAlias("player.hasscript", "player.hasquest");
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.action", (sc, in) -> {
 | 
	
		
			
				|  |  |              StringTextComponent text = new StringTextComponent(SnuviUtils.connect(sc, in, 1));
 | 
	
		
			
				|  |  | -            doForGroup(server, scripts, perms, in[0].get(sc), sc, p -> ((ServerPlayerEntity) p).sendStatusMessage(text, true));
 | 
	
		
			
				|  |  | +            doForGroup(server, scripts, perms, in[0].get(sc), sc,
 | 
	
		
			
				|  |  | +                    p -> ((ServerPlayerEntity) p).sendStatusMessage(text, true));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.disconnect", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((ServerPlayerEntity) in[0].get(sc)).connection.disconnect(new StringTextComponent(in[1].getString(sc)));
 | 
	
		
			
				|  |  | +            ((ServerPlayerEntity) in[0].get(sc)).connection
 | 
	
		
			
				|  |  | +                    .disconnect(new StringTextComponent(in[1].getString(sc)));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerFunction("player.getspawn", (sc, in) -> {
 | 
	
		
			
				|  |  |              ServerPlayerEntity p = (ServerPlayerEntity) in[0].get(sc);
 | 
	
	
		
			
				|  | @@ -218,8 +244,9 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |          sm.registerAlias("player.getspawn", "player.getbedspawn");
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setspawn", (sc, in) -> {
 | 
	
		
			
				|  |  |              Location l = (Location) in[1].get(sc);
 | 
	
		
			
				|  |  | -            ((ServerPlayerEntity) in[0].get(sc)).func_242111_a(((ServerWorld) l.getWorld()).getDimensionKey(), 
 | 
	
		
			
				|  |  | -                    l.getBlockPos(), in.length > 2 ? in[2].getFloat(sc) : 0.0f, true, false);
 | 
	
		
			
				|  |  | +            ((ServerPlayerEntity) in[0].get(sc)).func_242111_a(
 | 
	
		
			
				|  |  | +                    ((ServerWorld) l.getWorld()).getDimensionKey(), l.getBlockPos(),
 | 
	
		
			
				|  |  | +                    in.length > 2 ? in[2].getFloat(sc) : 0.0f, true, false);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerAlias("player.setspawn", "player.setbedspawn");
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.damageitem", (sc, in) -> {
 | 
	
	
		
			
				|  | @@ -228,7 +255,8 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.damagearmor", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((PlayerEntity) in[0].get(sc)).inventory.func_234563_a_((DamageSource) in[2].get(sc), in[1].getFloat(sc));
 | 
	
		
			
				|  |  | +            ((PlayerEntity) in[0].get(sc)).inventory.func_234563_a_((DamageSource) in[2].get(sc),
 | 
	
		
			
				|  |  | +                    in[1].getFloat(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.openenderchest", (sc, in) -> {
 | 
	
		
			
				|  |  |              PlayerEntity p1 = (PlayerEntity) in[0].get(sc);
 | 
	
	
		
			
				|  | @@ -241,11 +269,13 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.addtotalexp", (sc, in) -> {
 | 
	
		
			
				|  |  |              ((ServerPlayerEntity) in[0].get(sc)).giveExperiencePoints(in[1].getInt(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getlevel", (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).experienceLevel);
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getlevel",
 | 
	
		
			
				|  |  | +                (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).experienceLevel);
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setlevel", (sc, in) -> {
 | 
	
		
			
				|  |  |              ((ServerPlayerEntity) in[0].get(sc)).setExperienceLevel(in[1].getInt(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getexp", (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).experience);
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getexp",
 | 
	
		
			
				|  |  | +                (sc, in) -> (double) ((PlayerEntity) in[0].get(sc)).experience);
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setexp", (sc, in) -> {
 | 
	
		
			
				|  |  |              ServerPlayerEntity p = (ServerPlayerEntity) in[0].get(sc);
 | 
	
		
			
				|  |  |              p.func_195394_a((int) (in[1].getDouble(sc) * p.xpBarCap()));
 | 
	
	
		
			
				|  | @@ -258,25 +288,34 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |              com.put("SkullOwner", NBTUtil.writeGameProfile(new CompoundNBT(), gp));
 | 
	
		
			
				|  |  |              return stack;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.near", (sc, in) -> Utils.getPlayers((Entity) in[0].get(sc), in[1].getDouble(sc)));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.near",
 | 
	
		
			
				|  |  | +                (sc, in) -> Utils.getPlayers((Entity) in[0].get(sc), in[1].getDouble(sc)));
 | 
	
		
			
				|  |  |          sm.registerFunction("player.getinv", (sc, in) -> ((PlayerEntity) in[0].get(sc)).inventory);
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getinvslot", (sc, in) -> ((PlayerEntity) in[0].get(sc)).inventory.mainInventory.get(in[1].getInt(sc)));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getinvslot",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).inventory.mainInventory
 | 
	
		
			
				|  |  | +                        .get(in[1].getInt(sc)));
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setinvslot", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((PlayerEntity) in[0].get(sc)).inventory.mainInventory.set(in[1].getInt(sc), ((ItemStack) in[2].get(sc)).copy());
 | 
	
		
			
				|  |  | +            ((PlayerEntity) in[0].get(sc)).inventory.mainInventory.set(in[1].getInt(sc),
 | 
	
		
			
				|  |  | +                    ((ItemStack) in[2].get(sc)).copy());
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getenderinv", (sc, in) -> ((PlayerEntity) in[0].get(sc)).getInventoryEnderChest());
 | 
	
		
			
				|  |  | -        sm.registerFunction("player.getenderslot", (sc, in) -> ((PlayerEntity) in[0].get(sc)).getInventoryEnderChest().getStackInSlot(in[1].getInt(sc)));
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getenderinv",
 | 
	
		
			
				|  |  | +                (sc, in) -> ((PlayerEntity) in[0].get(sc)).getInventoryEnderChest());
 | 
	
		
			
				|  |  | +        sm.registerFunction("player.getenderslot", (sc, in) -> ((PlayerEntity) in[0].get(sc))
 | 
	
		
			
				|  |  | +                .getInventoryEnderChest().getStackInSlot(in[1].getInt(sc)));
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setenderslot", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((PlayerEntity) in[0].get(sc)).getInventoryEnderChest().setInventorySlotContents(in[1].getInt(sc), ((ItemStack) in[2].get(sc)).copy());
 | 
	
		
			
				|  |  | +            ((PlayerEntity) in[0].get(sc)).getInventoryEnderChest()
 | 
	
		
			
				|  |  | +                    .setInventorySlotContents(in[1].getInt(sc), ((ItemStack) in[2].get(sc)).copy());
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.setdisplayname", (sc, in) -> {
 | 
	
		
			
				|  |  | -            ((ModEntityPlayerMP) in[0].get(sc)).setTabListDisplayName(in[1].getString(sc), scheduler);
 | 
	
		
			
				|  |  | +            ((ModEntityPlayerMP) in[0].get(sc)).setTabListDisplayName(in[1].getString(sc),
 | 
	
		
			
				|  |  | +                    scheduler);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.hide", (sc, in) -> {
 | 
	
		
			
				|  |  |              ServerPlayerEntity p = (ServerPlayerEntity) in[0].get(sc);
 | 
	
		
			
				|  |  |              GameType type = p.interactionManager.getGameType();
 | 
	
		
			
				|  |  |              ReflectionUtils.setGameType(p.interactionManager, GameType.SPECTATOR);
 | 
	
		
			
				|  |  | -            SPlayerListItemPacket packet = new SPlayerListItemPacket(SPlayerListItemPacket.Action.UPDATE_GAME_MODE, p);
 | 
	
		
			
				|  |  | +            SPlayerListItemPacket packet =
 | 
	
		
			
				|  |  | +                    new SPlayerListItemPacket(SPlayerListItemPacket.Action.UPDATE_GAME_MODE, p);
 | 
	
		
			
				|  |  |              ReflectionUtils.setGameType(p.interactionManager, type);
 | 
	
		
			
				|  |  |              for(ServerPlayerEntity other : server.getPlayerList().getPlayers()) {
 | 
	
		
			
				|  |  |                  if(other == p) {
 | 
	
	
		
			
				|  | @@ -289,7 +328,8 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |          sm.registerConsumer("player.show", (sc, in) -> {
 | 
	
		
			
				|  |  |              ServerPlayerEntity p = (ServerPlayerEntity) in[0].get(sc);
 | 
	
		
			
				|  |  |              p.setInvisible(false);
 | 
	
		
			
				|  |  | -            SPlayerListItemPacket packet = new SPlayerListItemPacket(SPlayerListItemPacket.Action.UPDATE_GAME_MODE, p);
 | 
	
		
			
				|  |  | +            SPlayerListItemPacket packet =
 | 
	
		
			
				|  |  | +                    new SPlayerListItemPacket(SPlayerListItemPacket.Action.UPDATE_GAME_MODE, p);
 | 
	
		
			
				|  |  |              for(ServerPlayerEntity other : server.getPlayerList().getPlayers()) {
 | 
	
		
			
				|  |  |                  if(other == p) {
 | 
	
		
			
				|  |  |                      continue;
 | 
	
	
		
			
				|  | @@ -297,12 +337,16 @@ public class PlayerCommands {
 | 
	
		
			
				|  |  |                  other.connection.sendPacket(packet);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -        sm.registerFunction("players.getamount", (sc, in) -> (double) server.getCurrentPlayerCount());
 | 
	
		
			
				|  |  | -        sm.registerFunction("players.tolist", (sc, in) -> new ArrayList(server.getPlayerList().getPlayers()));
 | 
	
		
			
				|  |  | -        sm.registerFunction("players.toworldlist", (sc, in) -> new ArrayList(((World) in[0].get(sc)).getPlayers()));
 | 
	
		
			
				|  |  | +        sm.registerFunction("players.getamount",
 | 
	
		
			
				|  |  | +                (sc, in) -> (double) server.getCurrentPlayerCount());
 | 
	
		
			
				|  |  | +        sm.registerFunction("players.tolist",
 | 
	
		
			
				|  |  | +                (sc, in) -> new ArrayList<>(server.getPlayerList().getPlayers()));
 | 
	
		
			
				|  |  | +        sm.registerFunction("players.toworldlist",
 | 
	
		
			
				|  |  | +                (sc, in) -> new ArrayList<>(((World) in[0].get(sc)).getPlayers()));
 | 
	
		
			
				|  |  |          sm.registerFunction("players.near", (sc, in) -> {
 | 
	
		
			
				|  |  |              Location l = (Location) in[0].get(sc);
 | 
	
		
			
				|  |  | -            return Utils.getPlayers(l.getWorld(), l.getX(), l.getY(), l.getZ(), in[1].getDouble(sc));
 | 
	
		
			
				|  |  | +            return Utils.getPlayers(l.getWorld(), l.getX(), l.getY(), l.getZ(),
 | 
	
		
			
				|  |  | +                    in[1].getDouble(sc));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |