ClearTransaction class

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

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

implements: Transaction

Поля (6)

МодификаторыТипИмя
final ClearTransaction EMPTY
var1
short var4
short var4
short var5
int var6

Методы (2)

МодификаторыВозвратСигнатура
if if(!this.succeeded)
if if(var4 < 0)

Исходный код

Показать/скрыть
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.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ClearTransaction class="kw">implements Transaction {
   class="kw">public class="kw">static class="kw">final ClearTransaction EMPTY = new ClearTransaction(true, (short)0, ItemStack.EMPTY_ARRAY);
   class="kw">private class="kw">final boolean succeeded;
   class="kw">private class="kw">final short start;
   @Nonnull
   class="kw">private class="kw">final ItemStack[] items;

   class="kw">public ClearTransaction(boolean var1, short var2, @Nonnull ItemStack[] var3) {
      this.succeeded = var1;
      this.start = var2;
      this.items = var3;
   }

   @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;
      }

      var1 = (short)(var1 - this.start);
      class="kw">return var1 >= 0 && var1 < this.items.length && this.items[var1] != null && !this.items[var1].isEmpty();
   }

   @Nonnull
   class="kw">public ItemStack[] getItems() {
      class="kw">return this.items;
   }

   @Nonnull
   class="kw">public ClearTransaction toParent(ItemContainer var1, short var2, ItemContainer var3) {
      short var4 = (short)(var2 + this.start);
      class="kw">return new ClearTransaction(this.succeeded, var4, this.items);
   }

   @Nullable
   class="kw">public ClearTransaction fromParent(ItemContainer var1, short var2, @Nonnull ItemContainer var3) {
      short var4 = (short)(this.start - var2);
      short var5 = var3.getCapacity();
      if (var4 < 0) {
         int var6 = -var4;
         class="kw">return this.items.length + var4 > var5
            ? new ClearTransaction(this.succeeded, (short)0, Arrays.copyOfRange(this.items, var6, var6 + var5))
            : new ClearTransaction(this.succeeded, (short)0, Arrays.copyOfRange(this.items, var6, this.items.length));
      } else {
         class="kw">return this.items.length > var5
            ? new ClearTransaction(this.succeeded, var4, Arrays.copyOf(this.items, var5))
            : new ClearTransaction(this.succeeded, var4, this.items);
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ClearTransaction{items=" + Arrays.toString(this.items) + "}";
   }
}