-
Notifications
You must be signed in to change notification settings - Fork 497
/
StackRequest.java
executable file
·48 lines (38 loc) · 1.31 KB
/
StackRequest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.commander;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import buildcraft.api.core.WorldBlockIndex;
public class StackRequest {
public static final int NULL_LIFETIME = 20 * 60;
public WorldBlockIndex holder;
public int indexInHolder;
public ItemStack stack;
public long requestDate;
public long loadDate;
public boolean fulfilled;
/**
* when loading from NBT, this field may be null. The requested is supposed
* to notify the requester upon loading. If fail to do so for more than
* NULL_LIFETIME cycles, then the request is forgotten
*/
public Entity requester;
public void saveToNBT(NBTTagCompound nbt) {
NBTTagCompound index = new NBTTagCompound();
holder.writeTo(index);
nbt.setTag("index", index);
nbt.setInteger("indexInHolder", indexInHolder);
}
public void loadFromNBT(NBTTagCompound nbt) {
holder = new WorldBlockIndex(nbt.getCompoundTag("index"));
indexInHolder = nbt.getInteger("indexInHolder");
}
}