blob: cc06eebf1929ff58de351ecb4ea91ca5f6cedc2d (
plain)
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
|
package net.cshift.transit.basic;
import net.cshift.transit.network.system.*;
import net.cshift.transit.network.system.swap.*;
import net.minecraft.block.entity.*;
public abstract class AbstractTwoWayNode extends AbstractAcceptorNode implements IProviderNode {
public AbstractTwoWayNode(BlockEntityType<?> type) {
super(type);
}
@Override
public boolean linkAcceptor(IAcceptorNode requestor, String group) {
if(this.hasGroup(group))
{
for (Connection c : connections) {
if(c.getNode() == requestor)
return false;
}
connections.add(new Connection(requestor, (short) 1));
return true;
}
return false;
}
@Override
public boolean unlinkAcceptor(IAcceptorNode requestor) {
for (Connection c : connections) {
if(c.getNode() == requestor)
{
if(c.isProviding())
c.setAccepting(false);
else
connections.remove(c);
return true;
}
}
return false;
}
}
|