From f761f84c2008ac824e3691dc2d533428915e327f Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Fri, 10 Feb 2023 17:40:18 +0100 Subject: [PATCH] fix: CC api --- build.gradle | 3 ++- .../java/mffs/MFFSPeripheralProvider.java | 19 +++++++++++++++++++ .../java/mffs/ModularForceFieldSystem.java | 3 +++ src/main/java/mffs/base/TileEntityBase.java | 1 - 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/main/java/mffs/MFFSPeripheralProvider.java diff --git a/build.gradle b/build.gradle index 779ea94..6d3e9df 100644 --- a/build.gradle +++ b/build.gradle @@ -61,6 +61,7 @@ dependencies { implementation "universalelectricity:basiccomponents:2.0.0:deobf" implementation "universalelectricity:universalelectricity:5.1.0:deobf" implementation 'net.industrial-craft:industrialcraft-2:2.2.827-experimental:dev' + implementation 'dan200:ComputerCraft:1.75:deobf' } processResources { @@ -111,4 +112,4 @@ publishing { mavenLocal() } } -} \ No newline at end of file +} diff --git a/src/main/java/mffs/MFFSPeripheralProvider.java b/src/main/java/mffs/MFFSPeripheralProvider.java new file mode 100644 index 0000000..6b25767 --- /dev/null +++ b/src/main/java/mffs/MFFSPeripheralProvider.java @@ -0,0 +1,19 @@ +package mffs; + +import dan200.computercraft.api.peripheral.IPeripheral; +import dan200.computercraft.api.peripheral.IPeripheralProvider; +import mffs.base.TileEntityBase; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MFFSPeripheralProvider 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 instanceof TileEntityBase)) + return null; + + return (IPeripheral)te; + } +} diff --git a/src/main/java/mffs/ModularForceFieldSystem.java b/src/main/java/mffs/ModularForceFieldSystem.java index 28612db..63ccd8e 100644 --- a/src/main/java/mffs/ModularForceFieldSystem.java +++ b/src/main/java/mffs/ModularForceFieldSystem.java @@ -17,6 +17,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; +import dan200.computercraft.api.ComputerCraftAPI; import mffs.base.BlockBase; import mffs.base.BlockMachine; import mffs.base.ItemBase; @@ -342,6 +343,8 @@ public class ModularForceFieldSystem { = Arrays.asList("Calclavia", "LordMZTE", "tilera"); ModularForceFieldSystem.metadata.credits = "Please visit the website."; ModularForceFieldSystem.metadata.autogenerated = false; + + ComputerCraftAPI.registerPeripheralProvider(new MFFSPeripheralProvider()); } @EventHandler diff --git a/src/main/java/mffs/base/TileEntityBase.java b/src/main/java/mffs/base/TileEntityBase.java index 628f40a..bbf52ab 100644 --- a/src/main/java/mffs/base/TileEntityBase.java +++ b/src/main/java/mffs/base/TileEntityBase.java @@ -15,7 +15,6 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.implement.IRedstoneReceptor; import universalelectricity.prefab.implement.IRotatable; import universalelectricity.prefab.tile.TileEntityDisableable;