MoveTransaction class

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

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

implements: Transaction

Поля (7)

МодификаторыТипИмя
final boolean succeeded
MoveType var4
MoveType var4
SlotTransaction var5
yield var5
Transaction var6
yield var6

Методы (3)

МодификаторыВозвратСигнатура
public T getAddTransactionT getAddTransaction()
return switchreturn switch(var4)
return switchreturn switch(var4)

Исходный код

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

class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class MoveTransaction<T class="kw">extends Transaction> class="kw">implements Transaction {
   class="kw">private class="kw">final boolean succeeded;
   @Nonnull
   class="kw">private class="kw">final SlotTransaction removeTransaction;
   @Nonnull
   class="kw">private class="kw">final MoveType moveType;
   @Nonnull
   class="kw">private class="kw">final ItemContainer otherContainer;
   class="kw">private class="kw">final T addTransaction;

   class="kw">public MoveTransaction(boolean var1, @Nonnull SlotTransaction var2, @Nonnull MoveType var3, @Nonnull ItemContainer var4, T var5) {
      this.succeeded = var1;
      this.removeTransaction = var2;
      this.moveType = var3;
      this.otherContainer = var4;
      this.addTransaction = var5;
   }

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

   @Nonnull
   class="kw">public SlotTransaction getRemoveTransaction() {
      class="kw">return this.removeTransaction;
   }

   @Nonnull
   class="kw">public MoveType getMoveType() {
      class="kw">return this.moveType;
   }

   @Nonnull
   class="kw">public ItemContainer getOtherContainer() {
      class="kw">return this.otherContainer;
   }

   class="kw">public T getAddTransaction() {
      class="kw">return this.addTransaction;
   }

   @Nonnull
   class="kw">public MoveTransaction<T> toInverted(@Nonnull ItemContainer var1) {
      class="kw">return new MoveTransaction<>(this.succeeded(), this.removeTransaction, MoveType.MOVE_TO_SELF, var1, this.addTransaction);
   }

   @Override
   class="kw">public boolean wasSlotModified(short var1) {
      class="kw">return !this.succeeded
         ? false
         : this.addTransaction.succeeded() && this.addTransaction.wasSlotModified(var1)
            || this.removeTransaction.succeeded() && this.removeTransaction.wasSlotModified(var1);
   }

   @Nonnull
   class="kw">public MoveTransaction<T> toParent(ItemContainer var1, short var2, ItemContainer var3) {
      MoveType var4 = this.getMoveType();

      class="kw">return class="kw">switch (var4) {
         case MOVE_TO_SELF -> new MoveTransaction(
            this.succeeded(), this.removeTransaction, var4, this.getOtherContainer(), (T)this.addTransaction.toParent(var1, var2, var3)
         );
         case MOVE_FROM_SELF -> new MoveTransaction(
            this.succeeded(), this.removeTransaction.toParent(var1, var2, var3), var4, this.getOtherContainer(), this.addTransaction
         );
      };
   }

   @Nullable
   class="kw">public MoveTransaction<T> fromParent(ItemContainer var1, short var2, @Nonnull ItemContainer var3) {
      MoveType var4 = this.getMoveType();

      class="kw">return class="kw">switch (var4) {
         case MOVE_TO_SELF -> {
            Transaction var6 = (T)this.addTransaction.fromParent(var1, var2, var3);
            yield var6 == null ? null : new MoveTransaction(this.succeeded(), this.getRemoveTransaction(), this.getMoveType(), this.getOtherContainer(), var6);
         }
         case MOVE_FROM_SELF -> {
            SlotTransaction var5 = this.getRemoveTransaction().fromParent(var1, var2, var3);
            yield var5 == null ? null : new MoveTransaction(this.succeeded(), var5, this.getMoveType(), this.getOtherContainer(), this.addTransaction);
         }
      };
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "MoveTransaction{succeeded="
         + this.succeeded
         + ", removeTransaction="
         + this.removeTransaction
         + ", moveType="
         + this.moveType
         + ", otherContainer="
         + this.otherContainer
         + ", addTransaction="
         + this.addTransaction
         + "}";
   }
}