tterrag1098

Untitled

May 15th, 2018
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. package crazypants.enderio.conduits.oc.conduit;
  2.  
  3. import com.enderio.core.common.transform.SimpleMixin;
  4.  
  5. import crazypants.enderio.base.conduit.IConduitBundle;
  6. import crazypants.enderio.conduits.conduit.TileConduitBundle;
  7. import li.cil.oc.api.network.Environment;
  8. import li.cil.oc.api.network.Message;
  9. import li.cil.oc.api.network.Node;
  10. import li.cil.oc.api.network.SidedEnvironment;
  11. import net.minecraft.util.EnumFacing;
  12. import net.minecraftforge.fml.common.Optional.Interface;
  13. import net.minecraftforge.fml.common.Optional.InterfaceList;
  14. import net.minecraftforge.fml.common.Optional.Method;
  15. import net.minecraftforge.fml.relauncher.Side;
  16. import net.minecraftforge.fml.relauncher.SideOnly;
  17.  
  18. @SimpleMixin(TileConduitBundle.class)
  19. @InterfaceList({
  20. @Interface(iface = "li.cil.oc.api.network.Environment", modid = "OpenComputersAPI|Network"),
  21. @Interface(iface = "li.cil.oc.api.network.SidedEnvironment", modid = "OpenComputersAPI|Network") })
  22. public interface OCMixin extends IConduitBundle, Environment, SidedEnvironment {
  23.  
  24. // == Environment == //
  25.  
  26. @Override
  27. @Method(modid = "OpenComputersAPI|Network")
  28. default Node node() {
  29. IOCConduit cond = getConduit(IOCConduit.class);
  30. if (cond != null) {
  31. return cond.node();
  32. } else {
  33. return null;
  34. }
  35. }
  36.  
  37. @Override
  38. @Method(modid = "OpenComputersAPI|Network")
  39. default void onConnect(Node node) {
  40. IOCConduit cond = getConduit(IOCConduit.class);
  41. if (cond != null) {
  42. cond.onConnect(node);
  43. }
  44. }
  45.  
  46. @Override
  47. @Method(modid = "OpenComputersAPI|Network")
  48. default void onDisconnect(Node node) {
  49. IOCConduit cond = getConduit(IOCConduit.class);
  50. if (cond != null) {
  51. cond.onDisconnect(node);
  52. }
  53. }
  54.  
  55. @Override
  56. @Method(modid = "OpenComputersAPI|Network")
  57. default void onMessage(Message message) {
  58. IOCConduit cond = getConduit(IOCConduit.class);
  59. if (cond != null) {
  60. cond.onMessage(message);
  61. }
  62. }
  63.  
  64. // == SidedEnvironment == //
  65.  
  66. @Override
  67. @Method(modid = "OpenComputersAPI|Network")
  68. default Node sidedNode(EnumFacing side) {
  69. IOCConduit cond = getConduit(IOCConduit.class);
  70. if (cond != null) {
  71. return cond.sidedNode(side);
  72. } else {
  73. return null;
  74. }
  75. }
  76.  
  77. @Override
  78. @Method(modid = "OpenComputersAPI|Network")
  79. @SideOnly(Side.CLIENT)
  80. default boolean canConnect(EnumFacing side) {
  81. IOCConduit cond = getConduit(IOCConduit.class);
  82. if (cond != null) {
  83. return cond.canConnect(side);
  84. } else {
  85. return false;
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment