Cleaned up computer integration
This commit is contained in:
parent
c2006d5e70
commit
21fa9fdb26
7 changed files with 32 additions and 106 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue