ItemStackTransaction class

Пакет: com.hypixel.hytale.server.core.inventory.transaction

Файл: com/hypixel/hytale/server/core/inventory/transaction/ItemStackTransaction.java

implements: Transaction

Поля (6)

МодификаторыТипИмя
final ItemStackTransaction FAILED_ADD
break
List var4
List var4
boolean var5
var5

Методы (5)

МодификаторыВозвратСигнатура
for for(ItemStackSlotTransaction var3 : this.slotTransactions)
for for(ItemStackSlotTransaction var7 : var4)
if if(!this.succeeded)
public boolean isAllOrNothingboolean isAllOrNothing()
public boolean isFilterboolean isFilter()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.inventory.transaction;

class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.Objects;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ItemStackTransaction class="kw">implements Transaction {
   class="kw">public class="kw">static class="kw">final ItemStackTransaction FAILED_ADD = new ItemStackTransaction(false, ActionType.ADD, null, null, false, false, Collections.emptyList());
   class="kw">private class="kw">final boolean succeeded;
   @Nullable
   class="kw">private class="kw">final ActionType action;
   @Nullable
   class="kw">private class="kw">final ItemStack query;
   @Nullable
   class="kw">private class="kw">final ItemStack remainder;
   class="kw">private class="kw">final boolean allOrNothing;
   class="kw">private class="kw">final boolean filter;
   @Nonnull
   class="kw">private class="kw">final List<ItemStackSlotTransaction> slotTransactions;

   class="kw">public ItemStackTransaction(
      boolean var1,
      @Nullable ActionType var2,
      @Nullable ItemStack var3,
      @Nullable ItemStack var4,
      boolean var5,
      boolean var6,
      @Nonnull List<ItemStackSlotTransaction> var7
   ) {
      this.succeeded = var1;
      this.action = var2;
      this.query = var3;
      this.remainder = var4;
      this.allOrNothing = var5;
      this.filter = var6;
      this.slotTransactions = var7;
   }

   @Override
   class="kw">public boolean succeeded() {
      class="kw">return this.succeeded;
   }

   @Override
   class="kw">public boolean wasSlotModified(short var1) {
      if (!this.succeeded) {
         class="kw">return false;
      }

      for (ItemStackSlotTransaction var3 : this.slotTransactions) {
         if (var3.succeeded() && var3.wasSlotModified(var1)) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   @Nullable
   class="kw">public ActionType getAction() {
      class="kw">return this.action;
   }

   @Nullable
   class="kw">public ItemStack getQuery() {
      class="kw">return this.query;
   }

   @Nullable
   class="kw">public ItemStack getRemainder() {
      class="kw">return this.remainder;
   }

   class="kw">public boolean isAllOrNothing() {
      class="kw">return this.allOrNothing;
   }

   class="kw">public boolean isFilter() {
      class="kw">return this.filter;
   }

   @Nonnull
   class="kw">public List<ItemStackSlotTransaction> getSlotTransactions() {
      class="kw">return this.slotTransactions;
   }

   @Nonnull
   class="kw">public ItemStackTransaction toParent(ItemContainer var1, short var2, ItemContainer var3) {
      List var4 = this.slotTransactions.stream().map(var3x -> var3x.toParent(var1, var2, var3)).collect(Collectors.toList());
      class="kw">return new ItemStackTransaction(this.succeeded, this.action, this.query, this.remainder, this.allOrNothing, this.filter, var4);
   }

   @Nullable
   class="kw">public ItemStackTransaction fromParent(ItemContainer var1, short var2, @Nonnull ItemContainer var3) {
      List var4 = this.slotTransactions.stream().map(var3x -> var3x.fromParent(var1, var2, var3)).filter(Objects::nonNull).collect(Collectors.toList());
      if (var4.isEmpty()) {
         class="kw">return null;
      }

      boolean var5 = false;

      for (ItemStackSlotTransaction var7 : var4) {
         if (var7.succeeded()) {
            var5 = true;
            break;
         }
      }

      class="kw">return new ItemStackTransaction(var5, this.action, this.query, this.remainder, this.allOrNothing, this.filter, var4);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ItemStackTransaction{succeeded="
         + this.succeeded
         + ", action="
         + this.action
         + ", query="
         + this.query
         + ", remainder="
         + this.remainder
         + ", allOrNothing="
         + this.allOrNothing
         + ", filter="
         + this.filter
         + ", slotTransactions="
         + this.slotTransactions
         + "}";
   }
}