示例#1
0
  public static void openAnvilInventory(final Player player) {

    EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle();
    FakeAnvilv_1_8_R3 fakeAnvil = new FakeAnvilv_1_8_R3(entityPlayer);
    int containerId = entityPlayer.nextContainerCounter();

    ((CraftPlayer) player)
        .getHandle()
        .playerConnection
        .sendPacket(
            new PacketPlayOutOpenWindow(
                containerId, "minecraft:anvil", new ChatMessage("Repairing", new Object[] {}), 0));

    entityPlayer.activeContainer = fakeAnvil;
    entityPlayer.activeContainer.windowId = containerId;
    entityPlayer.activeContainer.addSlotListener(entityPlayer);
    entityPlayer.activeContainer = fakeAnvil;
    entityPlayer.activeContainer.windowId = containerId;

    Inventory inv = fakeAnvil.getBukkitView().getTopInventory();
    inv.setItem(0, new ItemStack(Material.PAPER));
  }
示例#2
0
  public static void sendPlayerMessage(Player player, String message) {
    HashMap<String, UrlEntry> urls = new HashMap<>();

    // JsonObject component = new JsonObject();
    String result = message;
    while (Regex.isMatch(result, REGEX_URL)) {
      String[] groups = Regex.getGroups(message, REGEX_URL);
      String url = groups[0];
      String name = groups[1];
      urls.put("\\{URL_" + (urls.size() + 1) + "\\}", new UrlEntry(url, name));
      result = Regex.replace(result, REGEX_URL, "\\{URL_" + (urls.size() + 1) + "\\}");
    }

    for (Map.Entry<String, UrlEntry> entry : urls.entrySet()) {
      result = result.replace(entry.getKey(), entry.getValue().getJson());
    }

    // component.addProperty("text", "test");

    IChatBaseComponent comp = IChatBaseComponent.ChatSerializer.a(result);
    Bukkit.broadcastMessage("Sending: " + comp.getText());
    PacketPlayOutChat packet = new PacketPlayOutChat(comp, (byte) 0);
    ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
  }
 public static void sendPacket(Player p, Packet packet) {
   ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
 }