예제 #1
0
  public static Inventory clone(Inventory inventory, boolean playerSupport) {
    // Evade
    if (inventory == null) return null;

    // Create
    Inventory ret = null;
    if (inventory instanceof PlayerInventory && playerSupport) {
      ret = MixinInventory.get().createPlayerInventory();
    } else {
      InventoryHolder holder = inventory.getHolder();
      int size = inventory.getSize();
      if (inventory instanceof PlayerInventory) size = SIZE_PLAYER_STORAGE;
      String title = inventory.getTitle();
      ret = MixinInventory.get().createInventory(holder, size, title);
    }

    // Fill
    ItemStack[] all = getContentsAll(inventory);
    all = clone(all);
    setContentsAll(ret, all);

    // Return
    return ret;
  }