fix: CC API

This commit is contained in:
LordMZTE 2023-02-10 17:55:50 +01:00
parent a267d10ac2
commit 9f38a7ee5e
Signed by: LordMZTE
GPG Key ID: B64802DC33A64FF6
4 changed files with 31 additions and 5 deletions

View File

@ -0,0 +1,17 @@
package assemblyline.common;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.api.peripheral.IPeripheralProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class AsseblyLinePeripheralProvider 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 IAssemblyLinePeripheral))
return null;
return (IPeripheral) te;
}
}

View File

@ -1,11 +1,8 @@
package assemblyline.common;
import java.io.File;
import java.util.Arrays;
import java.util.logging.Logger;
import assemblyline.common.CommonProxy;
import assemblyline.common.TabAssemblyLine;
import assemblyline.common.block.BlockCrate;
import assemblyline.common.block.BlockTurntable;
import assemblyline.common.block.ItemBlockCrate;
@ -24,7 +21,6 @@ import assemblyline.common.machine.imprinter.ItemImprinter;
import assemblyline.common.network.MessageEncoder;
import assemblyline.common.network.MessageEncoderHandler;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
@ -37,6 +33,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 net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@ -151,6 +148,8 @@ public class AssemblyLine {
);
this.createStandardRecipes();
this.createUERecipes();
ComputerCraftAPI.registerPeripheralProvider(new AsseblyLinePeripheralProvider());
}
private void createUERecipes() {

View File

@ -0,0 +1,8 @@
package assemblyline.common;
import dan200.computercraft.api.peripheral.IPeripheral;
/**
* Wrapper around IPeripheral
*/
public interface IAssemblyLinePeripheral extends IPeripheral {}

View File

@ -6,6 +6,7 @@ import java.util.List;
import assemblyline.api.IArmbot;
import assemblyline.common.AssemblyLine;
import assemblyline.common.IAssemblyLinePeripheral;
import assemblyline.common.machine.TileEntityAssemblyNetwork;
import assemblyline.common.machine.command.Command;
import assemblyline.common.machine.command.CommandDrop;
@ -48,7 +49,8 @@ import universalelectricity.prefab.TranslationHelper;
import universalelectricity.prefab.multiblock.IMultiBlock;
public class TileEntityArmbot extends TileEntityAssemblyNetwork
implements IMultiBlock, IInventory, IElectricityStorage, IArmbot, IPeripheral {
implements IMultiBlock, IInventory, IElectricityStorage, IArmbot,
IAssemblyLinePeripheral {
private final CommandManager commandManager = new CommandManager();
private static final int PACKET_COMMANDS = 128;
protected ItemStack disk = null;