diff --git a/src/main/java/mekanism/common/block/BlockBounding.java b/src/main/java/mekanism/common/block/BlockBounding.java index a26f808c3..08b575d65 100644 --- a/src/main/java/mekanism/common/block/BlockBounding.java +++ b/src/main/java/mekanism/common/block/BlockBounding.java @@ -1,13 +1,7 @@ package mekanism.common.block; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import dan200.computercraft.api.peripheral.IPeripheral; -import dan200.computercraft.api.peripheral.IPeripheralProvider; -import mekanism.common.integration.CCPeripheral; -import mekanism.common.integration.IComputerIntegration; import mekanism.common.tile.TileEntityAdvancedBoundingBlock; import mekanism.common.tile.TileEntityBoundingBlock; import net.minecraft.block.Block; @@ -22,8 +16,7 @@ import net.minecraft.world.World; import java.util.Random; -@Interface(iface = "dan200.computercraft.api.peripheral.IPeripheralProvider", modid = "ComputerCraft") -public class BlockBounding extends Block implements IPeripheralProvider +public class BlockBounding extends Block { public BlockBounding() { @@ -132,18 +125,4 @@ public class BlockBounding extends Block implements IPeripheralProvider return null; } - - @Override - @Method(modid = "ComputerCraft") - public IPeripheral getPeripheral(World world, int x, int y, int z, int side) - { - TileEntity te = world.getTileEntity(x, y, z); - - if(te != null && te instanceof IComputerIntegration) - { - return new CCPeripheral((IComputerIntegration)te); - } - - return null; - } } diff --git a/src/main/java/mekanism/common/block/BlockEnergyCube.java b/src/main/java/mekanism/common/block/BlockEnergyCube.java index bce7f0ff8..eaf62ef2c 100644 --- a/src/main/java/mekanism/common/block/BlockEnergyCube.java +++ b/src/main/java/mekanism/common/block/BlockEnergyCube.java @@ -1,12 +1,8 @@ package mekanism.common.block; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import dan200.computercraft.api.peripheral.IPeripheral; -import dan200.computercraft.api.peripheral.IPeripheralProvider; import mekanism.api.energy.IEnergizedItem; import mekanism.common.ItemAttacher; import mekanism.common.Mekanism; @@ -14,8 +10,6 @@ import mekanism.common.MekanismBlocks; import mekanism.common.Tier.EnergyCubeTier; import mekanism.common.base.IEnergyCube; import mekanism.common.base.ISustainedInventory; -import mekanism.common.integration.CCPeripheral; -import mekanism.common.integration.IComputerIntegration; import mekanism.common.item.ItemBlockEnergyCube; import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityEnergyCube; @@ -50,8 +44,7 @@ import java.util.Random; * @author AidanBrady * */ -@Interface(iface = "dan200.computercraft.api.peripheral.IPeripheralProvider", modid = "ComputerCraft") -public class BlockEnergyCube extends BlockContainer implements IPeripheralProvider +public class BlockEnergyCube extends BlockContainer { public BlockEnergyCube() { @@ -332,18 +325,4 @@ public class BlockEnergyCube extends BlockContainer implements IPeripheralProvid return false; } - - @Override - @Method(modid = "ComputerCraft") - public IPeripheral getPeripheral(World world, int x, int y, int z, int side) - { - TileEntity te = world.getTileEntity(x, y, z); - - if(te != null && te instanceof IComputerIntegration) - { - return new CCPeripheral((IComputerIntegration)te); - } - - return null; - } } diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index 91958730d..3f9bb2d41 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -1,12 +1,8 @@ package mekanism.common.block; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import dan200.computercraft.api.peripheral.IPeripheral; -import dan200.computercraft.api.peripheral.IPeripheralProvider; import mekanism.api.Coord4D; import mekanism.api.EnumColor; import mekanism.api.MekanismConfig.client; @@ -25,8 +21,6 @@ import mekanism.common.MekanismBlocks; import mekanism.common.Tier.BaseTier; import mekanism.common.base.*; import mekanism.common.base.IFactory.RecipeType; -import mekanism.common.integration.CCPeripheral; -import mekanism.common.integration.IComputerIntegration; import mekanism.common.item.ItemBlockMachine; import mekanism.common.network.PacketElectricChest.ElectricChestMessage; import mekanism.common.network.PacketElectricChest.ElectricChestPacketType; @@ -104,8 +98,7 @@ import java.util.*; * @author AidanBrady * */ -@Interface(iface = "dan200.computercraft.api.peripheral.IPeripheralProvider", modid = "ComputerCraft") -public class BlockMachine extends BlockContainer implements ISpecialBounds, IPeripheralProvider, IBlockCTM, ICustomBlockIcon +public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlockCTM, ICustomBlockIcon { public IIcon[][] icons = new IIcon[16][16]; public IIcon[][][] factoryIcons = new IIcon[4][16][16]; @@ -1298,20 +1291,6 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer return false; } - @Override - @Method(modid = "ComputerCraft") - public IPeripheral getPeripheral(World world, int x, int y, int z, int side) - { - TileEntity te = world.getTileEntity(x, y, z); - - if(te != null && te instanceof IComputerIntegration) - { - return new CCPeripheral((IComputerIntegration)te); - } - - return null; - } - @Override public ForgeDirection[] getValidRotations(World world, int x, int y, int z) { diff --git a/src/main/java/mekanism/common/integration/CCPeripheral.java b/src/main/java/mekanism/common/integration/CCPeripheral.java index 69b4e8de1..bfd0ed303 100644 --- a/src/main/java/mekanism/common/integration/CCPeripheral.java +++ b/src/main/java/mekanism/common/integration/CCPeripheral.java @@ -5,10 +5,14 @@ import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; +import dan200.computercraft.api.peripheral.IPeripheralProvider; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; /** * Created by aidancbrady on 7/20/15. */ +@Optional.Interface(iface = "dan200.computercraft.api.peripheral.IPeripheral", modid = "ComputerCraft") public class CCPeripheral implements IPeripheral { public IComputerIntegration computerTile; @@ -60,4 +64,20 @@ public class CCPeripheral implements IPeripheral { return this == other; } + + public static class CCPeripheralProvider implements IPeripheralProvider + { + @Override + public IPeripheral getPeripheral(World world, int x, int y, int z, int side) + { + TileEntity te = world.getTileEntity(x, y, z); + + if(te != null && te instanceof IComputerIntegration) + { + return new CCPeripheral((IComputerIntegration)te); + } + + return null; + } + } } diff --git a/src/main/java/mekanism/common/integration/MekanismHooks.java b/src/main/java/mekanism/common/integration/MekanismHooks.java index 9a75a7485..03f34659c 100644 --- a/src/main/java/mekanism/common/integration/MekanismHooks.java +++ b/src/main/java/mekanism/common/integration/MekanismHooks.java @@ -8,10 +8,8 @@ import ic2.api.recipe.*; import li.cil.oc.api.Driver; import mekanism.api.transmitters.TransmissionType; import mekanism.common.Mekanism; -import mekanism.common.MekanismBlocks; import mekanism.common.MekanismItems; import mekanism.common.Resource; -import mekanism.common.block.BlockMachine; import mekanism.common.multipart.TransmitterType; import mekanism.common.recipe.RecipeHandler; import mekanism.common.util.MekanismUtils; @@ -127,7 +125,7 @@ public final class MekanismHooks public void loadCCPeripheralProviders() { try { - ComputerCraftAPI.registerPeripheralProvider((BlockMachine)MekanismBlocks.MachineBlock); + ComputerCraftAPI.registerPeripheralProvider(new CCPeripheral.CCPeripheralProvider()); } catch(Exception e) {} } diff --git a/src/main/java/mekanism/generators/common/block/BlockGenerator.java b/src/main/java/mekanism/generators/common/block/BlockGenerator.java index d0495c3ab..ccaccedcf 100644 --- a/src/main/java/mekanism/generators/common/block/BlockGenerator.java +++ b/src/main/java/mekanism/generators/common/block/BlockGenerator.java @@ -1,19 +1,13 @@ package mekanism.generators.common.block; import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import dan200.computercraft.api.peripheral.IPeripheral; -import dan200.computercraft.api.peripheral.IPeripheralProvider; import mekanism.api.MekanismConfig.general; import mekanism.api.energy.IEnergizedItem; import mekanism.common.ItemAttacher; import mekanism.common.Mekanism; import mekanism.common.base.*; -import mekanism.common.integration.CCPeripheral; -import mekanism.common.integration.IComputerIntegration; import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityElectricBlock; import mekanism.common.util.LangUtils; @@ -53,8 +47,7 @@ import java.util.Random; * @author AidanBrady * */ -@Interface(iface = "dan200.computercraft.api.peripheral.IPeripheralProvider", modid = "ComputerCraft") -public class BlockGenerator extends BlockContainer implements ISpecialBounds, IPeripheralProvider +public class BlockGenerator extends BlockContainer implements ISpecialBounds { public Random machineRand = new Random(); @@ -638,18 +631,4 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IP return false; } - - @Override - @Method(modid = "ComputerCraft") - public IPeripheral getPeripheral(World world, int x, int y, int z, int side) - { - TileEntity te = world.getTileEntity(x, y, z); - - if(te != null && te instanceof IComputerIntegration) - { - return new CCPeripheral((IComputerIntegration)te); - } - - return null; - } } diff --git a/src/main/java/mekanism/generators/common/block/BlockReactor.java b/src/main/java/mekanism/generators/common/block/BlockReactor.java index 6c9306c73..1c6434fc3 100644 --- a/src/main/java/mekanism/generators/common/block/BlockReactor.java +++ b/src/main/java/mekanism/generators/common/block/BlockReactor.java @@ -1,28 +1,20 @@ package mekanism.generators.common.block; -import java.util.Arrays; -import java.util.List; -import java.util.Random; - +import buildcraft.api.tools.IToolWrench; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.Coord4D; import mekanism.common.CTMData; import mekanism.common.ItemAttacher; import mekanism.common.Mekanism; import mekanism.common.base.IBlockCTM; -import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityElectricBlock; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; import mekanism.generators.common.GeneratorsBlocks; import mekanism.generators.common.MekanismGenerators; -import mekanism.generators.common.tile.reactor.TileEntityReactorController; -import mekanism.generators.common.tile.reactor.TileEntityReactorFrame; -import mekanism.generators.common.tile.reactor.TileEntityReactorGlass; -import mekanism.generators.common.tile.reactor.TileEntityReactorLaserFocusMatrix; -import mekanism.generators.common.tile.reactor.TileEntityReactorLogicAdapter; -import mekanism.generators.common.tile.reactor.TileEntityReactorNeutronCapture; -import mekanism.generators.common.tile.reactor.TileEntityReactorPort; +import mekanism.generators.common.tile.reactor.*; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -37,9 +29,9 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import buildcraft.api.tools.IToolWrench; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Arrays; +import java.util.List; public class BlockReactor extends BlockContainer implements IBlockCTM {