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) + "}";
}
}