fix: CC API
continuous-integration/drone/push Build is failing Details

This commit is contained in:
LordMZTE 2023-02-10 17:49:07 +01:00
parent 7059e622f2
commit 85d963a0e8
Signed by: LordMZTE
GPG Key ID: B64802DC33A64FF6
5 changed files with 37 additions and 3 deletions

View File

@ -0,0 +1,18 @@
package icbm.core;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.api.peripheral.IPeripheralProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class ICBMPeripheralProvider 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 IICBMPeripheral))
return null;
return (IPeripheral) te;
}
}

View File

@ -0,0 +1,8 @@
package icbm.core;
import dan200.computercraft.api.peripheral.IPeripheral;
/**
* Wrapper around IPeripheral to detect the mod.
*/
public interface IICBMPeripheral extends IPeripheral {}

View File

@ -10,11 +10,13 @@ import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import dan200.computercraft.api.ComputerCraftAPI;
import icbm.core.di.ItICBM;
import net.minecraft.block.Block;
import net.minecraft.command.ICommand;
@ -113,6 +115,11 @@ public class MainBase {
}
}
@Mod.EventHandler
public void init(FMLInitializationEvent ev) {
ComputerCraftAPI.registerPeripheralProvider(new ICBMPeripheralProvider());
}
@Mod.EventHandler
public void postInit(final FMLPostInitializationEvent event) {
if (!MainBase.isPostInit) {

View File

@ -4,15 +4,15 @@ import calclavia.lib.TileEntityUniversalStorable;
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 icbm.api.ILauncherController;
import icbm.api.LauncherType;
import icbm.core.IICBMPeripheral;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import universalelectricity.core.vector.Vector3;
public abstract class TLauncherController
extends TileEntityUniversalStorable implements ILauncherController, IPeripheral {
extends TileEntityUniversalStorable implements ILauncherController, IICBMPeripheral {
protected Vector3 target;
protected int frequency;

View File

@ -11,6 +11,7 @@ import dan200.computercraft.api.peripheral.IComputerAccess;
import dan200.computercraft.api.peripheral.IPeripheral;
import icbm.api.IItemFrequency;
import icbm.api.RadarRegistry;
import icbm.core.IICBMPeripheral;
import icbm.core.MainBase;
import icbm.zhapin.ICBMExplosion;
import icbm.zhapin.daodan.EMissile;
@ -36,7 +37,7 @@ import universalelectricity.prefab.implement.IRedstoneProvider;
import universalelectricity.prefab.multiblock.IMultiBlock;
public class TRadarTower extends TileEntityUniversalRunnable
implements IRedstoneProvider, IMultiBlock, IPeripheral {
implements IRedstoneProvider, IMultiBlock, IICBMPeripheral {
public static final int MAX_BIAN_JING = 500;
public float rotation;
public int alarmRadius;