|
1 |
| -package co.neeve.nae2.mixin.ifacep2p.shared; |
| 1 | +package co.neeve.nae2.mixin.core; |
2 | 2 |
|
| 3 | +import appeng.api.config.TunnelType; |
3 | 4 | import appeng.api.implementations.items.IMemoryCard;
|
4 |
| -import appeng.core.Api; |
5 | 5 | import appeng.parts.p2p.PartP2PTunnel;
|
6 | 6 | import co.neeve.nae2.NAE2;
|
7 | 7 | import com.llamalad7.mixinextras.sugar.Local;
|
|
11 | 11 | import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
12 | 12 |
|
13 | 13 | @Mixin(PartP2PTunnel.class)
|
14 |
| -public class MixinPartP2PTunnel { |
| 14 | +public class MixinTunnelConversion { |
15 | 15 | @ModifyVariable(method = "onPartActivate", at = @At(value = "LOAD"), name = "newType", remap = false)
|
16 | 16 | public ItemStack injectP2PTypes(ItemStack newType, @Local(ordinal = 0) ItemStack hand) {
|
17 | 17 | var item = hand.getItem();
|
18 | 18 |
|
19 | 19 | if (!(item instanceof IMemoryCard)) {
|
20 |
| - var definitions = Api.INSTANCE.definitions(); |
| 20 | + var conversion = NAE2.api().tunnelConversion().getConversion(hand); |
| 21 | + if (!conversion.isEmpty()) { |
| 22 | + return conversion; |
| 23 | + } |
| 24 | + } |
| 25 | + |
| 26 | + return newType; |
| 27 | + } |
| 28 | + |
| 29 | + @ModifyVariable(method = "onPartActivate", at = @At(value = "LOAD"), name = "tt", remap = false) |
| 30 | + public TunnelType maskTunnelType(TunnelType newType, @Local(ordinal = 0) ItemStack hand) { |
| 31 | + var item = hand.getItem(); |
21 | 32 |
|
22 |
| - var iface = definitions.blocks().iface().maybeStack(1); |
23 |
| - var ifacePart = definitions.parts().iface().maybeStack(1); |
24 |
| - if ((iface.isPresent() && hand.isItemEqual(iface.get())) |
25 |
| - || (ifacePart.isPresent() && hand.isItemEqual(ifacePart.get()))) { |
26 |
| - return NAE2.definitions().parts().p2pTunnelInterface().maybeStack(1).orElse(ItemStack.EMPTY); |
| 33 | + if (!(item instanceof IMemoryCard)) { |
| 34 | + var conversion = NAE2.api().tunnelConversion().getConversion(hand); |
| 35 | + if (!conversion.isEmpty()) { |
| 36 | + // Return whatever. |
| 37 | + return TunnelType.ME; |
27 | 38 | }
|
28 | 39 | }
|
29 | 40 |
|
|
0 commit comments