-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
LoadedTileEntityList.java
41 lines (34 loc) · 1.05 KB
/
LoadedTileEntityList.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
package me.nallar.tickthreading.minecraft.entitylist;
import java.lang.reflect.Field;
import java.util.Collections;
import java.util.Iterator;
import java.util.concurrent.BrokenBarrierException;
import me.nallar.tickthreading.minecraft.ThreadManager;
import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
public class LoadedTileEntityList<T> extends overrideList<T> {
private final Iterable<T> emptyList = Collections.emptyList();
public LoadedTileEntityList(World world, Field overridenField, ThreadManager manager) {
super(world, overridenField, manager);
}
@Override
public Iterator<T> iterator() {
try {
manager.waitForTileEntityTick();
manager.waitForEntityTick();
manager.endTileEntityTick();
manager.endEntityTick();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
return emptyList.iterator();
}
public boolean add(T t) {
manager.add((TileEntity) t);
return true;
}
public boolean remove(Object o) {
manager.remove((TileEntity) o);
return true;
}
}